home *** CD-ROM | disk | FTP | other *** search
Text File | 1993-12-15 | 1013.5 KB | 20,527 lines |
- Éπ¬«ó«ñßΓó« »« ∩ºδ¬π
- ═════════════════════════════════════════════════════════════════════════
-
- B.Pascal 7 & Objects/LR - 1 -
-
- éóÑñÑ¡¿Ñ.......................................................10
- Ä τѼ αáß߬áºδóáÑΓß∩ ó ñá¡¡«¼ απ¬«ó«ñßΓóÑ......................11
- ùáßΓ∞ I. ƒºδ¬ Borland Pascal...................................12
- â½áóá 1. ùΓ« Γá¬«Ñ »α«úαá¼¼á Borland Pascal?...................12
- Åα«úαá¼¼á Borland Pascal.......................................13
- Åα«µÑñπαδ ¿ Σπ¡¬µ¿¿............................................13
- Ä»ÑαáΓ«αδ......................................................15
- éδαáªÑ¡¿∩......................................................16
- ïѬßѼδ........................................................17
- Æ¿»δ, »ÑαѼѡ¡δÑ, ¬«¡ßΓá¡Γδ ¿ Γ¿»¿º¿α«óá¡¡δÑ ¬«¡ßΓá¡Γδ.........17
- 諼»«¡«ó¬á τáßΓÑ⌐..............................................19
- î«ñπ½¿.........................................................20
- æ¿¡Γá¬ß¿τÑ߬¿Ñ ñ¿áúαá¼¼δ.......................................21
- â½áóá 2. ïѬßѼδ...............................................22
- æ»Ñµ¿á½∞¡δÑ ß¿¼ó«½δ............................................22
- çáαѺÑαó¿α«óá¡¡δÑ ß½«óá ¿ ßΓá¡ñáαΓ¡δÑ ñ¿αÑ¬Γ¿óδ Borland
- Pascal........................................................24
- êñÑ¡Γ¿Σ¿¬áΓ«αδ.................................................25
- ù¿ß½á..........................................................27
- îÑΓ¬¿..........................................................29
- æΓ᫬¿ ß¿¼ó«½«ó................................................29
- 諼¼Ñ¡Γáα¿¿....................................................31
- æΓ᫬¿ »α«úαá¼¼δ...............................................31
- â½áóá 3. è«¡ßΓá¡Γδ.............................................32
- â½áóá 4. Æ¿»δ..................................................34
- Åα«ßΓδÑ Γ¿»δ...................................................35
- Å«α∩ñ¬«óδÑ Γ¿»δ................................................35
- ûѽ«τ¿ß½Ñ¡¡δÑ Γ¿»δ.............................................37
- üπ½Ñó߬¿Ñ Γ¿»δ.................................................39
- 濼ó«½∞¡δ⌐ Γ¿» (char)..........................................40
- ÅÑαÑτ¿ß½¿¼δÑ Γ¿»δ..............................................40
- ÄΓαѺ¬¿ Γ¿»á...................................................41
- éÑΘÑßΓóÑ¡¡δÑ Γ¿»δ..............................................42
- Åα«úαá¼¼¡á∩ »«ññÑ᪬á τ¿ßѽ ß »½áóáεΘÑ⌐ Γ«τ¬«⌐.................43
- Ç»»áαáΓ¡á∩ »«ññÑ᪬á τ¿ßѽ ß »½áóáεΘÑ⌐ Γ«τ¬«⌐..................43
- æΓ᫬«óδÑ Γ¿»δ.................................................44
- æΓαπ¬Γπα¡δÑ Γ¿»δ...............................................45
- Æ¿»δ ¼áßß¿ó....................................................46
- Æ¿»δ ºá»¿ß∞....................................................48
- ÄíΩÑ¬Γ¡δÑ Γ¿»δ.................................................50
- 諼»«¡Ñ¡Γδ ¿ «í½áßΓ∞ ñÑ⌐ßΓó¿∩..................................54
- îÑΓ«ñδ.........................................................54
- é¿αΓπá½∞¡δÑ ¼ÑΓ«ñδ.............................................54
- 信ἿτÑ߬¿Ñ ¼ÑΓ«ñδ............................................56
- 櫺ñá¡¿Ñ φ¬ºÑ¼»½∩α«ó «íΩÑ¬Γ«ó..................................57
- Ç¬Γ¿ó¿ºáµ¿∩ ¼ÑΓ«ñ«ó............................................59
- Ç¬Γ¿ó¿ºáµ¿∩ πΓ«τ¡Ñ¡¡δσ ¼ÑΓ«ñ«ó.................................60
- î¡«ªÑßΓóÑ¡¡δÑ Γ¿»δ.............................................61
- öá⌐½«óδÑ Γ¿»δ..................................................62
- æß佫τ¡δÑ Γ¿»δ.................................................63
- Æ¿» Pointer....................................................64
- Æ¿» PChar......................................................64
- Åα«µÑñπα¡δÑ Γ¿»δ...............................................65
-
- B.Pascal 7 & Objects/LR - 2 -
-
- Åα«µÑñπα¡δÑ º¡áτÑ¡¿∩...........................................65
- æ«ó¼ÑßΓ¿¼«ßΓ∞ Γ¿»«ó............................................67
- Æ«ªñÑßΓóÑ¡¡δÑ ¿ ß«ó¼ÑßΓ¿¼δÑ Γ¿»δ...............................67
- Æ«ªñÑßΓóÑ¡¡«ßΓ∞ Γ¿»«ó..........................................67
- æ«ó¼ÑßΓ¿¼«ßΓ∞ Γ¿»«ó............................................68
- æ«ó¼ÑßΓ¿¼«ßΓ∞ »« »α¿ßóá¿óá¡¿ε..................................69
- Éáºñѽ «»¿ßá¡¿∩ Γ¿»«ó..........................................70
- â½áóá 5. ÅÑαѼѡ¡δÑ ¿ Γ¿»¿º¿α«óá¡¡δÑ ¬«¡ßΓá¡Γδ.................72
- Ä»¿ßá¡¿∩ »ÑαѼѡ¡δσ............................................72
- æÑú¼Ñ¡Γ ñá¡¡δσ.................................................73
- æÑú¼Ñ¡Γ ßΓѬá..................................................73
- Çíß«½εΓ¡δÑ »ÑαѼѡ¡δÑ..........................................74
- æß佬¿ ¡á »ÑαѼѡ¡δÑ...........................................76
- èóá½¿Σ¿¬áΓ«αδ..................................................77
- îáßß¿óδ, ßΓ᫬¿ ¿ ¿¡ñѬßδ......................................78
- çỿ߿ ¿ ñÑß¿ú¡áΓ«αδ »«½Ñ⌐.....................................79
- äÑß¿ú¡áΓ«αδ ¬«¼»«¡Ñ¡Γ«ó «íΩѬΓá................................79
- ÅÑαѼѡ¡δÑ-π¬áºáΓѽ¿ ¿ ñ¿¡á¼¿τÑ߬¿Ñ »ÑαѼѡ¡δÑ.................79
- Åα¿óÑñÑ¡¿Ñ Γ¿»«ó »ÑαѼѡ¡δσ....................................81
- Æ¿»¿º¿α«óá¡¡δÑ ¬«¡ßΓá¡Γδ.......................................83
- è«¡ßΓá¡Γδ »α«ßΓ«ú« Γ¿»á........................................84
- è«¡ßΓá¡Γδ ßΓ᫬«ó«ú« Γ¿»á......................................84
- è«¡ßΓá¡Γδ ßΓαπ¬Γπα¡«ú« Γ¿»á....................................85
- è«¡ßΓá¡Γδ Γ¿»á ¼áßß¿ó..........................................86
- è«¡ßΓá¡Γδ Γ¿»á ºá»¿ß∞..........................................88
- è«¡ßΓá¡Γδ «íΩÑ¬Γ¡«ú« Γ¿»á......................................89
- è«¡ßΓá¡Γδ ¼¡«ªÑßΓóÑ¡¡«ú« Γ¿»á..................................90
- è«¡ßΓá¡Γδ ßß佫τ¡«ú« Γ¿»á......................................91
- è«¡ßΓá¡Γδ »α«µÑñπα¡«ú« Γ¿»á....................................92
- â½áóá 6. éδαáªÑ¡¿∩.............................................93
- æ¿¡Γá¬ß¿ß óδαáªÑ¡¿⌐............................................94
- Ä»Ñαᵿ¿.......................................................99
- Çα¿Σ¼ÑΓ¿τÑ߬¿Ñ «»Ñαᵿ¿........................................99
- ô¡áα¡δÑ áα¿Σ¼ÑΓ¿τÑ߬¿Ñ «»Ñαᵿ¿...............................100
- ï«ú¿τÑ߬¿Ñ «»Ñαᵿ¿...........................................101
- üπ½Ñó߬¿Ñ «»Ñαᵿ¿............................................101
- Ä»Ñαᵿ∩ ß« ßΓα«¬á¼¿..........................................103
- Ä»Ñαᵿ¿ ¡áñ ß¿¼ó«½∞¡δ¼¿ π¬áºáΓѽ∩¼¿..........................104
- Ä»Ñαᵿ¿ ¡áñ ¼¡«ªÑßΓóἿ......................................105
- Ä»Ñαᵿ¿ «Γ¡«ΦÑ¡¿∩............................................106
- æαáó¡Ñ¡¿Ñ »α«ßΓδσ Γ¿»«ó.......................................107
- æαáó¡Ñ¡¿Ñ ßΓ᫬...............................................107
- æαáó¡Ñ¡¿Ñ π»á¬«óá¡¡δσ ßΓ᫬...................................107
- æαáó¡Ñ¡¿Ñ π¬áºáΓѽÑ⌐..........................................107
- æαáó¡Ñ¡¿Ñ ß¿¼ó«½∞¡δσ π¬áºáΓѽÑ⌐...............................108
- æαáó¡Ñ¡¿Ñ ¼¡«ªÑßΓó............................................108
- Åα«óÑα¬á ¡á »α¿¡áñ½Ñª¡«ßΓ∞ ¬ ¼¡«ªÑßΓóπ........................108
- Ä»Ñαᵿ∩ @....................................................109
- êß»«½∞º«óá¡¿Ñ «»Ñαᵿ¿ @ ñ½∩ »ÑαѼѡ¡«⌐.......................110
- êß»«½∞º«óá¡¿Ñ «»Ñαᵿ¿ @ ñ½∩ »α«µÑñπαδ ¿½¿ Σπ¡¬µ¿¿ ¿½¿
- ¼ÑΓ«ñá.......................................................111
- é맮óδ Σπ¡¬µ¿¿................................................111
- Ä»¿ßáΓѽ¿ ¼¡«ªÑßΓóá...........................................113
-
- B.Pascal 7 & Objects/LR - 3 -
-
- Åα¿óÑñÑ¡¿Ñ Γ¿»á º¡áτÑ¡¿⌐......................................114
- Åα«µÑñπα¡δÑ Γ¿»δ ó óδαáªÑ¡¿∩σ.................................115
- â½áóá 7. Ä»ÑαáΓ«αδ............................................117
- Åα«ßΓδÑ «»ÑαáΓ«αδ.............................................117
- Ä»ÑαáΓ«α »α¿ßóá¿óá¡¿∩.........................................118
- Ä»ÑαáΓ«αδ »α«µÑñπαδ...........................................119
- Ä»ÑαáΓ«αδ »ÑαÑσ«ñá............................................120
- æΓαπ¬Γπα¡δÑ «»ÑαáΓ«αδ.........................................120
- æ«ßΓáó¡δÑ «»ÑαáΓ«αδ...........................................121
- ôß½«ó¡δÑ «»ÑαáΓ«αδ............................................121
- Ä»ÑαáΓ«α πß½«ó¿∩ (if).........................................122
- Ä»ÑαáΓ«α óáα¿á¡Γá (case)......................................123
- Ä»ÑαáΓ«α µ¿¬½á................................................125
- Ä»ÑαáΓ«α µ¿¬½á ß »«ßΓπß½«ó¿Ñ¼ (repeat)........................125
- Ä»ÑαáΓ«αδ µ¿¬½á ß »αÑñπß½«ó¿Ñ¼ (while)........................127
- Ä»ÑαáΓ«αδ µ¿¬½á ß »áαá¼ÑΓα«¼ (for)............................128
- Ä»ÑαáΓ«α with.................................................131
- â½áóá 8. ü½«¬¿, ½«¬á½∞¡«ßΓ∞ ¿ «í½áßΓ∞ ñÑ⌐ßΓó¿∩................133
- æ¿¡Γá¬ß¿ß.....................................................133
- Åαáó¿½á ñ½∩ «í½áßΓ¿ ñÑ⌐ßΓó¿∩..................................136
- Äí½áßΓ∞ ñÑ⌐ßΓó¿∩ ñ½∩ í½«¬á....................................136
- Äí½áßΓ∞ ñÑ⌐ßΓó¿∩ ºá»¿ß¿.......................................137
- Äí½áßΓ∞ ñÑ⌐ßΓó¿∩ «íΩѬΓá......................................137
- Äí½áßΓ∞ ñÑ⌐ßΓó¿∩ ¼«ñπ½∩.......................................137
- â½áóá 9. Åα«µÑñπαδ ¿ Σπ¡¬µ¿¿..................................139
- Ä»¿ßá¡¿∩ near ¿ far...........................................141
- Ä»¿ßá¡¿∩ export...............................................142
- Ä»¿ßá¡¿∩ interrupt............................................143
- Ä»¿ßá¡¿Ñ forward..............................................143
- Ä»¿ßá¡¿∩ external.............................................145
- Ä»¿ßá¡¿∩ assembler............................................147
- Ä»¿ßá¡¿∩ inline...............................................147
- Ä»¿ßá¡¿∩ Σπ¡¬µ¿⌐..............................................148
- Ä»¿ßá¡¿∩ ¼ÑΓ«ñ«ó..............................................150
- è«¡ßΓαπ¬Γ«αδ ¿ ñÑßΓαπ¬Γ«αδ....................................151
- é«ßßΓá¡«ó½Ñ¡¿Ñ «Φ¿í«¬ ¬«¡ßΓαπ¬Γ«αá............................154
- Åáαá¼ÑΓαδ.....................................................156
- Åáαá¼ÑΓαδ-º¡áτÑ¡¿∩............................................157
- Åáαá¼ÑΓαδ-¬«¡ßΓá¡Γδ...........................................157
- Åáαá¼ÑΓαδ-»ÑαѼѡ¡δÑ..........................................157
- ìÑΓ¿»¿º¿α«óá¡¡δÑ »áαá¼ÑΓαδ....................................158
- ÄΓ¬αδΓδÑ »áαá¼ÑΓαδ............................................160
- ÄΓ¬αδΓδÑ ßΓ᫬«óδÑ »áαá¼ÑΓαδ..................................160
- ÄΓ¬αδΓδÑ »áαá¼ÑΓαδ-¼áßß¿óδ....................................162
- 信ἿτÑ߬¿Ñ »ÑαѼѡ¡δÑ «íΩÑ¬Γ¡«ú« Γ¿»á.......................163
- Åα«µÑñπα¡δÑ »ÑαѼѡ¡δÑ........................................165
- Åáαá¼ÑΓαδ »α«µÑñπα¡«ú« Γ¿»á...................................168
- â½áóá 10. Åα«úαá¼¼δ ¿ ¼«ñπ½¿..................................170
- æ¿¡Γá¬ß¿ß »α«úαá¼¼............................................170
- çáú«½«ó«¬ »α«úαá¼¼δ...........................................170
- Ä»ÑαáΓ«α uses.................................................171
- æ¿¡Γá¬ß¿ß ¼«ñπ½Ñ⌐.............................................172
- çáú«½«ó«¬ ¼«ñπ½∩..............................................172
-
- B.Pascal 7 & Objects/LR - 4 -
-
- ê¡ΓÑαΣÑ⌐ß¡á∩ ßѬµ¿∩...........................................173
- æÑ¬µ¿∩ αÑ὿ºáµ¿¿.............................................174
- æÑ¬µ¿∩ ¿¡¿µ¿á½¿ºáµ¿¿..........................................175
- è«ßóÑ¡¡δÑ ßß佬¿ ¡á ¼«ñπ½¿....................................175
- ÅÑαѬαÑßΓ¡δÑ ßß佬¿ ¡á ¼«ñπ½¿.................................177
- æ«ó¼ÑßΓ¡«Ñ ¿ß»«½∞º«óá¡¿Ñ «»¿ßá¡¿⌐.............................179
- â½áóá 11. 信ἿτÑ߬¿ ¬«¼»«¡πѼδÑ í¿í½¿«ΓѬ¿..................180
- ùΓ« Γá¬«Ñ DLL?................................................180
- êß»«½∞º«óá¡¿Ñ DLL.............................................180
- î«ñ㫨 ¿¼»«αΓá................................................182
- æΓáΓ¿τÑ߬¿⌐ ¿ ñ¿¡á¼¿τÑ߬¿⌐ ¿¼»«αΓ.............................184
- ìỿßá¡¿Ñ DLL.................................................185
- ä¿αÑ¬Γ¿óá »α«µÑñπαδ export....................................187
- Ä»ÑαáΓ«α exports..............................................187
- è«ñ ¿¡¿µ¿á½¿ºáµ¿¿ í¿í½¿«ΓѬ¿..................................189
- çá¼Ñτá¡¿∩ »« »α«úαá¼¼¿α«óá¡¿ε í¿í½¿«ΓѬ.......................191
- ⽫íá½∞¡δÑ »ÑαѼѡ¡δÑ ó DLL...................................191
- ⽫íá½∞¡δÑ »ÑαѼѡ¡δÑ ¿ Σá⌐½δ ó DLL...........................191
- DLL ¿ ¼«ñπ½∞ System...........................................191
- ÄΦ¿í¬¿ φΓá»á óδ»«½¡Ñ¡¿∩ ó DLL.................................192
- DLL ¿ ßÑú¼Ñ¡Γδ ßΓѬá..........................................192
- 櫺ñá¡¿Ñ ß«ó¼ÑßΓ¡« ¿ß»«½∞ºπѼδσ DLL...........................193
- â½áóá 12. ü¿í½¿«ΓѬ¿ ¿ß»«½¡∩εΘÑ⌐ ß¿ßΓѼδ......................194
- î«ñ㫨 Borland Pascal.........................................194
- î«ñπ½∞ System.................................................195
- î«ñπ½∞ Dos ¿ WinDos...........................................195
- î«ñπ½∞ Crt....................................................195
- î«ñπ½∞ WinCrt.................................................196
- î«ñπ½∞ Printer................................................196
- î«ñπ½∞ WinPrn.................................................196
- î«ñπ½∞ Overlay................................................196
- î«ñπ½∞ Strings................................................197
- î«ñπ½∞ Graph..................................................197
- î«ñ㫨 Turbo3 ¿ Graph3........................................197
- î«ñ㫨 WinTypes ¿ WinProcs....................................197
- î«ñπ½∞ Win31..................................................198
- î«ñπ½∞ WinAPI.................................................198
- î«ñπ½¿, »«ññÑনóáεΘ¿Ñ Windows 3.1............................198
- â½áóá 13. æΓá¡ñáαΓ¡δÑ »α«µÑñπαδ ¿ Σπ¡¬µ¿¿.....................199
- Åα«µÑñπαδ π»αáó½Ñ¡¿∩ αáí«Γ«⌐ »α«úαá¼¼δ........................200
- öπ¡¬µ¿¿ »αÑ«íαẫóá¡¿∩........................................200
- Çα¿Σ¼ÑΓ¿τÑ߬¿Ñ Σπ¡¬µ¿¿........................................201
- Å«α∩ñ¬«óδÑ »α«µÑñπαδ ¿ Σπ¡¬µ¿¿................................202
- æΓ᫬«óδÑ »α«µÑñπαδ ¿ Σπ¡¬µ¿¿.................................202
- Åα«µÑñπαδ ¿ Σπ¡¬µ¿¿ ñ¿¡á¼¿τÑ߬«ú« αáß»αÑñѽѡ¿∩ »á¼∩Γ¿........203
- öπ¡¬µ¿¿ ñ½∩ αáí«Γδ ß π¬áºáΓѽ∩¼¿ ¿ áñαÑßἿ...................204
- Åα«τ¿Ñ »α«µÑñπαδ ¿ Σπ¡¬µ¿¿....................................205
- ÅαÑñ«»¿ßá¡¡δÑ »ÑαѼѡ¡δÑ......................................206
- â½áóá 14. éó«ñ ¿ óδó«ñ........................................215
- öá⌐½«óδ⌐ óó«ñ-óδó«ñ...........................................217
- ÆÑ¬ßΓ«óδÑ Σá⌐½δ...............................................219
- ìÑΓ¿»¿º¿α«óá¡¡δÑ Σá⌐½δ........................................221
- ÅÑαѼѡ¡á∩ FileMode...........................................221
-
- B.Pascal 7 & Objects/LR - 5 -
-
- ôßΓα«⌐ßΓóá ó Borland Pascal...................................222
- ôßΓα«⌐ßΓóá DOS................................................223
- ôßΓα«⌐ßΓó« CÄN................................................224
- ôßΓα«⌐ßΓóá LÉT1, LÉT2 ¿ LÉT3..................................224
- ôßΓα«⌐ßΓóá CÄî1 ¿ CÄî2........................................225
- ôßΓα«⌐ßΓó« NUL................................................225
- ôßΓα«⌐ßΓóá, »αÑñ¡áº¡áτÑ¡¡δÑ ñ½∩ ΓѬßΓ«óδσ Σá⌐½«ó..............225
- éó«ñ ¿ óδó«ñ ß »«¼«Θ∞ε ¼«ñπ½∩ Crt.............................226
- êß»«½∞º«óá¡¿Ñ ¼«ñπ½∩ CRT......................................227
- Ĭ¡á CRT......................................................227
- æ»Ñµ¿á½∞¡δÑ ß¿¼ó«½δ...........................................228
- éó«ñ ßΓ᫬....................................................228
- Åα«µÑñπαδ ¿ Σπ¡¬µ¿¿ ¼«ñπ½∩ Crt................................230
- è«¡ßΓá¡Γδ ¿ »ÑαѼѡ¡δÑ ¼«ñπ½∩ Crt.............................232
- éó«ñ ¿ óδó«ñ ß »«¼«Θ∞ε ¼«ñπ½∩ WinCrt..........................233
- êß»«½∞º«óá¡¿Ñ ¼«ñπ½∩ WinCrt...................................234
- æ»Ñµ¿á½∞¡δÑ ß¿¼ó«½δ...........................................236
- éó«ñ ßΓ᫬....................................................236
- Åα«µÑñπαδ ¿ Σπ¡¬µ¿¿...........................................237
- ÅÑαѼѡ¡δÑ ¼«ñπ½∩ WinCrt......................................239
- ÅÑτáΓ∞ ¿º »α«úαá¼¼δ Windows...................................241
- 꺼ѡѡ¿Ñ ºáú«½«ó¬«ó..........................................241
- 꺼ѡѡ¿Ñ Φα¿ΣΓ«ó.............................................242
- ÄßΓá¡«ó¬á ºáñá¡¿∩ »ÑτáΓ¿......................................243
- æ»Ñµ¿á½∞¡δÑ ß¿¼ó«½δ...........................................243
- Åα«µÑñπαδ ¿ Σπ¡¬µ¿¿ ¼«ñπ½∩ WinPrn.............................244
- öπ¡¬µ¿∩ Open..................................................246
- öπ¡¬µ¿∩ InOut.................................................246
- öπ¡¬µ¿∩ Flush.................................................247
- öπ¡¬µ¿∩ Cl«sÑ.................................................247
- â½áóá 15. êß»«½∞º«óá¡¿Ñ ß«»α«µÑßß«αá 80x87....................248
- Æ¿»δ ñá¡¡δσ »α«µÑßß«αá 80x87..................................251
- Çα¿Σ¼ÑΓ¿τÑ߬¿Ñ «»Ñαᵿ¿ ß »«óδΦÑ¡¡«⌐ Γ«τ¡«ßΓ∞ε................252
- æαáó¡Ñ¡¿Ñ óÑΘÑßΓóÑ¡¡δσ τ¿ßѽ..................................253
- æΓѬ óδτ¿ß½Ñ¡¿⌐ ß«»α«µÑßß«αá 80x87............................253
- çỿß∞ óÑΘÑßΓóÑ¡¡δσ τ¿ßѽ »α¿ ¿ß»«½∞º«óá¡¿¿ ß«»α«µÑßß«αá
- 80x87........................................................255
- î«ñπ½¿, ó ¬«Γ«αδσ ¿ß»«½∞ºπÑΓß∩ ß«»α«µÑßß«α 80x87..............255
- Éáß»«º¡áóá¡¿Ñ ß«»α«µÑßß«αá 80σ87 ó »α«úαá¼¼áσ DOS.............256
- Éáß»«º¡áóá¡¿Ñ ß«»α«µÑßß«αá 80x87 ó »α«úαá¼¼Ñ Windows..........257
- êß»«½∞º«óá¡¿Ñ φ¼π½∩µ¿¿ ß«»α«µÑßß«αá 80x87 ¡á ∩ºδ¬Ñ
- áßßѼí½Ñαá...................................................258
- â½áóá 16. î«ñπ½∞ D«s..........................................259
- Åα«µÑñπαδ ¿ Σπ¡¬µ¿¿ ¼«ñπ½∩ Dos................................260
- è«¡ßΓá¡Γδ, Γ¿»δ ¿ »ÑαѼѡ¡δÑ ¼«ñπ½∩ Dos.......................263
- Æ¿»δ..........................................................263
- ÅÑαѼѡ¡δÑ ¼«ñπ½∩ Dos.........................................264
- Åα«µÑñπαδ ¿ Σπ¡¬µ¿¿ ¼«ñπ½∩ WinDos.............................265
- è«¡ßΓá¡Γδ, Γ¿»δ ¿ »ÑαѼѡ¡δÑ ¼«ñπ½∩ WinDos....................268
- Æ¿»δ..........................................................269
- ÅÑαѼѡ¡δÑ ¼«ñπ½∩ WinDos......................................269
- â½áóá 17. Åα«úαá¼¼¿α«óá¡¿Ñ ó ºáΘ¿ΘÑ¡¡«¼ αѪ¿¼Ñ DOS............270
- ùΓ« Γá¬«Ñ ºáΘ¿ΘÑ¡¡δ⌐ αѪ¿¼?...................................270
-
- B.Pascal 7 & Objects/LR - 6 -
-
- ÉáßΦ¿αÑ¡¿∩ Borland ºáΘ¿ΘÑ¡¡«ú« αѪ¿¼á DOS.....................274
- DPMI-ßÑαóÑα...................................................274
- Çñ¼¿¡¿ßΓαáΓ«α φΓá»á óδ»«½¡Ñ¡¿∩................................274
- Éáºαáí«Γ¬á »α¿¬½áñ¡δσ »α«úαá¼¼ DOS ºáΘ¿ΘÑ¡¡«ú« αѪ¿¼á.........276
- ìáñѪ¡«Ñ »α«úαá¼¼¿α«óá¡¿Ñ ó ºáΘ¿ΘÑ¡¡«¼ αѪ¿¼Ñ.................276
- çáúαπº¬á ó ßÑú¼Ñ¡Γ¡δÑ αÑú¿ßΓαδ ¡Ññ«»πßΓ¿¼δσ º¡áτÑ¡¿⌐..........277
- öπ¡¬µ¿∩ Ptr ¿ ¼áßß¿óδ Mem.....................................277
- Çíß«½εΓ¡δÑ »ÑαѼѡ¡δÑ.........................................277
- Ä»Ñαᵿ¿ ß ßÑú¼Ñ¡ΓἿ.........................................278
- êß»«½∞º«óá¡¿Ñ ßÑú¼Ñ¡Γ¡δσ......................................278
- ä«ßΓπ» ¬ »á¼∩Γ¿ ó¡Ñ úαá¡¿µ ßÑú¼Ñ¡Γá...........................278
- çỿß∞ ó ßÑú¼Ñ¡Γ ¬«ñá.........................................279
- Éáºδ¼Ñ¡«óá¡¿Ñ π¬áºáΓѽÑ⌐ nil..................................279
- æÑú¼Ñ¡Γδ ¬«ñá ¿ ñá¡¡δσ........................................279
- ô»αáó½Ñ¡¿Ñ ñ¿¡á¼¿τÑ߬¿ αáß»αÑñѽ∩Ѽ«⌐ »á¼∩Γ∞ε.................280
- ÅαÑñ«»αÑñѽѡ¡δÑ ßÑ½Ñ¬Γ«αδ....................................280
- ÅÑαѼѡ¡á∩ SelectorInc........................................281
- î«ñπ½∞ WinAPI.................................................284
- ô»αáó½Ñ¡¿Ñ »á¼∩Γ∞ε............................................284
- Å«ñ»α«úαá¼¼δ π»αáó½Ñ¡¿∩ »á¼∩Γ∞ε API...........................285
- ô»αáó½Ñ¡¿Ñ ¼«ñπ½Ñ¼............................................289
- ô»αáó½Ñ¡¿Ñ αÑßπαßἿ..........................................290
- ô»αáó½Ñ¡¿Ñ ßÑ½Ñ¬Γ«α«¼.........................................291
- äαπú¿Ñ »«ñ»α«úαá¼¼δ API.......................................292
- Åα∩¼«⌐ ñ«ßΓπ» ¬ DPMI-ßÑαóÑαπ..................................293
- 諼»¿½∩µ¿∩ »α¿¬½áñ¡«⌐ »α«úαá¼¼δ ºáΘ¿ΘÑ¡¡«ú« αѪ¿¼á............293
- éδ»«½¡Ñ¡¿Ñ »α«úαá¼¼δ ºáΘ¿ΘÑ¡¡«ú« αѪ¿¼á DOS...................294
- ô»αáó½Ñ¡¿Ñ «íΩѼ«¼ ¿ß»«½∞ºπѼ«⌐ RTM »á¼∩Γ¿....................295
- â½áóá 18. æΓ᫬¿ ß ºáóÑαΦáεΘ¿¼ ¡π½Ñ¼..........................297
- ùΓ« Γá¬«Ñ ßΓ᫬á ß ºáóÑαΦáεΘ¿¼ ¡π½Ñ¼?.........................297
- öπ¡¬µ¿¿ ¼«ñπ½∩ Strings........................................297
- öπ¡¬µ¿¿ ¼«ñπ½∩ Strings........................................298
- êß»«½∞º«óá¡¿Ñ ßΓ᫬ ß ºáóÑαΦáεΘ¿¼ ¡π½Ñ¼.......................299
- 濼ó«½∞¡δÑ π¬áºáΓѽ¿ ¿ ßΓ᫬«óδÑ ½¿ΓÑαá½δ.....................301
- 濼ó«½∞¡δÑ π¬áºáΓѽ¿ ¿ ß¿¼ó«½∞¡δÑ ¼áßß¿óδ.....................302
- ê¡ñѬ߿α«óá¡¿Ñ ß¿¼ó«½∞¡«ú« π¬áºáΓѽ∩..........................303
- Ä»Ñαᵿ¿ ß ß¿¼ó«½∞¡δ¼¿ π¬áºáΓѽ∩¼¿............................304
- æΓ᫬¿ ß ºáóÑαΦáεΘ¿¼ ¡π½Ñ¼ ¿ ßΓá¡ñáαΓ¡δÑ »α«µÑñπαδ............305
- Åα¿¼Ñα ¿ß»«½∞º«óá¡¿∩ Σπ¡¬µ¿⌐ ß ºáóÑαΦáεΘ¿¼ ¡π½Ñ¼..............306
- â½áóá 19. êß»«½∞º«óá¡¿Ñ úαáΣ¿τÑ߬«ú« ¿¡ΓÑαΣÑ⌐ßá Borland.......308
- äαá⌐óÑαδ......................................................308
- Å«ññÑ᪬á πßΓα«⌐ßΓóá IBM 8514.................................310
- æ¿ßΓÑ¼á ¬««αñ¿¡áΓ.............................................311
- ÆÑ¬πΘ¿⌐ π¬áºáΓѽ∞.............................................311
- ÆÑ¬ßΓ.........................................................313
- âαáΣ¿τÑ߬¿Ñ ¿º«íαáªÑ¡¿∩ ¿ ¿σ ó¿ñδ.............................314
- Äí½áßΓ¿ »α«ß¼«Γαá ¿ ñó«¿τ¡δÑ «íαáºδ...........................314
- Å«ññÑ᪬á ßΓαá¡¿µ ¿ µóÑΓ«ó....................................315
- Äíαáí«Γ¬á «Φ¿í«¬..............................................315
- ìáτὫ αáí«Γδ.................................................316
- Å«½∞º«óáΓѽ∞߬¿Ñ »α«úαá¼¼δ π»αáó½Ñ¡¿∩ ñ¿¡á¼¿τÑ߬¿
- αáß»αÑñѽ∩Ѽ«⌐ »á¼∩Γ∞ε.......................................318
- Åα«µÑñπαδ ¼«ñπ½∩ Graph........................................321
-
- B.Pascal 7 & Objects/LR - 7 -
-
- è«¡ßΓá¡Γδ, Γ¿»δ ¿ »ÑαѼѡ¡δÑ ¼«ñπ½∩ Graph.....................326
- è«¡ßΓá¡Γδ.....................................................326
- Æ¿»δ..........................................................328
- ÅÑαѼѡ¡δÑ....................................................328
- â½áóá 20. êß»«½∞º«óá¡¿Ñ «óÑα½ÑÑó..............................329
- Çñ¼¿¡¿ßΓαáΓ«α «óÑα½ÑÑó........................................330
- ô»αáó½Ñ¡¿Ñ «óÑα½Ñ⌐¡δ¼ íπΣÑα«¼.................................331
- Åα«µÑñπαδ ¿ Σπ¡¬µ¿¿ ¼«ñπ½∩ Overlay............................334
- è«ñδ αѺπ½∞ΓáΓá...............................................335
- Éáºαáí«Γ¬á »α«úαá¼¼ ß «óÑα½Ñ∩¼¿...............................335
- âÑ¡Ñαᵿ∩ «óÑα½Ñ⌐¡«ú« ¬«ñá....................................336
- ÆαÑí«óá¡¿Ñ ¿ß»«½∞º«óá¡¿∩ ñá½∞¡Ñú« Γ¿»á ó맮ó«ó................337
- ê¡¿µ¿á½¿ºáµ¿∩ áñ¼¿¡¿ßΓαáΓ«αá «óÑα½ÑÑó.........................338
- ÉáºñÑ½δ ¿¡¿µ¿á½¿ºáµ¿¿ ó «óÑα½Ñ⌐¡δσ ¼«ñπ½∩σ....................341
- ùΓ« ¡Ñ ñ«½ª¡« ¿ß»«½∞º«óáΓ∞ß∩ ó ¬áτÑßΓóÑ «óÑα½ÑÑó..............342
- ÄΓ½áñ¬á «óÑα½ÑÑó..............................................343
- é¡ÑΦ¡¿Ñ »α«úαá¼¼δ ó «óÑα½Ñ∩σ..................................343
- çáñá¡¿Ñ Σπ¡¬µ¿¿ τΓÑ¡¿∩ «óÑα½Ñ∩................................345
- ÄóÑα½Ñ¿ ó Σá⌐½áσ .EXE.........................................347
- ùáßΓ∞ III. é ßαÑñÑ Borland Pascal.............................348
- â½áóá 21. êß»«½∞º«óá¡¿Ñ »á¼∩Γ¿................................348
- êß»«½∞º«óá¡¿Ñ »á¼∩Γ¿ »α«úαἼἿ αÑá½∞¡«ú« αѪ¿¼á DOS.........348
- Çñ¼¿¡¿ßΓαáΓ«α ñ¿¡á¼¿τÑ߬¿ αáß»αÑñѽ∩Ѽ«⌐ «í½áßΓ¿ »á¼∩Γ¿ DOS...350
- îÑΓ«ñδ «ßó«í«ªñÑ¡¿∩ «í½áßΓÑ⌐ ñ¿¡á¼¿τÑ߬¿ αáß»αÑñѽ∩Ѽ«⌐
- »á¼∩Γ¿.......................................................352
- 滿߫¬ ßó«í«ñ¡δσ í½«¬«ó.......................................355
- ÅÑαѼѡ¡á∩ HeapError..........................................356
- êß»«½∞º«óá¡¿Ñ »á¼∩Γ¿ ó »α«úαá¼¼áσ DOS ºáΘ¿ΘÑ¡¡«ú« αѪ¿¼á......359
- æÑú¼Ñ¡Γδ ¬«ñá.................................................359
- ÇΓα¿íπΓδ ßÑú¼Ñ¡Γá.............................................359
- ÇΓα¿íπΓδ MOVEABLE ¿½¿ FIXED...................................359
- ÇΓα¿íπΓδ PRELOAD ¿½¿ DEMANDLOAD...............................359
- ÇΓα¿íπΓδ DISCARDABLE ¿½¿ PERMAMENT............................359
- æÑú¼Ñ¡Γδ ñá¡¡δσ ¿ ßΓѬá.......................................361
- 꺼ѡѡ¿Ñ áΓα¿íπΓ«ó...........................................361
- Çñ¼¿¡¿ßΓαáΓ«α ñ¿¡á¼¿τÑ߬¿ αáß»αÑñѽ∩Ѽ«⌐ «í½áßΓ¿ »á¼∩Γ¿ DOS...362
- ÅÑαѼѡ¡á∩ HeapError..........................................363
- êß»«½∞º«óá¡¿Ñ »á¼∩Γ¿ ó »α«úαá¼¼áσ Windows.....................365
- ÇΓα¿íπΓδ ßÑú¼Ñ¡Γ«ó............................................365
- ÇΓα¿íπΓδ MOVEABLE ¿½¿ FIXED...................................365
- ÇΓα¿íπΓδ PRELOAD ¿½¿ DEMANDLOAD...............................365
- ÇΓα¿íπΓδ DISCARDABLE ¿½¿ PERMANENT............................365
- 꺼ѡѡ¿Ñ áΓα¿íπΓ«ó...........................................365
- æÑú¼Ñ¡Γ ½«¬á½∞¡δσ ñ¿¡á¼¿τÑ߬¿σ ñá¡¡δσ.........................367
- Çñ¼¿¡¿ßΓαáΓ«α ñ¿¡á¼¿τÑ߬¿ αáß»αÑñѽ∩Ѽ«⌐ «í½áßΓ¿ »á¼∩Γ¿.......368
- ÅÑαѼѡ¡á∩ HeapError..........................................370
- ö«α¼áΓδ ó¡πΓαÑ¡¡Ñú« »αÑñßΓáó½Ñ¡¿∩ ñá¡¡δσ......................372
- ûѽ«τ¿ß½Ñ¡¡δÑ Γ¿»δ............................................372
- 濼ó«½∞¡δ⌐ Γ¿»................................................372
- üπ½Ñó߬¿⌐ Γ¿».................................................372
- ÅÑαÑτ¿ß½¿¼δ⌐ Γ¿»..............................................372
- Æ¿»δ ß »½áóáεΘÑ⌐ Γ«τ¬«⌐.......................................373
- éÑΘÑßΓóÑ¡¡δ⌐ Γ¿»..............................................373
-
- B.Pascal 7 & Objects/LR - 8 -
-
- Æ¿» τ¿ß½á ß «ñ¿¡áα¡«⌐ Γ«τ¡«ßΓ∞ε...............................374
- Æ¿» τ¿ß½á ß ñó«⌐¡«⌐ Γ«τ¡«ßΓ∞ε.................................374
- Æ¿» τ¿ß½á ß »«óδΦÑ¡¡«⌐ Γ«τ¡«ßΓ∞ε..............................375
- 潫ª¡δ⌐ Γ¿»...................................................375
- ç¡áτÑ¡¿∩ Γ¿»á π¬áºáΓѽ∞.......................................375
- ç¡áτÑ¡¿∩ ßΓ᫬«ó«ú« Γ¿»á......................................376
- ç¡áτÑ¡¿∩ ¼¡«ªÑßΓóÑ¡¡«ú« Γ¿»á..................................376
- ç¡áτÑ¡¿∩ Γ¿»á ¼áßß¿ó..........................................376
- ç¡áτÑ¡¿∩ Γ¿»á ºá»¿ß∞..........................................376
- ÄíΩÑ¬Γ¡δÑ Γ¿»δ................................................377
- Æáí½¿µá ó¿αΓπá½∞¡δσ ¼ÑΓ«ñ«ó...................................378
- Æáí½¿µá ñ¿¡á¼¿τÑ߬¿σ ¼ÑΓ«ñ«ó..................................381
- ç¡áτÑ¡¿∩ Σá⌐½«ó«ú« Γ¿»á.......................................385
- Åα«µÑñπα¡δÑ Γ¿»δ..............................................387
- Åα∩¼«⌐ ñ«ßΓπ» ¬ »á¼∩Γ¿........................................387
- Åα∩¼«⌐ ñ«ßΓπ» ¬ »«αΓá¼........................................387
- â½áóá 22. é«»α«ßδ π»αáó½Ñ¡¿∩..................................388
- æ«ú½áΦÑ¡¿∩ »« ó맮óá¼.........................................388
- Åáαá¼ÑΓαδ-»ÑαѼѡ¡δÑ..........................................388
- Åáαá¼ÑΓαδ-º¡áτÑ¡¿∩............................................388
- ÄΓ¬αδΓδÑ ßΓ᫬«óδÑ »áαá¼ÑΓαδ..................................389
- ÉѺπ½∞ΓáΓδ Σπ¡¬µ¿⌐............................................390
- ü½¿ª¡¿Ñ ¿ ñá½∞¡¿Ñ Γ¿»δ ó맮ó«ó................................391
- 齫ªÑ¡¡δÑ »α«µÑñπαδ ¿ Σπ¡¬µ¿¿.................................391
- æ«ú½áΦÑ¡¿∩ « ó맮óáσ ¼ÑΓ«ñ«ó..................................392
- é맮óδ ó¿αΓπá½∞¡δσ ¼ÑΓ«ñ«ó....................................394
- é맮óδ ñ¿¡á¼¿τÑ߬¿σ ¼ÑΓ«ñ«ó...................................395
- è«¡ßΓαπ¬Γ«αδ ¿ ñÑßΓαπ¬Γ«αδ....................................396
- æΓá¡ñáαΓ¡δ⌐ ¬«ñ óσ«ñá ¿ óδσ«ñá................................396
- æ«ú½áΦÑ¡¿∩ »« ß«σαá¡Ñ¡¿ε αÑú¿ßΓα«ó............................400
- Åα«µÑñπαδ óδσ«ñá..............................................400
- Äíαáí«Γ¬á »αÑαδóá¡¿⌐..........................................403
- Éáºαáí«Γ¬á »α«µÑñπα «íαáí«Γ¬¿ »αÑαδóá¡¿⌐......................403
- â½áóá 23. ÇóΓ«¼áΓ¿τÑ߬á∩ «»Γ¿¼¿ºáµ¿∩..........................405
- æóÑαΓδóá¡¿Ñ ¬«¡ßΓá¡Γ..........................................405
- 潿∩¡¿Ñ ¬«¡ßΓá¡Γ..............................................405
- éδτ¿ß½Ñ¡¿Ñ »« ¬«α«Γ¬«⌐ ßσѼÑ..................................405
- Åáαá¼ÑΓαδ-¬«¡ßΓá¡Γδ...........................................406
- ôßΓαá¡Ñ¡¿Ñ ¿ºíδΓ«τ¡«⌐ ºáúαπº¬¿ π¬áºáΓѽÑ⌐.....................406
- Å«ñßΓá¡«ó¬á ¬«¡ßΓá¡Γ ¼¡«ªÑßΓóÑ¡¡«ú« Γ¿»á......................406
- îá½δÑ ¼¡«ªÑßΓóá...............................................407
- Å«α∩ñ«¬ óδτ¿ß½Ñ¡¿∩............................................407
- Åα«óÑα¬á ¡á ñ«»πßΓ¿¼«ßΓ∞ úαá¡¿µ...............................408
- êß»«½∞º«óá¡¿Ñ ßñó¿úá ó¼ÑßΓ« π¼¡«ªÑ¡¿∩.........................408
- ÇóΓ«¼áΓ¿τÑ߬«Ñ óδαáó¡¿óá¡¿Ñ ¡á úαá¡¿µπ ß½«óá..................408
- ôñá½Ñ¡¿Ñ ¡Ñ¿ß»«½∞ºπѼ«ú« ¬«ñá.................................409
- ¥ΣΣÑ¬Γ¿ó¡á∩ ¬«¼»«¡«ó¬á........................................409
- ùáßΓ∞ IV. êß»«½∞º«óá¡¿Ñ Borland Pascal ß ∩ºδ¬«¼ áßßѼí½Ñαá....411
- â½áóá 24. éßΓα«Ñ¡¡δ⌐ áßßѼí½Ñα................................411
- Ä»ÑαáΓ«α asm..................................................411
- êß»«½∞º«óá¡¿Ñ αÑú¿ßΓα«ó.......................................412
- æ¿¡Γá¬ß¿ß «»ÑαáΓ«αa áßßѼí½Ñαá................................412
- îÑΓ¬¿.........................................................413
-
- B.Pascal 7 & Objects/LR - 9 -
-
- ÉẼÑα ¿¡ßΓαπ¬µ¿¿ RET.........................................413
- ÇóΓ«¼áΓ¿τÑ߬«Ñ «»αÑñѽѡ¿Ñ αẼÑαá »ÑαÑσ«ñá...................414
- ä¿αÑ¬Γ¿óδ áßßѼí½Ñαá..........................................415
- Ä»Ñαá¡ñδ......................................................417
- éδαáªÑ¡¿∩.....................................................417
- Éẽ¿τ¿∩ ¼Ñªñπ óδαáªÑ¡¿∩¼¿ Åá߬á½∩ ¿ áßßѼí½Ñαá...............418
- ¥½Ñ¼Ñ¡Γδ óδαáªÑ¡¿⌐............................................419
- è«¡ßΓá¡Γδ.....................................................420
- ù¿ß½«óδÑ ¬«¡ßΓá¡Γδ............................................420
- æΓ᫬«óδÑ ¬«¡ßΓá¡Γδ...........................................420
- ÉÑú¿ßΓαδ......................................................422
- êñÑ¡Γ¿Σ¿¬áΓ«αδ................................................422
- è½áßßδ óδαáªÑ¡¿⌐..............................................426
- Æ¿»δ óδαáªÑ¡¿⌐................................................427
- Ä»Ñαᵿ¿ ó óδαáªÑ¡¿∩σ.........................................430
- Åα«µÑñπαδ ¿ Σπ¡¬µ¿¿ áßßѼí½Ñαá................................434
- â½áóá 25. 諼»«¡«ó¬á ß »α«úαἼἿ ¡á ∩ºδ¬Ñ áßßѼí½Ñαá........437
- Æπαí« ÇßßѼí½Ñα ¿ Borland Pascal..............................438
- Åα¿¼Ñαδ »α«úαá¼¼ ¡á ∩ºδ¬Ñ áßßѼí½Ñαá..........................440
- îÑΓ«ñδ ¡á ∩ºδ¬Ñ áßßѼí½Ñαá....................................441
- 鬽ετáѼδ⌐ ¼áΦ¿¡¡δ⌐ ¬«ñ.......................................442
- Ä»ÑαáΓ«αδ Inline..............................................442
- ä¿αÑ¬Γ¿óδ inline..............................................444
-
- B.Pascal 7 & Objects/LR - 10 -
-
- éóÑñÑ¡¿Ñ
- ─────────────────────────────────────────────────────────────────
-
- äá¡¡«Ñ απ¬«ó«ñßΓó« »«ßó∩ΘÑ¡« ¿ß»«½∞ºπѼ«¼π ó Borland Pascal
- with Objects ∩ºδ¬π Åá߬á½∞. Ä¡«
-
- * äáÑΓ Σ«α¼á½∞¡«Ñ «»αÑñѽѡ¿Ñ ∩ºδ¬á Borland Pascal.
-
- * Å«∩ß¡∩ÑΓ, ¬á¬ ¿ß»«½∞º«óáΓ∞ ¿ »¿ßáΓ∞ ñ¿¡á¼¿τÑ߬¿ ¬«¼»«¡πÑ-
- ¼δÑ í¿í½¿«ΓѬ¿.
-
- * ç¡á¬«¼¿Γ óáß ß í¿í½¿«ΓѬ«⌐ ¿ß»«½¡∩εΘÑ⌐ ß¿ßΓѼδ.
-
- * Å«∩ß¡∩ÑΓ, ¬á¬ »¿ßáΓ∞ »α«úαá¼¼δ ñ½∩ ºáΘ¿ΘÑ¡¡«ú« αѪ¿¼á DOS.
-
- * ÄßóÑΘáÑΓ Γá¬¿Ñ ó«»α«ßδ Borland Pascal, ¬á¬ ¿ß»«½∞º«óá¡¿Ñ
- »á¼∩Γ¿, Σ«α¼áΓδ ñá¡¡δσ, ß«ú½áΦÑ¡¿∩ »« ó맮óπ, óó«ñ ¿ óδó«ñ
- ¿ áóΓ«¼áΓ¿τÑ߬á∩ «»Γ¿¼¿ºáµ¿∩.
-
- * Ä»¿ßδóáÑΓ, ¬á¬ ¿ß»«½∞º«óáΓ∞ Borland Pascal ß ∩ºδ¬«¼ áß-
- ßѼí½Ñαá.
-
- Åα¿¼Ñτá¡¿∩: Äíº«α óßÑú« ¡áí«αá ñ«¬π¼Ñ¡Γᵿ¿ »« Borland
- Pascal óδ ¼«ªÑΓÑ ¡á⌐Γ¿ ó« óóÑñÑ¡¿¿ ¬ "Éπ¬«ó«ñßΓóπ »«½∞º«óá-
- Γѽ∩".
-
- àß½¿ óδ
-
- - σ«Γ¿ΓÑ πº¡áΓ∞, ¬á¬ πßΓá¡«ó¿Γ∞ Borland Pascal ó ß¿ßΓѼÑ;
-
- - ¿ß»«½∞º«ó὿ Turbo Pascal ¿½¿ Turbo Pascal for Windows αá-
- ¡ÑÑ ¿ σ«Γ¿ΓÑ πº¡áΓ∞, τΓ« ¡«ó«ú« ó φΓ«⌐ óÑαß¿¿;
-
- - ¡Ñ º¡á¬«¼δ ß ¿¡ΓÑαá¬Γ¿ó¡«⌐ ¿¡ΓÑúα¿α«óá¡¡«⌐ ßαÑñ«⌐ αáºαá-
- í«Γ¬¿ »α«úαá¼¼ (IDE) Σ¿α¼δ Borland;
-
- - σ«Γ¿ΓÑ »«º¡á¬«¼¿Γ∞ß∩ ß óóÑñÑ¡¿Ñ¼ ó «íΩÑ¬Γ¡«-«α¿Ñ¡Γ¿α«óá¡-
- ¡«Ñ »α«úαá¼¼¿α«óá¡¿Ñ;
-
- - ¡Ñ ¿¼ÑÑΓÑ «»δΓá »α«úαá¼¼¿α«óá¡¿Ñ ¡á Åá߬á½Ñ ó Windows;
-
- - σ«Γ¿ΓÑ »«º¡á¬«¼¿Γ∞ß∩ ß ObjectWindows;
-
- Γ« »α«τ¿Γá⌐ΓÑ "Éπ¬«ó«ñßΓó« »«½∞º«óáΓѽ∩".
-
- ùΓ«íδ ¡á⌐Γ¿ ß»αáó«τ¡δÑ ¼áΓÑα¿á½δ »« ß½ÑñπεΘ¿¼ ΓѼá¼:
-
- - í¿í½¿«ΓѬ¿ ¿ß»«½¡∩εΘÑ⌐ ß¿ßΓѼδ;
-
- - ñ¿αÑ¬Γ¿óδ ¬«¼»¿½∩Γ«αá;
-
- - ß««íΘÑ¡¿∩ «í «Φ¿í¬áσ;
-
-
- B.Pascal 7 & Objects/LR - 11 -
-
- - αáí«Γá ß αÑñá¬Γ«α«¼;
-
- »α«τΓ¿ΓÑ "æ»αáó«τ¡«Ñ απ¬«ó«ñßΓó« »α«úαá¼¼¿ßΓá".
-
- Ä τѼ αáß߬áºδóáÑΓß∩ ó ñá¡¡«¼ απ¬«ó«ñßΓóÑ
- ─────────────────────────────────────────────────────────────────
-
- äá¡¡«Ñ απ¬«ó«ñßΓó« αáºí¿Γ« ¡á τÑΓδαÑ τáßΓ¿: úαá¼¼áΓ¿¬á ∩ºδ-
- ¬á, í¿í½¿«ΓѬ¿, ó«»α«ßδ »α«ñó¿¡πΓ«ú« »α«úαá¼¼¿α«óá¡¿∩ ¿ ¿ß»«½∞º«-
- óá¡¿Ñ ß Borland Pascal ∩ºδ¬á áßßѼí½Ñαá.
-
- é ùáßΓ¿ I "ƒºδ¬ Borland Pascal" «»αÑñѽ∩ÑΓß∩ ∩ºδ¬ Borland
- Pascal. æ¡áτá½á óδ »«º¡á¬«¼¿ΓÑß∞ ß «íΘÑ⌐ ßΓαπ¬Γπα«⌐ »α«úαá¼¼δ
- Borland Pascal; ºáΓѼ « ¬áªñ«¼ φ½Ñ¼Ñ¡ΓÑ »α«úαá¼¼δ íπñÑΓ αáß߬áºá-
- ¡« í«½ÑÑ »«ñα«í¡«.
-
- ùáßΓ∞ II "ü¿í½¿«ΓѬ¿ ¿ß»«½¡∩εΘÑ⌐ ß¿ßΓѼδ" ß«ñÑαª¿Γ ¿¡Σ«α¼á-
- µ¿ε « ßΓá¡ñáαΓ¡δσ ¼«ñπ½∩σ, «íαáºπεΘ¿σ í¿í½¿«ΓѬπ ¿ß»«½¡∩εΘÑ⌐ ß¿ß-
- ΓѼδ, ¿ « Γ«¼, ¬á¬ ¿σ ¿ß»«½∞º«óáΓ∞. çñÑß∞ αáß߬áºδóáÑΓß∩ ΓᬪÑ,
- ¬á¬ »¿ßáΓ∞ »α«úαá¼¼δ ñ½∩ ºáΘ¿ΘÑ¡¡«ú« αѪ¿¼á DOS.
-
- é ùáßΓ¿ III "é ßαÑñÑ Borland Pascal" ñáÑΓß∩ ΓÑσ¡¿τÑ߬á∩ ¿¡-
- Σ«α¼áµ¿∩ ñ½∩ »α«ñó¿¡πΓδσ »«½∞º«óáΓѽÑ⌐. çñÑß∞ αáß߬áºδóáÑΓß∩:
-
- - «í ¿ß»«½∞º«óá¡¿¿ »á¼∩Γ¿ ó Borland Pascal;
-
- - « Γ«¼, ¬á¬ ó Borland Pascal αÑ὿º«óá¡« π»αáó½Ñ¡¿Ñ »α«ú-
- αá¼¼«⌐;
-
- - « ñÑΓá½∩σ »« óó«ñπ ¿ óδó«ñπ;
-
- - «í «»Γ¿¼¿ºáµ¿¿ óáΦÑú« ¬«ñá.
-
- é ùáßΓ¿ IV "êß»«½∞º«óá¡¿Ñ Borland Pascal ß ∩ºδ¬«¼ áßßѼí½Ñ-
- αá" »«∩ß¡∩ÑΓß∩, ¬á¬ ¿ß»«½∞º«óáΓ∞ óßΓα«Ñ¡¡δ⌐ áßßѼí½Ñα ¿ ¬á¬ ¬«¼-
- »«¡«óáΓ∞ óáΦ¿ »α«úαá¼¼δ Åá߬á½∩ ß ¬«ñ«¼ Æπαí« ÇßßѼí½Ñαá.
-
-
-
-
- B.Pascal 7 & Objects/LR - 12 -
-
- ───────────────────────────────────────────────────────────────────────
- ùáßΓ∞ I. ƒºδ¬ Borland Pascal
- ─────────────────────────────────────────────────────────────────
-
- â½áóá 1. ùΓ« Γá¬«Ñ »α«úαá¼¼á Borland Pascal?
- ─────────────────────────────────────────────────────────────────
-
- æ½ÑñπεΘ¿Ñ ¡Ñ߬«½∞¬« ú½áó »«ßó∩ΘÑ¡δ Σ«α¼á½∞¡«¼π «»αÑñѽѡ¿ε
- ∩ºδ¬á Borland Pascal. é ¬áªñ«⌐ ú½áóÑ «íßπªñáÑΓß∩ «ñ¿¡ ¿º φ½Ñ¼Ñ¡-
- Γ«ó Borland Pascal. æ«ó¼ÑßΓ¡« φΓ¿ φ½Ñ¼Ñ¡Γδ «íαáºπεΓ »α«úαá¼¼π
- Borland Pascal.
-
- Äñ¡á¬«, ¿ºπτá∩ τáßΓ¿, Γαπñ¡« »«¡∩Γ∞ µÑ½«Ñ. é ñá¡¡«⌐ ú½áóÑ
- ñáÑΓß∩ «íΘ¿⌐ «íº«α »α«úαá¼¼δ Borland Pascal, «»π߬á∩ ñÑΓ὿.
- çñÑß∞ »α¿ó«ñ¿Γß∩ ¬αáΓ¬«Ñ «»¿ßá¡¿Ñ ¬áªñ«ú« φ½Ñ¼Ñ¡Γá »α«úαá¼¼δ, á
- ºáΓѼ »«¬áºδóáÑΓß∩, ¬á¬ óßÑ φΓ« ¬«¼»«¡πÑΓß∩ ó¼ÑßΓÑ. Å«ñα«í¡«ßΓ¿
- φ½Ñ¼Ñ¡Γ«ó ∩ºδ¬á «ßóÑΘáεΓß∩ ú½áóáσ 2 - 11.
-
-
-
- B.Pascal 7 & Objects/LR - 13 -
-
- Åα«úαá¼¼á Borland Pascal
- ─────────────────────────────────────────────────────────────────
-
- é ßó«Ñ⌐ »α«ßΓÑ⌐ΦÑ⌐ Σ«α¼Ñ »α«úαá¼¼á Borland Pascal ß«ßΓ«¿Γ ¿º
- ºáú«½«ó¬á »α«úαá¼¼δ, ¬«Γ«αδ⌐ ¿¼Ñ¡πÑΓ »α«úαá¼¼π, ¿ «ß¡«ó¡«ú« »α«ú-
- αá¼¼¡«ú« í½«¬á, óδ»«½¡∩εΘÑú« ¡áº¡áτÑ¡¿Ñ »α«úαá¼¼δ. é «ß¡«ó¡«¼
- »α«úαá¼¼¡«¼ í½«¬Ñ ¡áσ«ñ¿Γß∩ ßѬµ¿∩ ¬«ñá, ºá¬½ετÑ¡¡á∩ ¼Ñªñ𠬽ετÑ-
- ó묨 ß½«óἿ begin ¿ end. Åα¿óÑñѼ »α«ßΓÑ⌐Φπε »α«úαá¼¼π, ¿½½εßΓ-
- α¿απεΘπε φΓ¿ »α¿¡µ¿»δ:
-
- program Privet;
- begin
- Writeln('ä«íα« »«ªá½«óáΓ∞ ó Borland Pascal');
- end.
-
- ÅÑαóá∩ ßΓ᫬á - φΓ« ºáú«½«ó«¬ »α«úαá¼¼δ, ¬«Γ«αδ⌐ ¿¼Ñ¡πÑΓ
- ñá¡¡πε »α«úαá¼¼π. ÄßΓá½∞¡á∩ τáßΓ∞ »α«úαá¼¼δ - φΓ« ¿ßσ«ñ¡δ⌐ ¬«ñ,
- ¬«Γ«αδ⌐ ¡áτ¿¡áÑΓß∩ ¬½ετÑóδ¼ ß½«ó«¼ begin ¿ ºá¬á¡τ¿óáÑΓß∩ end. ò«-
- Γ∩ ñá¡¡á∩ ¬«¡¬αÑΓ¡á∩ »α«úαá¼¼á ß«ñÑαª¿Γ Γ«½∞¬« «ñ¡π ßΓ᫬π, ¿σ
- ¼«ªÑΓ íδΓ∞ ¼¡«ú«. é ½εí«⌐ »α«úαá¼¼Ñ Borland Pascal óßÑ ñÑ⌐ßΓó¿∩
- óδ»«½¡∩εΓß∩ ¼Ñªñπ begin ¿ end.
-
- Åα«µÑñπαδ ¿ Σπ¡¬µ¿¿
- ─────────────────────────────────────────────────────────────────
-
- è«ñ ¼Ñªñπ »«ß½Ññ¡¿¼¿ «»ÑαáΓ«αἿ begin ¿ end »α«úαá¼¼δ π»-
- αáó½∩ÑΓ ½«ú¿¬«⌐ »α«úαá¼¼δ. é «τÑ¡∞ »α«ßΓ«⌐ »α«úαá¼¼Ñ ó φΓ«⌐ ßѬ-
- µ¿¿ ¬«ñá ¼«ªÑΓ ß«ñÑαªáΓ∞ß∩ óßÑ, τΓ« óá¼ ¡πª¡«. é í«½ÑÑ ¬απ»¡δσ ¿
- ß½«ª¡δσ »α«úαá¼¼áσ αẼÑΘÑ¡¿Ñ ó φΓ«⌐ ßѬµ¿¿ óßÑú« »α«úαá¼¼¡«ú«
- ¬«ñá ¼«ªÑΓ ºáΓαπñ¡¿Γ∞ τΓÑ¡¿Ñ ¿ »«¡¿¼á¡¿Ñ »α«úαá¼¼δ. è Γ«¼π ªÑ ÑÑ
- íπñÑΓ Γαπñ¡ÑÑ αáºαáíáΓδóáΓ∞.
-
- Åα«µÑñπαδ ¿ Σπ¡¬µ¿¿ »«ºó«½∩εΓ αáºñѽ¿Γ∞ ½«ú¿¬π »α«úαá¼¼δ ¡á
- í«½ÑÑ ¼Ñ½¬¿Ñ ¿ π»αáó½∩ѼδÑ Σαáú¼Ñ¡Γδ ¿ á¡á½«ú¿τ¡δ »«ñ»α«úαἼἠó
- ñαπú¿σ ∩ºδ¬áσ. èᬠ¿ ó «ß¡«ó¡«¼ í½«¬Ñ »α«úαá¼¼δ, óßÑ ñÑ⌐ßΓó¿∩ ó
- »α«µÑñπαáσ ¿ Σπ¡¬µ¿∩σ ºá¬½ετáεΓß∩ ó begin ¿ end. èáªñδ⌐ ¿º φΓ¿σ
- ßÑú¼Ñ¡Γ«ó ¬«ñá óδ»«½¡∩ÑΓ ¬«¡¬αÑΓ¡πε ºáñáτπ.
-
- ┌──────────────────────────────────────────────────────────┐
- │ Åα«µÑñπαá ¿½¿ Σπ¡¬µ¿∩ │
- │┌────────────────────────────────────────────────────────┐│
- ││ çáú«½«ó«¬ »α«µÑñπαδ ¿½¿ Σπ¡¬µ¿¿ ││
- │└────────────────────────────────────────────────────────┘│
- │┌────────────────────────────────────────────────────────┐│
- ││ ü½«¬ »α«µÑñπαδ ¿½¿ Σπ¡¬µ¿∩¼¿ ││
- ││ begin ││
- ││┌──────────────────────────────────────────────────────┐││
- │││ ï«ú¿¬á │││
- ││└──────────────────────────────────────────────────────┘││
- ││ end; ││
- │└────────────────────────────────────────────────────────┘│
- └──────────────────────────────────────────────────────────┘
-
-
- B.Pascal 7 & Objects/LR - 14 -
-
- É¿ß. 1.1 ä¿áúαá¼¼á »α«µÑñπαδ ¿½¿ Σπ¡¬µ¿¿.
-
- àß½¿ óδ «í¡áαπª¿ΓÑ, τΓ« ó óáΦÑ⌐ ñ¿áúαá¼¼Ñ «ñ¡¿ ¿ ΓÑ ªÑ ñÑ⌐ß-
- Γó¿∩ óδ»«½¡∩εΓß∩ ¼¡«ú«¬αáΓ¡«, Γá¬πε ½«ú¿¬π ªÑ½áΓѽ∞¡« óδñѽ¿Γ∞ ó
- »α«µÑñπαπ ¿½¿ Σπ¡¬µ¿ε. éδ ¼«ªÑΓÑ «ñ¿¡ αẠºá»¿ßáΓ∞ φëà ¬«ñ ó
- »α«µÑñπαÑ ¿½¿ Σπ¡¬µ¿¿, á ºáΓѼ ¼¡«ú«¬αáΓ¡« óδºδóáΓ∞ Ñú« ó »α«ú-
- αá¼¼Ñ.
-
- Åα¿óÑñѼ »α¿¼Ñα Σπ¡¬µ¿¿. æ½ÑñπεΘá∩ Σπ¡¬µ¿∩ GetNumber »«½πτá-
- ÑΓ τ¿ß½« «Γ »«½∞º«óáΓѽ∩:
-
- function GetNumber: Real;
- var
- Responce: Real;
- begin
- Write('éóÑñ¿ΓÑ τ¿ß½«: ');
- Readln(Response);
- GetNumber := Response;
- end;
-
- Åα«µÑñπαá ¿½¿ Σπ¡¬µ¿∩ ñ«½ª¡á ß«ñÑαªáΓ∞ß∩ ó »α«úαá¼¼Ñ »ÑαÑñ
- ßѬµ¿Ñ⌐ «ß¡«ó¡«ú« ¬«ñá. é «ß¡«ó¡«¼ ¬«ñÑ «¡á ¼«ªÑΓ ºáΓѼ ¿ß»«½∞º«-
- óáΓ∞ß∩ (óδºδóáΓ∞ß∩).
-
- ┌──────────────────────────────────────────────────────────┐
- │ Åα«µÑñπαá ¿½¿ Σπ¡¬µ¿∩ │
- │┌────────────────────────────────────────────────────────┐│
- ││ çáú«½«ó«¬ »α«µÑñπαδ ¿½¿ Σπ¡¬µ¿¿ ││
- │└────────────────────────────────────────────────────────┘│
- │┌────────────────────────────────────────────────────────┐│
- ││ ü½«¬ »α«µÑñπαδ ¿½¿ Σπ¡¬µ¿∩¼¿ ││
- ││┌──────────────────────────────────────────────────────┐││
- │││ Åα«µÑñπαδ ¿½¿ Σπ¡¬µ¿¿ (0 ¿½¿ í«½ÑÑ) │││
- ││└──────────────────────────────────────────────────────┘││
- ││ begin ││
- ││┌──────────────────────────────────────────────────────┐││
- │││ ï«ú¿¬á │││
- ││└──────────────────────────────────────────────────────┘││
- ││ end; ││
- │└────────────────────────────────────────────────────────┘│
- └──────────────────────────────────────────────────────────┘
-
- É¿ß. 1.2 Åα«ßΓá∩ »α«úαá¼¼á ¡á Åá߬á½Ñ.
-
- é ß½ÑñπεΘѼ »α¿¼ÑαÑ ñáÑΓß∩ ¡áíα«ß«¬ »α«úαá¼¼δ, ó ¬«Γ«α«⌐ ¿ß-
- »«½∞ºπÑΓß∩ Σπ¡¬µ¿∩ GetNumber. Åα«úαá¼¼¿ßΓ αáºñѽ¿½ ½«ú¿¬π »α«ú-
- αá¼¼δ ¡á Γα¿ ºáñáτ¿:
-
- 1. Å«½πτÑ¡¿Ñ τ¿ß½á «Γ »«½∞º«óáΓѽ∩.
-
- 2. éδ»«½¡Ñ¡¿Ñ ß φΓ¿¼ τ¿ß½«¼ ¡Ñ«íσ«ñ¿¼δσ óδτ¿ß½Ñ¡¿⌐.
-
- 3. ÅÑτáΓ∞ «ΓτÑΓá.
-
- B.Pascal 7 & Objects/LR - 15 -
-
-
- Äß¡«ó¡á∩ ½«ú¿¬á »α«úαá¼¼δ ºá¬½ετÑ¡á ó »«ß½Ññ¡Ñ¼ í½«¬Ñ
- begin..end.
-
- Program Report;
-
- var
- A: Real;
- { ñαπú¿Ñ «»¿ßá¡¿∩ }
- .
- .
- .
- function GetNumber: Real;
- var
- Responce: Real;
- begin
- Write('éóÑñ¿ΓÑ τ¿ß½«: ');
- Readln(Response);
- GetNumber := Response;
- end;
-
- procedure Calculate(X: Real);
- .
- .
- .
- procedure PrintReport;
- .
- .
- .
- begin
- A: = GetNumber;
- Calculate(A);
- PrintReport;
- end.
-
- Äß¡«ó¡á∩ ½«ú¿¬á »α«úαá¼¼δ ñ«ßΓáΓ«τ¡« »α«ßΓá ñ½∩ »«¡¿¼á¡¿∩.
- éßÑ ñÑΓ὿ πíαá¡δ ó ΓÑ½á »α«µÑñπα ¿ Σπ¡¬µ¿⌐. êß»«½∞º«óá¡¿Ñ »α«µÑ-
- ñπα ¿ Σπ¡¬µ¿⌐ »«ºó«½∩ÑΓ óá¼ αáßß¼áΓα¿óáΓ∞ »α«úαá¼¼π í«½ÑÑ πñ«í¡δ¼
- ¿ ¼«ñπ½∞¡δ¼ ß»«ß«í«¼.
-
- Ä»ÑαáΓ«αδ
- ─────────────────────────────────────────────────────────────────
-
- êßσ«ñ¡δ⌐ ¬«ñ ¼Ñªñπ begin ¿ end ß«ñÑαª¿Γ «»ÑαáΓ«αδ, ¬«Γ«αδÑ
- «»¿ßδóáεΓ óδ»«½¡∩ѼδÑ »α«úαá¼¼«⌐ ñÑ⌐ßΓó¿∩. ¥Γ« ¡áºδóáεΓß∩ «»Ñαá-
- Γ«α¡«⌐ τáßΓ∞ε »α«úαá¼¼δ. Åα¿óÑñѼ »α¿¼Ñαδ «»ÑαáΓ«α«ó:
-
- A := B + C; { »α¿ßó«¿Γ∞ º¡áτÑ¡¿Ñ }
-
- Calculate(Length, Height); { á¬Γ¿ó¿º¿α«óáΓ∞ »α«µÑñπαπ }
-
- if X < 2 then { «»ÑαáΓ«α πß½«ó¿∩ }
- Answer := X * Y;
-
- B.Pascal 7 & Objects/LR - 16 -
-
-
- begin { ß«ßΓáó¡«⌐ «»ÑαáΓ«α }
- X := 3;
- Y := 4;
- Z := 5;
- end;
-
- while not EOF(InFile) do { «»ÑαáΓ«α µ¿¬½á }
- begin
- ReadLn(InFile, Line);
- Process(Line);
- end;
-
- é »α«ßΓδσ «»ÑαáΓ«αáσ ¼«ª¡« »α¿ßóá¿óáΓ∞ º¡áτÑ¡¿Ñ, á¬Γ¿ó¿º¿α«-
- óáΓ∞ »α«µÑñπαπ ¿½¿ Σπ¡¬µ¿ε ¿½¿ »ÑαÑñáóáΓ∞ π»αáó½Ñ¡¿Ñ ¡á ñαπúπε
- τáßΓ∞ ¬«ñá. æΓαπ¬Γπα¡δÑ «»ÑαáΓ«αδ ¼«úπΓ íδΓ∞ ß«ßΓáó¡δ¼¿ ¿ ß«ñÑα-
- ªáΓ∞ ¡Ñ߬«½∞¬« «»ÑαáΓ«α«ó, «»ÑαáΓ«α µ¿¬½á ¿½¿ «»ÑαáΓ«α πß½«ó¿∩,
- π»αáó½∩εΘ¿⌐ ½«ú¿¬«⌐ »α«úαá¼¼δ, á Γá¬ªÑ «»ÑαáΓ«αδ with, π»α«ΘáεΘ¿Ñ
- ñ«ßΓπ» ¬ ñá¡¡δ¼ ó ºá»¿ß¿.
-
- éδαáªÑ¡¿∩
- ─────────────────────────────────────────────────────────────────
-
- Ä»ÑαáΓ«α Åá߬á½∩ ß«ßΓ«¿Γ ¿º óδαáªÑ¡¿⌐. éδαáªÑ¡¿∩ «»ÑαáΓ«αá
- ¼«úπΓ ß«ßΓ«∩Γ∞ ¿º «»Ñαá¡ñ«ó ¿ «»Ñαᵿ⌐. Äíδτ¡« ó óδαáªÑ¡¿∩σ óδ-
- »«½¡∩ÑΓß∩ ßαáó¡Ñ¡¿Ñ ½¿í« áα¿Σ¼ÑΓ¿τÑ߬¿Ñ, ½«ú¿τÑ߬¿Ñ ¿½¿ íπ½Ñó߬¿Ñ
- «»Ñαᵿ¿.
-
- éδαáªÑ¡¿∩ Åá߬á½∩ ¼«úπΓ ß«ßΓ«∩Γ∞ ¿º í«½ÑÑ »α«ßΓδσ óδαáªÑ¡¿⌐.
- Ä ¬«¼í¿¡áµ¿¿ «»Ñαá¡ñ«ó ¿ «»Ñαᵿ⌐ óδ ¼«ªÑΓÑ »α«τ¿ΓáΓ∞ ó â½áóÑ 6.
- Ä¡¿ ¼«úπΓ íδΓ∞ ñ«ßΓáΓ«τ¡« ß½«ª¡δ¼¿. Åα¿óÑñѼ ¡Ñ¬«Γ«αδÑ »α¿¼Ñαδ
- óδαáªÑ¡¿⌐:
-
- X + Y
- Done <> Error
- I <= Length
- -X
-
-
-
- B.Pascal 7 & Objects/LR - 17 -
-
- ïѬßѼδ
- ─────────────────────────────────────────────────────────────────
-
- ïѬßѼδ - φΓ« ¡á¿¼Ñ¡∞Φ¿Ñ º¡áτáΘ¿Ñ φ½Ñ¼Ñ¡Γδ ó »α«úαá¼¼Ñ Åáß-
- ¬á½∩. Ä¡¿ «íαáºπεΓß∩ «»Ñαá¡ñἿ ¿ «»Ñαᵿ∩¼¿ óδαáªÑ¡¿⌐. ïѬßѼδ -
- φΓ« ߻ѵ¿á½∞¡δÑ ß¿¼ó«½δ, ºáαѺÑαó¿α«óá¡¡δÑ ß½«óá, ¿ñÑ¡Γ¿Σ¿¬áΓ«αδ,
- ¼ÑΓ¬¿ ¿ ßΓ᫬«óδÑ ¬«¡ßΓá¡Γδ. Åα¿óÑñѼ »α¿¼Ñαδ ½Ñ¬ßѼ Åá߬á½∩:
-
- function { ºáαѺÑαó¿α«óá¡¡«Ñ ß½«ó« }
- ( { ߻ѵ¿á½∞¡δ⌐ ß¿¼ó«½ }
- := { ߻ѵ¿á½∞¡δ⌐ ß¿¼ó«½ }
- Calculate { ¿ñÑ¡Γ¿Σ¿¬áΓ«α »α«µÑñπαδ }
- 9 { τ¿ß½« }
-
- Åα¿óÑñѼ »α¿¼Ñα, ¿º ¬«Γ«α«ú« óδ ¼«ªÑΓÑ ó¿ñÑΓ∞, τΓ« «»ÑαáΓ«αδ
- ß«ßΓ«∩Γ ¿º óδαáªÑ¡¿⌐, ¬«Γ«αδÑ ó ßó«ε «τÑαÑñ∞ ß«ßΓ«∩Γ ¿º ½Ñ¬ßѼ.
-
- ┌──────────────────────────────────────────────────────────┐
- │ Ä»ÑαáΓ«αδ (1 ¿½¿ í«½ÑÑ) │
- │┌────────────────────────────────────────────────────────┐│
- ││ éδαáªÑ¡¿∩ (1 ¿½¿ í«½ÑÑ) ││
- ││┌──────────────────────────────────────────────────────┐││
- │││ ïѬßѼδ (1 ¿½¿ í«½ÑÑ) │││
- ││└──────────────────────────────────────────────────────┘││
- │└────────────────────────────────────────────────────────┘│
- └──────────────────────────────────────────────────────────┘
-
- É¿ß. 1.3 ä¿áúαá¼¼á «»ÑαáΓ«αá.
-
-
- Æ¿»δ, »ÑαѼѡ¡δÑ, ¬«¡ßΓá¡Γδ ¿ Γ¿»¿º¿α«óá¡¡δÑ ¬«¡ßΓá¡Γδ
- ─────────────────────────────────────────────────────────────────
-
- ÅÑαѼѡ¡á∩ ¼«ªÑΓ ß«ñÑαªáΓ∞ ¿º¼Ñ¡∩Ѽ«Ñ º¡áτÑ¡¿Ñ. èáªñá∩ »ÑαÑ-
- ¼Ñ¡¡á∩ ñ«½ª¡á ¿¼ÑΓ∞ Γ¿». Æ¿» »ÑαѼѡ¡«⌐ «»αÑñѽ∩ÑΓ ¼¡«ªÑßΓó« º¡á-
- τÑ¡¿⌐, ¬«Γ«αδÑ ¼«ªÑΓ ¿¼ÑΓ∞ »ÑαѼѡ¡á∩.
-
- ìá»α¿¼Ñα, ó ß½ÑñπεΘÑ⌐ »α«úαá¼¼Ñ «»¿ßδóáεΓß∩ »ÑαѼѡ¡δÑ X ¿
- Y, ¿¼ÑεΘ¿Ñ Γ¿» Integer. Æá¬¿¼ «íαẫ¼, X ¿ Y ¼«úπΓ ß«ñÑαªáΓ∞
- Γ«½∞¬« µÑ½δÑ º¡áτÑ¡¿∩ (τ¿ß½á). àß½¿ ó óáΦÑ⌐ »α«úαá¼¼Ñ »αÑñ»α¿¡¿-
- ¼áÑΓß∩ »«»δΓ¬á »α¿ßó«¿Γ∞ φΓ¿¼ »ÑαѼѡ¡δ¼ º¡áτÑ¡¿∩ ñαπú«ú« Γ¿»á,
- Borland Pascal ß««íΘáÑΓ «í «Φ¿í¬Ñ.
-
- program Example;
-
- const
- A = 12; { ¬«¡ßΓá¡Γá A ¡Ñ ¿º¼Ñ¡∩ÑΓ º¡áτÑ¡¿∩ }
- B: Integer = 23; { Γ¿»¿º¿α«óá¡¡á∩ ¬«¡ßΓá¡Γá B »«½πτáÑΓ
- ¡áτá½∞¡«Ñ º¡áτÑ¡¿Ñ }
- var
- X, Y: Integer; { »ÑαѼѡ¡δÑ X ¿ Y ¿¼ÑεΓ Γ¿» Integer }
- J: Real; { »ÑαѼѡ¡á∩ J ¿¼ÑÑΓ Γ¿» Real }
-
-
- B.Pascal 7 & Objects/LR - 18 -
-
- begin
- X := 7; { »ÑαѼѡ¡«⌐ X »α¿ßóá¿óáÑΓß∩ º¡áτÑ¡¿Ñ }
- Y := 7; { »ÑαѼѡ¡«⌐ Y »α¿ßóá¿óáÑΓß∩ º¡áτÑ¡¿Ñ }
- X := Y + Y; { º¡áτÑ¡¿Ñ »ÑαѼѡ¡«⌐ X ¿º¼Ñ¡∩ÑΓß∩ }
- J := 0.075; { »ÑαѼѡ¡«⌐ J »α¿ßóá¿óáÑΓß∩ º¡áτÑ¡¿Ñ
- ß »½áóáεΘÑ⌐ Γ«τ¬«⌐ }
- end.
-
- é φΓ«⌐ »α«ßΓ«⌐ ¿ ¡Ñ «τÑ¡∞ »«½Ñº¡«⌐ »α«úαá¼¼Ñ X »Ñαó«¡áτá½∞¡«
- »α¿ßóá¿óáÑΓß∩ º¡áτÑ¡¿Ñ 7; ñóπ¼∩ «»ÑαáΓ«αἿ ¡¿ªÑ Ñ⌐ »α¿ßóá¿óáÑΓß∩
- ¡«ó«Ñ º¡áτÑ¡¿Ñ: Y + Y. èᬠ¼«ª¡« ó¿ñÑΓ∞, º¡áτÑ¡¿Ñ »ÑαѼѡ¡«⌐ ¼«-
- ªÑΓ ¿º¼Ñ¡∩Γ∞ß∩.
-
- A - φΓ« ¬«¡ßΓá¡Γá. Åα«úαá¼¼á ¡áº¡áτáÑΓ Ñ⌐ º¡áτÑ¡¿Ñ 12, ¿ φΓ«
- º¡áτÑ¡¿Ñ ¿º¼Ñ¡∩Γ∞ß∩ ¡Ñ ¼«ªÑΓ - ó σ«ñÑ óδ»«½¡Ñ¡¿∩ »α«úαá¼¼δ «¡«
- «ßΓáÑΓß∩ »«ßΓ«∩¡¡δ¼.
-
- B »αÑñßΓáó½∩ÑΓ ß«í«⌐ Γ¿»¿º¿α«óá¡¡πε ¬«¡ßΓá¡Γπ. à⌐ »α¿ßóá¿óá-
- ÑΓß∩ º¡áτÑ¡¿Ñ »α¿ «»¿ßá¡¿¿, ¡« ñáÑΓß∩ Γá¬ªÑ Γ¿» Integer. Æ¿»¿º¿-
- α«óá¡πε ¬«¡ßΓá¡Γπ ¼«ª¡« αáßß¼áΓα¿óáΓ∞ ¬á¬ »ÑαѼѡ¡πε ß ¡áτá½∞¡δ¼
- º¡áτÑ¡¿Ñ¼. Å«ºñ¡ÑÑ »α«úαá¼¼á ¼«ªÑΓ ¿º¼Ñ¡¿Γ∞ »Ñαó«¡áτá½∞¡«Ñ º¡áτÑ-
- ¡¿Ñ B ¡á ¬á¬«Ñ-Γ« ñαπú«Ñ º¡áτÑ¡¿Ñ.
-
- àß½¿ óδ óÑα¡ÑΓÑß∞ «íαáΓ¡« ¬ »α¿óÑñÑ¡¡«¼π ó ¡áτá½Ñ ú½áóδ »α¿-
- ¼Ñα𠬫ñá, Γ« πó¿ñ¿ΓÑ, τΓ« Σπ¡¬µ¿∩ GetNumber ¿¼ÑÑΓ αáºñѽ «»¿ßá-
- ¡¿⌐, ó ¬«Γ«α«¼ «»¿ßδóáÑΓß∩ »ÑαѼѡ¡á∩. Åα«µÑñπαδ ¿ Σπ¡¬µ¿¿ ¼«úπΓ
- ß«ñÑαªáΓ∞ αáºñÑ½δ «»¿ßá¡¿⌐ Γá¬ªÑ ¬á¬ »α«úαá¼¼δ ¿ ¼«ñπ½¿.
-
-
-
-
- B.Pascal 7 & Objects/LR - 19 -
-
- 諼»«¡«ó¬á τáßΓÑ⌐
- ─────────────────────────────────────────────────────────────────
-
- ÆÑ»Ñα∞, ¬«úñá óδ »«º¡á¬«¼¿½¿ß∞ ß «ß¡«ó¡δ¼¿ ¬«¼»«¡Ñ¡ΓἿ
- »α«úαá¼¼δ Borland Pascal, ñáóá⌐ΓÑ »«ß¼«Γα¿¼, ¬á¬ óßÑ φΓ« αáí«ΓáÑΓ
- ó¼ÑßΓÑ. Åα¿óÑñѼ ñ¿áúαá¼¼π »α«úαá¼¼δ Borland Pascal:
-
- ┌──────────────────────────────────────────────────────────┐
- │ Åα«úαá¼¼á ¡á Åá߬á½Ñ │
- │┌────────────────────────────────────────────────────────┐│
- ││ çáú«½«ó«¬ »α«úαá¼¼δ ││
- │└────────────────────────────────────────────────────────┘│
- │┌────────────────────────────────────────────────────────┐│
- ││ ìÑ«í∩ºáΓѽ∞¡δÑ «»ÑαáΓ«αδ uses ││
- │└────────────────────────────────────────────────────────┘│
- │┌────────────────────────────────────────────────────────┐│
- ││ Äß¡«ó¡«⌐ í½«¬ »α«úαá¼¼δ ││
- ││┌──────────────────────────────────────────────────────┐││
- │││ Ä»¿ßá¡¿∩ │││
- ││└──────────────────────────────────────────────────────┘││
- ││┌──────────────────────────────────────────────────────┐││
- │││ Åα«µÑñπαδ ¿½¿ Σπ¡¬µ¿¿ (0 ¿½¿ í«½ÑÑ) │││
- │││┌────────────────────────────────────────────────────┐│││
- ││││ Ä»¿ßá¡¿∩ ││││
- │││└────────────────────────────────────────────────────┘│││
- │││ begin │││
- │││ ┌────────────────────────────────────────────────┐│││
- │││ │ Ä»ÑαáΓ«αδ (1 ¿½¿ í«½ÑÑ) ││││
- │││ └────────────────────────────────────────────────┘│││
- │││ end; │││
- ││└──────────────────────────────────────────────────────┘││
- ││ begin ││
- ││ ┌────────────────────────────────────────────────────┐││
- ││ │ Ä»ÑαáΓ«αδ (1 ¿½¿ í«½ÑÑ) │││
- ││ │┌──────────────────────────────────────────────────┐│││
- ││ ││ éδαáªÑ¡¿∩ (1 ¿½¿ í«½ÑÑ) ││││
- ││ ││┌────────────────────────────────────────────────┐││││
- ││ │││ ïѬßѼδ (1 ¿½¿ í«½ÑÑ) │││││
- ││ ││└────────────────────────────────────────────────┘││││
- ││ │└──────────────────────────────────────────────────┘│││
- ││ └────────────────────────────────────────────────────┘││
- ││ end. ││
- │└────────────────────────────────────────────────────────┘│
- └──────────────────────────────────────────────────────────┘
-
- É¿ß. 1.4 ÉáßΦ¿αÑ¡¡á∩ ñ¿áúαá¼¼á »α«úαá¼¼δ ¡á Åá߬á½Ñ.
-
- Åα«úαá¼¼π ¡á Åá߬á½Ñ ß«ßΓáó½∩εΓ ºáú«½«ó«¬ »α«úαá¼¼δ, ¡Ñ«í∩-
- ºáΓѽ∞¡δ⌐ «»ÑαáΓ«α uses (« ¡Ñ¼ íπñÑΓ αáß߬áºá¡« »«ºñ¡ÑÑ) ¿ «ß¡«ó-
- ¡«⌐ í½«¬ »α«úαá¼¼δ. é «ß¡«ó¡«¼ í½«¬Ñ ¼«úπΓ »α¿ßπΓßΓó«óáΓ∞ í«½ÑÑ
- ¼Ñ½¬¿Ñ í½«¬¿ »α«µÑñπα ¿ Σπ¡¬µ¿⌐. ò«Γ∩ ¡á ñ¿áúαá¼¼Ñ φΓ« ¡Ñ »«¬á-
- ºá¡«, »α«µÑñπαδ ¿¼ Σπ¡¬µ¿¿ ¼«úπΓ íδΓ∞ 󽫪ѡ¡δ¼¿ ó ñαπú¿Ñ »α«µÑ-
- ñπαδ ¿½¿ Σπ¡¬µ¿¿. äαπú¿¼¿ ß½«óἿ, í½«¬¿ ¼«úπΓ ß«ñÑαªáΓ∞ ñαπú¿Ñ
-
- B.Pascal 7 & Objects/LR - 20 -
-
- í½«¬¿.
-
- é ß«τÑΓá¡¿¿ ß ñαπú¿¼¿ ½Ñ¬ßѼἿ ¿ »α«íѽἿ ½Ñ¬ßÑ¼δ ¼«úπΓ
- «íαẫóδóáΓ∞ óδαáªÑ¡¿∩, Σ«α¼¿απεΘ¿Ñ «»ÑαáΓ«α. Ä»ÑαáΓ«αδ, ó ßó«ε
- «τÑαÑñ∞, ó ß«τÑΓá¡¿¿ ß αáºñѽ«¼ «»¿ßá¡¿⌐ «íαáºπεΓ í½«¬¿ «ß¡«ó¡«⌐
- »α«úαá¼¼δ ¿½¿ í½«¬ ó »α«µÑñπαÑ ¿½¿ Σπ¡¬µ¿¿.
-
- î«ñπ½¿
- ─────────────────────────────────────────────────────────────────
-
- Åα«úαá¼¼á Borland Pascal ¼«ªÑΓ ¿ß»«½∞º«óáΓ∞ í½«¬¿ ¬«ñá ó
- »α«úαá¼¼¡δσ ¼«ñπ½∩σ. î«ñπ½∞ (unit) ¼«ª¡« αáßß¼áΓα¿óáΓ∞ ¬á¬ ¼¿-
- ¡¿-»α«úαá¼¼π, ¬«Γ«απε ¼«ªÑΓ ¿ß»«½∞º«óáΓ∞ óáΦá »α¿¬½áñ¡á∩ »α«úαá¼-
- ¼á. èᬠ¿ »α«úαá¼¼á, «¡ ¿¼ÑÑΓ ºáú«½«ó«¬ (¬«Γ«αδ⌐ ¡áºδóáÑΓß∩ ºáú«-
- ½«ó¬«¼ ¼«ñπ½∩) ¿ «ß¡«ó¡«⌐ í½«¬, «úαá¡¿τÑ¡¡δ⌐ begin ¿ end.
-
- Äß¡«ó¡«⌐ í½«¬ ½εí«⌐ »α«úαá¼¼δ Borland Pascal ¼«ªÑΓ ó¬½ετáΓ∞
- ó ßÑí∩ ßΓ᫬π, »«ºó«½∩εΘπε »α«úαá¼¼Ñ ¿ß»«½∞º«óáΓ∞ «ñ¿¡ ¿½¿ í«½ÑÑ
- ¼«ñπ½Ñ⌐. ìá»α¿¼Ñα, Ñß½¿ óδ »¿ΦÑΓÑ »α«úαá¼¼π DOS ß ¿¼Ñ¡Ñ¼ Colors ¿
- σ«Γ¿ΓÑ ¿º¼Ñ¡∩Γ∞ µóÑΓá óδó«ñ¿¼«ú« ¡á φ¬αá¡ ΓѬßΓá, Γ« óáΦá »α«ú-
- αá¼¼á ¼«ªÑΓ ¿ß»«½∞º«óáΓ∞ ßΓá¡ñáαΓ¡δ⌐ ¼«ñπ½∞ Crt, ∩ó½∩εΘ¿⌐ß∩
- τáßΓ∞ε í¿í½¿«ΓѬ¿ ¿ß»«½¡∩εΘÑ⌐ ß¿ßΓѼδ Borland Pascal:
-
- program Colors;
- uses Crt;
- begin
- .
- .
- .
- end.
-
- æΓ᫬á uses Crt ß««íΘáÑΓ Borland Pascal, τΓ« ¡πª¡« ó¬½ετ¿Γ∞
- ¼«ñπ½∞ Crt ó óδ»«½¡∩Ѽπε »α«úαá¼¼π. èα«¼Ñ óßÑú« »α«τÑú«, ¼«ñπ½∞
- Crt ß«ñÑαª¿Γ óÑß∞ ¡Ñ«íσ«ñ¿¼δ⌐ ¬«ñ ñ½∩ ¿º¼Ñ¡Ñ¡¿∩ µóÑΓá ó óáΦÑ⌐
- »α«úαá¼¼Ñ. ÅπΓѼ »α«ßΓ«ú« ó¬½ετÑ¡¿∩ uses Crt óáΦá »α«úαá¼¼á ¼«ªÑΓ
- ¿ß»«½∞º«óáΓ∞ óÑß∞ ¬«ñ, ß«ñÑαªáΘ¿⌐ß∩ ó ¼«ñπ½Ñ Crt. Å«φΓ«¼π «»Ñαá-
- Γ«α uses ¡áºδóáεΓ Γá¬ªÑ «»ÑαáΓ«α«¼ ¿ß»«½∞º«óá¡¿∩. àß½¿ íδ óδ »«-
- ¼ÑßΓ¿½¿ óÑß∞ ¬«ñ, ¡Ñ«íσ«ñ¿¼δ⌐ ñ½∩ αÑ὿ºáµ¿¿ Σπ¡¬µ¿«¡á½∞¡δσ ó«º-
- ¼«ª¡«ßΓÑ⌐ Crt, ó ßó«ε »α«úαá¼¼π, φΓ« »«ΓαÑí«óὫ íδ «úα«¼¡δσ πß¿-
- ½¿⌐ ¿ «Γó½Ñ¬½« íδ óáß «Γ «ß¡«ó¡«⌐ µÑ½¿ »α«úαá¼¼δ.
-
- ü¿í½¿«ΓѬ¿ ¿ß»«½¡∩εΘÑ⌐ ß¿ßΓѼδ Borland Pascal ó¬½ετáεΓ ó ßÑ-
- í∩ ¡Ñ߬«½∞¬« ¼«ñπ½Ñ⌐, ¬«Γ«αδÑ óδ ¡á⌐ñÑΓÑ óÑß∞¼á »«½Ñº¡δ¼¿. ìá»α¿-
- ¼Ñα, í½áú«ñáα∩ ¿ß»«½∞º«óá¡¿ε ¼«ñπ½Ñ⌐ Dos ¿½¿ WinDos, óáΦá »α«ú-
- αá¼¼á ¼«ªÑΓ »«½πτ¿Γ∞ ñ«ßΓπ» ¬ ¡Ñ߬«½∞¬¿¼ »«ñ»α«úαἼἠ«»Ñαᵿ«¡-
- ¡«⌐ ß¿ßΓÑ¼δ ¿ »«ñ»α«úαἼἠαáí«Γδ ß Σá⌐½á¼¿.
-
- éδ ¼«ªÑΓÑ Γá¬ªÑ »¿ßáΓ∞ ßó«¿ ß«íßΓóÑ¡¡δÑ ¼«ñπ½¿. Åα¿¼Ñ¡∩⌐ΓÑ
- ¿σ ñ½∩ αáºñѽѡ¿∩ í«½∞Φ¿σ »α«úαá¼¼ ¡á ½«ú¿τÑ߬¿Ñ ßó∩ºá¡¡δÑ Σαáú-
- ¼Ñ¡Γδ. Åα«úαá¼¼¡δ⌐ ¬«ñ, ¬«Γ«αδ⌐ óδ »«¼ÑΘáÑΓÑ ó ¼«ñπ½∞, ¼«ªÑΓ ¿ß-
- »«½∞º«óáΓ∞ß∩ ½εí«⌐ »α«úαá¼¼«⌐. éá¼ ¡πª¡« ¡á»¿ßáΓ∞ ¿ßσ«ñ¡δ⌐ ¬«ñ
- Γ«½∞¬« «ñ¿¡ αáº, á ºáΓѼ óδ ß¼«ªÑΓÑ ¼¡«ú« αẠÑú« ¿ß»«½∞º«óáΓ∞.
-
-
- B.Pascal 7 & Objects/LR - 21 -
-
- æ¿¡Γá¬ß¿τÑ߬¿Ñ ñ¿áúαá¼¼δ
- ─────────────────────────────────────────────────────────────────
-
- Åα¿ ¿ºπτÑ¡¿¿ ú½áó 2 - 11, úñÑ «»αÑñѽ∩ÑΓß∩ ∩ºδ¬ Borland
- Pascal, óδ óßΓαÑΓ¿ΓÑ ß¿¡Γá¬ß¿τÑ߬¿Ñ ñ¿áúαá¼¼δ, ¡á»α¿¼Ñα:
-
- ┌───┐ ┌──────────────┐ ┌───┐
- ¬«¡ßΓá¡Γá-¼áßß¿ó ───>│ ( ├────>│Γ¿»¿º¿α«óá¡¡á∩├──┬─>│ ) ├──>
- └───┘ ^ │ ¬«¡ßΓá¡Γá │ │ └───┘
- │ └──────────────┘ │
- │ ┌───┐ │
- └──────┤ , │<────────┘
- └───┘
-
- ùΓ«íδ »α«τ¿ΓáΓ∞ ñ¿áúαá¼¼π, ß½Ññπ⌐ΓÑ »« ßΓαѽ¬á¼. ùáßΓ«
- óßΓαÑτáεΓß∩ á½∞ΓÑα¡áΓ¿ó¡δÑ »πΓ¿: »πΓ∞, ¡áτ¿¡áεΘ¿⌐ß∩ ß½Ñóá ¿ ºá-
- ¬á¡τ¿óáεΘ¿⌐ß∩ ßΓαѽ¬«⌐ ß»αáóá, ∩ó½∩ÑΓß∩ ñ«»πßΓ¿¼δ¼. ÅπΓ∞ »ÑαÑßÑ-
- ¬áÑΓ í½«¬¿, ß«ñÑαªáΘ¿Ñ ¿¼Ñ¡á φ½Ñ¼Ñ¡Γ«ó, ¿ß»«½∞ºπѼδσ ñ½∩ »«ßΓα«Ñ-
- ¡¿∩ φΓ«⌐ τáßΓ¿ ß¿¡Γá¬ß¿ßá.
-
- ê¼Ñ¡á ó »α∩¼«πú«½∞¡δσ αἬáσ ß ΓѬßΓ«¼ ñ«½ª¡δ íδΓ∞ ºá¼Ñ¡Ñ¡δ
- ñÑ⌐ßΓó¿Γѽ∞¡δ¼¿ ¬«¡ßΓαπ¬µ¿∩¼¿. ìѬ«Γ«αδÑ αἬ¿ ß«ñÑαªáΓ ºáαѺÑα-
- ó¿α«óá¡¡δÑ ß½«óá, º¡á¬¿ «»Ñαᵿ⌐ ¿ º¡á¬¿ »π¡¬Γπᵿ¿, Γ« ÑßΓ∞ Σá¬-
- Γ¿τÑ߬¿Ñ ΓÑα¼δ, ¿ß»«½∞ºπѼδÑ ó »α«úαá¼¼Ñ. ê¼Ñ¡á ó í½«¬áσ - φΓ«
- ¬«¡ßΓαπ¬µ¿¿ ∩ºδ¬á. ê¼Ñ¡á, ¡á»¿ßá¡¡δÑ »«-á¡ú½¿⌐߬¿ (¡á»α¿¼Ñα,
- procedure), »αÑñßΓáó½∩ε ß«í«⌐ ºáαѺÑαó¿α«óá¡¡δÑ ß½«óá ¿ «»Ñαᵿ¿
- Borland Pascal.
-
-
-
- B.Pascal 7 & Objects/LR - 22 -
-
- ───────────────────────────────────────────────────────────────────────
- â½áóá 2. ïѬßѼδ
- ─────────────────────────────────────────────────────────────────
-
- ïѬßѼδ - φΓ« ¼¿¡¿¼á½∞¡δÑ º¡áτ¿¼δÑ Ññ¿¡¿µδ ΓѬßΓá ó »α«úαá¼-
- ¼Ñ, ¡á»¿ßá¡¡«⌐ ¡á Åá߬á½Ñ. Ä¡¿ »αÑñßΓáó½Ñ¡δ Γᬿ¼¿ ¬áΓÑú«α¿∩¼¿
- ¬á¬ ߻ѵ¿á½∞¡δÑ ß¿¼ó«½δ, ¿ñÑ¡Γ¿Σ¿¬áΓ«αδ, ¼ÑΓ¬¿, τ¿ß½á ¿ ßΓ᫬«óδÑ
- ¬«¡ßΓá¡Γδ.
-
- Åα«úαá¼¼á, ¡á»¿ßá¡¡á∩ ¡á Åá߬á½Ñ, ß«ßΓ«¿Γ ¿º ½Ñ¬ßѼ ¿ αáºñÑ-
- ½¿ΓѽÑ⌐, »α¿τѼ αáºñѽ¿Γѽ∞ »αÑñßΓáó½∩ÑΓ ß«í«⌐ »α«íѽ ¿½¿ ¬«¼¼Ñ¡-
- Γáα¿⌐. äóÑ ß«ßÑñ¡¿Ñ ½Ñ¬ßѼδ, Ñß½¿ «¡¿ »αÑñßΓáó½∩εΓ ß«í«⌐ ºáαѺÑα-
- ó¿α«óá¡¡«Ñ ß½«ó«, ¿ñÑ¡Γ¿Σ¿¬áΓ«α, ¼ÑΓ¬π ¿½¿ τ¿ß½«, ñ«½ª¡δ íδΓ∞
- «Γñѽѡδ ñαπú «Γ ñαπúá «ñ¡¿¼ ¿ ¡Ñ߬«½∞¬¿¼¿ αáºñѽ¿Γѽ∩¼¿.
-
- Åα¿¼Ñτá¡¿Ñ: Éáºñѽ¿Γѽ¿ ¡Ñ ¼«úπΓ íδΓ∞ τáßΓ∞ε ½Ñ¬ßѼ,
- ºá ¿ß¬½ετÑ¡¿Ñ¼ ßΓ᫬«óδσ ¬«¡ßΓá¡Γ.
-
- æ»Ñµ¿á½∞¡δÑ ß¿¼ó«½δ
- ─────────────────────────────────────────────────────────────────
-
- Borland Pascal ¿ß»«½∞ºπÑΓ ß½ÑñπεΘ¿Ñ »«ñ¼¡«ªÑßΓóá ¡áí«αá ß¿¼-
- ó«½«ó ¬«ñá ASCII:
-
- * üπ¬óδ - íπ¬óδ á¡ú½¿⌐߬«ú« á½Σáó¿Γá «Γ A ñ« Z ¿ «Γ a ñ« z.
-
- * û¿Σαδ - áαáí߬¿Ñ µ¿Σαδ «Γ 0 ñ« 9.
-
- * ÿÑßΓ¡áñµáΓ¿α¿τ¡δÑ µ¿Σαδ - áαáí߬¿Ñ µ¿Σαδ «Γ 0 ñ« 9, íπ¬óδ
- «Γ A ñ« F ¿ íπ¬óδ «Γ a ñ« f.
-
- * Éáºñѽ¿Γѽ¿ - ß¿¼ó«½ »α«íѽá (ASCII 32) ¿ óßÑ π»αáó½∩εΘ¿Ñ
- ß¿¼ó«½δ ¬«ñá ASCII (ASCII 0-31), ó¬½ετá∩ ß¿¼ó«½ ¬«¡µá
- ßΓ᫬¿ ¿½¿ ß¿¼ó«½ ó«ºóαáΓá (ASCII 13).
-
- íπ¬óá
- │
- └─────────┬──────────────┬──────────────┬──────────────┐
- │ │ │ │
- v v v v
- ┌───┐ ┌───┐ ┌───┐ ┌───┐
- │ A │ ... │ Z │ │ a │ ... │ z │
- └─┬─┘ └─┬─┘ └─┬─┘ └─┬─┘
- │ │ │ │
- └──────────────┴──────────────┴──────────────┴────>
-
-
- B.Pascal 7 & Objects/LR - 23 -
-
-
- µ¿Σαá
- │
- └──────┬───────────┐
- │ │
- v v
- ┌───┐ ┌───┐
- │ 0 │ ... │ 9 │
- └─┬─┘ └─┬─┘
- │ │
- └───────────┴───────>
-
- ΦÑßΓ¡áñµáΓ¿α¿τ¡á∩
- µ¿Σαá
- │ ┌───────────┐
- └────────>│ µ¿Σαá │─────────────────────────┐
- │ └───────────┘ │
- │ │
- └───┬─────────┬─────────┬─────────┐ │
- │ │ │ │ │
- v v v v │
- ┌───┐ ┌───┐ ┌───┐ ┌───┐ │
- │ A │ .. │ F │ │ a │ ... │ f │ │
- └─┬─┘ └─┬─┘ └─┬─┘ └─┬─┘ │
- │ │ │ │ │
- └─────────┴─────────┴─────────┴─────────┴─────────>
-
- æ»Ñµ¿á½∞¡δÑ ß¿¼ó«½δ ¿ ºáαѺÑαó¿α«óá¡¡δÑ ß½«óá »αÑñßΓáó½∩εΓ
- ß«í«⌐ ß¿¼ó«½δ, ¿¼ÑεΘ¿Ñ «ñ¡« ¿½¿ ¡Ñ߬«½∞¬« Σ¿¬ß¿α«óá¡¡δσ º¡áτÑ¡¿⌐.
- æ»Ñµ¿á½∞¡δ¼¿ ß¿¼ó«½á¼¿ ∩ó½∩εΓß∩ ß½ÑñπεΘ¿Ñ «ñ¿¡«τ¡δÑ ß¿¼ó«½δ:
-
- + - * / = < > [ ] . , ( ) : ; ^ @ { } $ #
-
- æ½ÑñπεΘ¿Ñ »áαδ ß¿¼ó«½«ó Γá¬ªÑ »αÑñßΓáó½∩εΓ ß«í«⌐ ߻ѵ¿á½∞¡δÑ
- ß¿¼ó«½δ:
-
- <= >= := .. (* *) (. .)
-
- èα«¼Ñ Γ«ú«, ¡Ñ¬«Γ«αδÑ ß»Ñµ¿á½∞¡δÑ ß¿¼ó«½δ ∩ó½∩εΓß∩ º¡á¬á¼¿
- «»Ñαᵿ⌐. ïÑóá∩ ¬óáñαáΓ¡á∩ ߬«í¬á ([) φ¬ó¿óá½Ñ¡Γ¡á »áαÑ ß¿¼ó«½«ó,
- ß«ßΓ«∩ΘÑ⌐ ¿º ½Ñó«⌐ ¬απú½«⌐ ߬«í¬¿ ¿ Γ«τ¬¿ ((.). ǡὫú¿τ¡« »αáóá∩
- ¬óáñαáΓ¡á∩ ߬«í¬á (]) φ¬ó¿óá½Ñ¡Γ¡á »áαÑ ß¿¼ó«½«ó, ß«ßΓ«∩ΘÑ⌐ ¿º
- Γ«τ¬¿ ¿ »αáó«⌐ ¬απú½«⌐ ߬«í¬¿ (.)).
-
-
-
- B.Pascal 7 & Objects/LR - 24 -
-
- çáαѺÑαó¿α«óá¡¡δÑ ß½«óá
- ¿ ßΓá¡ñáαΓ¡δÑ ñ¿αÑ¬Γ¿óδ Borland Pascal
- ─────────────────────────────────────────────────────────────────
-
- æ½ÑñπεΘ¿Ñ ß½«óá ∩ó½∩εΓß∩ ºáαѺÑαó¿α«óá¡¡δ¼¿ ó Borland Pascal:
-
- çáαѺÑαó¿α«óá¡¡δÑ ß½«óá Borland Pascal Æáí½¿µá 1.1
- ─────────────────────────────────────────────────────────────────
- and exports mod shr
- array file nil string
- asm for not then
- begin function object to
- case goto of type
- const if or unit
- consatructor implementation packed until
- destructor in procedure uses
- div inherited program var
- do inline record while
- downto interface repeat with
- else label set xor
- end library shl
- ─────────────────────────────────────────────────────────────────
-
- é ¡áßΓ«∩ΘѼ απ¬«ó«ñßΓóÑ ºáαѺÑαó¿α«óá¡¡δÑ ß½«óá ºá»¿ßá¡δ
- ßΓα«τ¡δ¼¿ íπ¬óἿ. Äñ¡á¬«, ñ½∩ Borland Pascal íѺαẽ¿τÑ¡ αÑú¿ßΓα
- ¬½áó¿áΓπαδ, »«φΓ«¼π óδ ¼«ªÑΓÑ ¿ß»«½∞º«óáΓ∞ ó ßó«Ñ⌐ »α«úαá¼¼Ñ íπ¬-
- óδ ¬á¬ ¡¿ª¡Ñú«, Γᬠ¿ óÑασ¡Ñú« αÑú¿ßΓαá.
-
- äá½ÑÑ »α¿óÑñÑ¡δ ßΓá¡ñáαΓ¡δÑ ñ¿αÑ¬Γ¿óδ Borland Pascal. é «Γ-
- ½¿τ¿Ñ «Γ ºáαѺÑαó¿α«óá¡¡δσ ß½«ó »«½∞º«óáΓѽ∞ ¼«ªÑΓ ¿σ »ÑαÑ«»αÑñÑ-
- ½¿Γ∞. Äñ¡á¬« ñѽáΓ∞ φΓ« ¡Ñ αѬ«¼Ñ¡ñπÑΓß∩.
-
- æΓá¡ñáαΓ¡δÑ ñ¿αÑ¬Γ¿óδ Borland Pascal Æáí½¿µá 1.2
- ─────────────────────────────────────────────────────────────────
- absolute far name resident
- assembler forward near virtual
- export index private
- external interrupt public
- ─────────────────────────────────────────────────────────────────
-
-
-
- B.Pascal 7 & Objects/LR - 25 -
-
- êñÑ¡Γ¿Σ¿¬áΓ«αδ
- ─────────────────────────────────────────────────────────────────
-
- êñÑ¡Γ¿Σ¿¬áΓ«αδ óδßΓπ»áεΓ ó ¬áτÑßΓóÑ ¿¼Ñ¡ ¬«¡ßΓá¡Γ, Γ¿»«ó,
- »ÑαѼѡ¡δσ, »α«µÑñπα, ¼«ñπ½Ñ⌐, »α«úαá¼¼ ¿ »«½Ñ⌐ ó ºá»¿ß∩σ.
-
- êñÑ¡Γ¿Σ¿¬áΓ«α ¼«ªÑΓ ¿¼ÑΓ∞ ½εíπε ñ½¿¡π, «ñ¡á¬« Γ«½∞¬« »ÑαóδÑ
- Ñú« 63 ß¿¼ó«½á ∩ó½∩εΓß∩ º¡áτ¿¼δ¼¿. êñÑ¡Γ¿Σ¿¬áΓ«α ñ«½ªÑ¡ ¡áτ¿¡áΓ∞-
- ß∩ ß íπ¬óδ ¿ ¡Ñ ¼«ªÑΓ ß«ñÑαªáΓ∞ »α«íѽ«ó. Å«ß½Ñ »Ñαó«ú« ß¿¼ó«½á
- ¿ñÑ¡Γ¿Σ¿¬áΓ«αá ¼«ª¡« ¿ß»«½∞º«óáΓ∞ íπ¬óδ, µ¿Σαδ ¿ ß¿¼ó«½δ »«ñτÑα-
- ¬¿óá¡¿∩ (º¡áτÑ¡¿Ñ ASCII $5F). èᬠ¿ ó ºáαѺÑαó¿α«óá¡¡δσ ß½«óáσ, ó
- ¿ñÑ¡Γ¿Σ¿¬áΓ«αáσ ¼«ª¡« ¿ß»«½∞º«óáΓ∞ ¬á¬ ßΓα«τ¡δÑ, Γᬠ¿ »α«»¿ß¡δÑ
- íπ¬óδ (¬«¼»¿½∩Γ«α ¿σ ¡Ñ αẽ¿τáÑΓ).
-
- êñÑ¡Γ¿Σ¿¬áΓ«α ñ«½ªÑ¡ ¡áτ¿¡áΓ∞ß∩ ß íπ¬óδ ¿ ¡Ñ ñ«½ªÑ¡ ß«ñÑα-
- ªáΓ∞ »α«íѽ«ó. Å«ß½Ñ »Ñαó«ú« ß¿¼ó«½á ñ«»π߬áεΓß∩ íπ¬óδ, µ¿Σαδ ¿
- ß¿¼ó«½ »«ñτÑનóá¡¿∩ (ASCII $5F). èᬠ¿ ºáαѺÑαó¿α«óá¡¡δÑ ß½«óá,
- ¿ñÑ¡Γ¿Σ¿¬áΓ«αδ íѺαẽ¿τ¡δ ¬ αÑú¿ßΓα𠬽áó¿áΓπαδ.
-
- è«úñá ¿¼ÑÑΓß∩ ¡Ñ߬«½∞¬« ¼ÑßΓ ß π¬áºá¡¿Ñ¼ «ñ¡«ú« ¿ Γ«ú« ªÑ
- ¿ñÑ¡Γ¿Σ¿¬áΓ«αá, ñ½∩ ºáñá¡¿∩ ¡πª¡«ú« ¿ñÑ¡Γ¿Σ¿¬áΓ«αá ¡Ñ«íσ«ñ¿¼«
- πΓ«τ¡¿Γ∞ φëà ¿ñÑ¡Γ¿Σ¿¬áΓ«α ß »«¼«Θ∞ε ¿ñÑ¡Γ¿Σ¿¬áΓ«αá ¼«ñπ½∩. ìá»-
- α¿¼Ñα, ñ½∩ πΓ«τ¡Ñ¡¿∩ ¿ñÑ¡Γ¿Σ¿¬áΓ«αá Ident ß »«¼«Θ∞ε ¿ñÑ¡Γ¿Σ¿¬áΓ«-
- αá ¼«ñπ½∩ UnitName ß½ÑñπÑΓ ºá»¿ßáΓ∞ UnitNamt.Ident. Æá¬«⌐ ¬«¼í¿-
- ¡¿α«óá¡¡δ⌐ ¿ñÑ¡Γ¿Σ¿¬áΓ«α ¡áºδóáÑΓß∩ πΓ«τ¡Ñ¡¡δ¼ ¿ñÑ¡Γ¿Σ¿¬áΓ«α«¼.
-
- Åα¿¼Ñτá¡¿Ñ: î«ñ㫨 «»¿ßδóáεΓß∩ ó â½áóÑ 7 "Éπ¬«ó«ñßΓóá
- »«½∞º«óáΓѽ∩" ¿ ó â½áóÑ 10 ñá¡¡«ú« απ¬«ó«ñßΓóá.
-
- ┌───────────┐
- êñÑ¡Γ¿Σ¿¬áΓ«α ──┬───>│ íπ¬óá │─────────────────────────┬─>
- │ └───────────┘ ^ ^ │
- │ ┌─────────────┐ │ │ │
- └─>│ ß¿¼ó«½ ├─┘ │ ┌─────────────┐ │
- │»«ñτÑનóá¡¿∩│ ├───┤ íπ¬óá │<──┤
- └─────────────┘ │ └─────────────┘ │
- │ ┌─────────────┐ │
- ├───┤ µ¿Σαá │<──┤
- │ └─────────────┘ │
- │ ┌─────────────┐ │
- └───┤ ß¿¼ó«½ │<──┘
- │»«ñτÑનóá¡¿∩│
- └─────────────┘
-
-
- B.Pascal 7 & Objects/LR - 26 -
-
-
- ┌───┐
- ß¿¼ó«½ »«ñτÑનóá¡¿∩─────>│ _ │─────>
- └───┘
-
- ¿ñÑ¡Γ¿Σ¿¬áΓ«α »α«úαá¼¼δ ┌─────────────┐
- ¿ñÑ¡Γ¿Σ¿¬áΓ«α ¼«ñπ½∩ ─────>│¿ñÑ¡Γ¿Σ¿¬áΓ«α│────>
- ¿ñÑ¡Γ¿Σ¿¬áΓ«α »«½∩ └─────────────┘
-
- ┌───────────────┐
- πΓ«τ¡Ñ¡¡δ⌐ ──┬───────────────────────────┤ ¿ñÑ¡Γ¿Σ¿¬áΓ«α ├──>
- ¿ñÑ¡Γ¿Σ¿¬áΓ«α │ ^ └───────────────┘
- │ ┌─────────────┐ ┌───┐ │
- └─>│¿ñÑ¡Γ¿Σ¿¬áΓ«α├─>│ . ├─┘
- │ ¼«ñπ½∩ │ └───┘
- └─────────────┘
-
- Åα¿óÑñѼ ¡Ñ߬«½∞¬« »α¿¼Ñα«ó ¿ñÑ¡Γ¿Σ¿¬áΓ«α«ó:
-
- Writeln
- Exit
- Real2String
- System.MemAvail
- Dos.Exec
- WinCrt.Windows
-
-
-
- B.Pascal 7 & Objects/LR - 27 -
-
- ù¿ß½á
- ─────────────────────────────────────────────────────────────────
-
- ä½∩ τ¿ßѽ, »αÑñßΓáó½∩εΘ¿σ ß«í«⌐ ¬«¡ßΓá¡Γδ µÑ½«ú« ¿ óÑΘÑßΓ-
- óÑ¡¡«ú« Γ¿»á, ¿ß»«½∞ºπÑΓß∩ «íδτ¡á∩ ñÑß∩Γ¿τ¡á∩ ºá»¿ß∞. ûѽá∩ ¬«¡ß-
- Γá¡Γá ó ΦÑßΓ¡áñµáΓ¿α¿τ¡«¼ Σ«α¼áΓÑ ¿¼ÑÑΓ ó ¬áτÑßΓóÑ »αÑΣ¿¬ßá º¡á¬
- ñ«½½áαá ($). ÆÑσ¡¿τÑ߬«Ñ «í«º¡áτÑ¡¿Ñ (E ¿½¿ Ñ ß »«¬áºáΓѽѼ ßΓÑ-
- »Ñ¡¿) ó óÑΘÑßΓóÑ¡¡δσ Γ¿»áσ τ¿ΓáÑΓß∩, ¬á¬ "¡á ñÑß∩Γ∞ ó ßΓѻѡ¿".
- ìá»α¿¼Ñα, 7E-2 «º¡áτáÑΓ 7σ10^-2, á 12.25E+6 ¿½¿ 12.25E6 «íá
- «í«º¡áτáεΓ 12.25σ10^+6. æ¿¡Γá¬ß¿τÑ߬¿Ñ ñ¿áúαá¼¼δ ñ½∩ ºá»¿ß¿ τ¿ßѽ
- »α¿óÑñÑ¡δ ¡¿ªÑ.
-
- ┌─────────────────┐
- »«ß½Ññ«óáΓѽ∞¡«ßΓ∞ ────────>│ΦÑßΓ¡áñµáΓ¿α¿τ¡á∩├───────┬──>
- ΦÑßΓ¡áñµáΓ¿α¿τ¡δσ ^ │ µ¿Σαá │ │
- µ¿Σα │ └─────────────────┘ │
- └───────────────────────────────┘
-
- ┌─────────────────┐
- »«ß½Ññ«óáΓѽ∞¡«ßΓ∞ ────────>│ µ¿Σαá ├───────┬───>
- µ¿Σα ^ └─────────────────┘ │
- │ │
- └───────────────────────────────┘
-
- ┌──────────────────┐
- µÑ½δÑ íѺ º¡á¬á ────┬────>│»«ß½Ññ«óáΓѽ∞¡«ßΓ∞├───────────>
- │ │ µ¿Σα │ ^
- │ └──────────────────┘ │
- │ │
- │ ┌───┐ ┌──────────────┴───┐
- └────>│ $ │────>│»«ß½Ññ«óáΓѽ∞¡«ßΓ∞│
- └───┘ │ΦÑßΓ¡áñµáΓ¿α¿τ¡δσ │
- │ µ¿Σα │
- └──────────────────┘
- ┌───┐
- º¡á¬ ─┬───>│ + ├───────>
- │ └───┘ ^
- │ ┌───┐ │
- └───>│ - ├───┘
- └───┘
-
-
- B.Pascal 7 & Objects/LR - 28 -
-
-
- óÑΘÑßΓóÑ¡¡«Ñ íѺ º¡á¬á
- │ ┌──────────┐ ┌───┐ ┌──────────┐
- └──>│ū߽Ññ«óá-├─┬─>│ . ├─>│»«ß½Ññ«óá-├──┬──────────────────>
- │Γѽ∞¡«ßΓ∞ │ │ └───┘ │Γѽ∞¡«ßΓ∞ │ │ ^
- │ µ¿Σα │ │ │ µ¿Σα │ │ │
- └──────────┘ │ └──────────┘ │ │
- │ v ┌──────────┐ │
- └─────────────────────────>│¼áßΦΓáí¡δ⌐├─┘
- │ ¼¡«ª¿Γѽ∞│
- └──────────┘
-
- ¼áßΦΓáí¡δ⌐ ¼¡«ª¿Γѽ∞
- │ ┌───┐ ┌──────────────────┐
- └───────┬─>│ E ├─────┬────────────>│»«ß½Ññ«óáΓѽ∞¡«ßΓ∞├──>
- │ └───┘ ^ │ ^ │ µ¿Σα │
- │ ┌───┐ │ │ ┌────┐ │ └──────────────────┘
- └─>│ Ñ ├─┘ └─>│º¡á¬├──┘
- └───┘ └────┘
-
- τ¿ß½« íѺ º¡á¬á
- │ ┌───────────────┐
- └───────────┬─>│µÑ½«Ñ íѺ º¡á¬á├────────>
- │ └───────────────┘ ^
- │ ┌────────────┐ │
- └─>│óÑΘÑßΓóÑ¡¡«Ñ├───────┘
- │íѺ º¡á¬á │
- └────────────┘
-
- τ¿ß½« ß« º¡á¬«¼
- │ ┌───────────────┐
- └────────┬────────────────>│τ¿ß½« íѺ º¡á¬á├────>
- │ ^ └───────────────┘
- │ ┌────┐ │
- └─>│º¡á¬├─────┘
- └────┘
-
- ù¿ß½á ß ñÑß∩Γ¿τ¡δ¼¿ Γ«τ¬á¼¿ ¿½¿ »«¬áºáΓѽ∩¼¿ ßΓѻѡ¿ »αÑñß-
- Γáó½∩εΓ ß«í«⌐ ¬«¡ßΓá¡Γδ óÑΘÑßΓóÑ¡¡«ú« Γ¿»á. ÄßΓá½∞¡δÑ ñÑß∩Γ¿τ¡δÑ
- τ¿ß½á «í«º¡áτáεΓ ¬«¡ßΓá¡Γδ µÑ½«ú« Γ¿»á. Ä¡¿ ñ«½ª¡δ »α¿¡¿¼áΓ∞ º¡á-
- τÑ¡¿∩ ó ñ¿á»áº«¡Ñ «Γ -2147483648 ñ« 2147483647.
-
- ÿÑßΓ¡áñµáΓ¿α¿τ¡δÑ τ¿ß½á «í«º¡áτáεΓ ¬«¡ßΓá¡Γδ µÑ½«τ¿ß½Ñ¡¡«ú«
- Γ¿»á. Ä¡¿ ñ«½ª¡δ ¡áσ«ñ¿Γ∞ß∩ ó ñ¿á»áº«¡Ñ «Γ $00000000 ñ«
- $FFFFFFFF. Ĭ«¡τáΓѽ∞¡δ⌐ º¡á¬ º¡áτÑ¡¿∩ «»αÑñѽ∩ÑΓß∩ ΦÑßΓ¡áñµáΓ¿-
- α¿τ¡«⌐ ºá»¿ß∞ε.
-
-
-
- B.Pascal 7 & Objects/LR - 29 -
-
- îÑΓ¬¿
- ─────────────────────────────────────────────────────────────────
-
- îÑΓ¬«⌐ ∩ó½∩ÑΓß∩ »«ß½Ññ«óáΓѽ∞¡«ßΓ∞ µ¿Σα ó ñ¿á»áº«¡Ñ «Γ 0 ñ«
- 9999. ìáτá½∞¡δÑ ¡π½¿ ¡Ñ ∩ó½∩εΓß∩ º¡áτáΘ¿¼¿. îÑΓ¬¿ ¿ß»«½∞ºπεΓß∩ ß
- «»ÑαáΓ«αἿ »ÑαÑσ«ñá goto.
-
- ┌──────────────────────┐
- îÑΓ¬á ───────┬────────>│ »«ß½Ññ«óáΓѽ∞¡«ßΓ∞ ├──────────>
- │ │ µ¿Σα │ ^
- │ └──────────────────────┘ │
- │ │
- │ ┌─────────────┐ │
- └───────────>│¿ñÑ¡Γ¿Σ¿¬áΓ«α├────────────┘
- └─────────────┘
-
- èᬠαáßΦ¿αÑ¡¿Ñ ßΓá¡ñáαΓ¡«ú« Åá߬á½∩, Borland Pascal »«ºó«½∩-
- ÑΓ ¿ß»«½∞º«óáΓ∞ ó ¬áτÑßΓóÑ ¼ÑΓ«¬ ¿ñÑ¡Γ¿Σ¿¬áΓ«αδ Σπ¡¬µ¿⌐.
-
-
- æΓ᫬¿ ß¿¼ó«½«ó
- ─────────────────────────────────────────────────────────────────
-
- æΓ᫬á ß¿¼ó«½«ó »αÑñßΓáó½∩ÑΓ ß«í«⌐ »«ß½Ññ«óáΓѽ∞¡«ßΓ∞, ß«-
- ñÑαªáΘπε ¡«½∞ ¿ í«½ÑÑ ß¿¼ó«½«ó ¿º αáßΦ¿αÑ¡¡«ú« ¡áí«αá ß¿¼ó«½«ó
- ¬«ñá ASCII, ºá»¿ßá¡¡πε ó «ñ¡«⌐ ßΓα«¬Ñ »α«úαá¼¼δ ¿ ºá¬½ετÑ¡¡πε ó
- «ñ¿¡«τ¡δÑ ¬áóδτ¬¿ (ừßΓα«Σδ). æΓ᫬á ß¿¼ó«½«ó, ¡¿τÑú« ¡Ñ ß«ñÑα-
- ªáΘá∩ ¼Ñªñπ ừßΓα«ΣἿ, ¡áºδóáÑΓß∩ ¡π½Ñó«⌐ ßΓ᫬«⌐. äóá »«ß½Ññ«-
- óáΓѽ∞¡δσ ừßΓα«Σá ó ßΓα«¬Ñ ß¿¼ó«½«ó «í«º¡áτáεΓ «ñ¿¡ ß¿¼ó«½ -
- ừßΓα«Σ. ÇΓα¿íπΓ ñ½¿¡δ ßΓ᫬¿ ß¿¼ó«½«ó óδαáªáÑΓß∩ ñÑ⌐ßΓó¿Γѽ∞¡δ¼
- ¬«½¿τÑßΓó«¼ ß¿¼ó«½«ó ¼Ñªñπ ừßΓα«ΣἿ, ¡á»α¿¼Ñα:
-
- 'Borland'
- 'You'll see'
- ''''
- ';'
- ' '
- '' { »πßΓá∩ ßΓ᫬á }
- ' ' { »α«íѽ }
-
- é ¬áτÑßΓóÑ αáßΦ¿αÑ¡¿∩ ßΓá¡ñáαΓ¡«ú« Åá߬á½∩, Borland Pascal
- αáºαÑΦáÑΓ óßΓáó½∩Γ∞ ó ßΓ᫬π ß¿¼ó«½«ó π»αáó½∩εΘ¿Ñ ß¿¼ó«½δ. 濼ó«½
- # ß µÑ½«⌐ ¬«¡ßΓá¡Γ«⌐ íѺ º¡á¬á ó ñ¿á»áº«¡Ñ «Γ 0 ñ« 255 «í«º¡áτáÑΓ
- ß««ΓóÑΓßΓóπεΘ¿⌐ φΓ«¼π º¡áτÑ¡¿ε ß¿¼ó«½ ó ¬«ñÑ ASCII. îѪñπ ß¿¼ó«-
- ½«¼ # ¿ µÑ½«⌐ ¬«¡ßΓá¡Γ«⌐ ¡Ñ ñ«½ª¡« íδΓ∞ ¡¿¬á¬¿σ αáºñѽ¿ΓѽÑ⌐.
- ǡὫú¿τ¡«, Ñß½¿ ¡Ñ߬«½∞¬« π»αáó½∩εΘ¿σ ß¿¼ó«½«ó óσ«ñ¿Γ ßΓ᫬π
- ß¿¼ó«½«ó, Γ« ¼Ñªñπ ¡¿¼¿ ¡Ñ ñ«½ª¡« íδΓ∞ αáºñѽ¿ΓѽÑ⌐.
-
- Åα¿óÑñѼ ¡Ñ߬«½∞¬« »α¿¼Ñα«ó ßΓ᫬ ß¿¼ó«½«ó:
-
- #13#10
- 'Line 1'#13'Line2'
- #7#7'Make up!'#7#7
-
- B.Pascal 7 & Objects/LR - 30 -
-
-
- ┌──────────────────────┐
- ßΓ᫬á ß¿¼ó«½«ó ────┬──>│ ßΓ᫬á ó ¬áóδτ¬áσ ├───┬─┬>
- ^ │ └──────────────────────┘ │ │
- │ │ ┌──────────────────────┐ │ │
- │ └──>│ π»αáó½∩εΘá∩ ßΓ᫬á ├───┘ │
- │ └──────────────────────┘ │
- └──────────────────────────────────┘
-
- ┌───┐ ┌───┐
- ßΓ᫬á ──────>│ ' ├──────────────┬────>│ ' ├────>
- ó ¬áóδτ¬áσ └───┘ ^ ┌──────┐ │ └───┘
- └──┤ß¿¼ó«½│<─┘
- │ßΓ᫬¿│
- └──────┘
-
- ┌──────────────────────┐
- ß¿¼ó«½ ßΓ᫬¿ ───┬──>│½εí«⌐ ß¿¼ó«½, ¬α«¼Ñ ' ├───────>
- │ │ ¿½¿ CR │ ^
- │ └──────────────────────┘ │
- │ ┌───┐ ┌───┐ │
- └───────>│ ' ├──────>│ ' ├─────┘
- └───┘ └───┘
-
- ┌───┐ ┌───────────────────┐
- ß¿¼ó«½ ßΓ᫬¿ ──────>│ # ├─>│ íѺº¡á¬«ó«Ñ µÑ½«Ñ ├─┬──>
- ^ └───┘ └───────────────────┘ │
- │ │
- └──────────────────────────────────┘
-
- Åα¿¼Ñτá¡¿Ñ: CR - ß¿¼ó«½ ó«ºóαáΓá ¬áαÑΓ¬¿.
-
- 使¡á ß¿¼ó«½∞¡«⌐ ßΓ᫬¿ - φΓ« Σá¬Γ¿τÑ߬«Ñ τ¿ß½« ß¿¼ó«½«ó ó
- ßΓ᫬Ñ. æΓ᫬á ß¿¼ó«½«ó ½εí«⌐ ñ½¿¡δ ß«ó¼ÑßΓ¿¼á ß ½εíδ¼ ßΓ᫬«óδ¼
- Γ¿»«¼ ¿, »α¿ αáºαÑΦÑ¡¿¿ ñ¿αÑ¬Γ¿ó«⌐ {$X+} αáßΦ¿αÑ¡¡«ú« ß¿¡Γá¬ß¿ßá,
- ß Γ¿»«¼ PChar.. èα«¼Ñ Γ«ú«, ßΓ᫬á ß¿¼ó«½«ó ß ñ½¿¡«⌐, αáó¡«⌐ 1,
- ß«ó¼ÑßΓ¿¼á ß ½εíδ¼ Γ¿»«¼ Char. æΓ᫬á ß¿¼ó«½«ó ñ½¿¡«⌐ n, úñÑ n
- í«½∞ΦÑ ¿½¿ αáóÑ¡ 1, ñ«»πßΓ¿¼á ñ½∩ ½εí«ú« ßΓ᫬«ó«ú« Γ¿»á ¿ π»á¬«-
- óá¡¡δσ ¼áßß¿ó«ó ¿º n ß¿¼ó«½«ó.
-
-
- B.Pascal 7 & Objects/LR - 31 -
-
-
- 諼¼Ñ¡Γáα¿¿
- ─────────────────────────────────────────────────────────────────
-
- æ½ÑñπεΘ¿Ñ ¬«¡ßΓαπ¬µ¿¿ »αÑñßΓáó½∩εΓ ß«í«⌐ ¬«¼¼Ñ¡Γáα¿¿ ¿ »«φ-
- Γ«¼π ¿ú¡«α¿απεΓß∩ ¬«¼»¿½∩Γ«α«¼:
-
- { ½εí«⌐ ΓѬßΓ, ¡Ñ ß«ñÑαªáΘ¿⌐ »αáóπε Σ¿úπα¡πε ߬«í¬π }
- (* ½εí«⌐ ΓѬßΓ, ¡Ñ ß«ñÑαªáΘ¿⌐ ºóѺñ«τ¬π/»αáóπε ¬απú½πε
- ߬«í¬π *)
-
- 諼¼Ñ¡Γáα¿⌐, ß«ñÑαªáΘ¿⌐ º¡á¬ ñ«½½áαá ($) ßαáºπ »«ß½Ñ «Γ¬αδ-
- óáεΘÑ⌐ ߬«í¬¿ { ¿½¿ (*, ∩ó½∩ÑΓß∩ ñ¿αÑ¬Γ¿ó«⌐ ¬«¼»¿½∩Γ«αá. çá ß¿¼-
- 󫽫¼ $ ß½ÑñπÑΓ ¼¡Ñ¼«¡¿¬á ¬«¼á¡ñδ ¬«¼»¿½∩Γ«αá.
-
- Åα¿¼Ñτá¡¿Ñ: ÄíΘÑÑ «»¿ßá¡¿Ñ ñ¿αÑ¬Γ¿ó ¬«¼»¿½∩Γ«αá ñá¡« ó
- â½áóÑ 2 "æ»αáó«τ¡«ú« απ¬«ó«ñßΓóá »α«úαá¼¼¿ßΓá".
-
-
- æΓ᫬¿ »α«úαá¼¼δ
- ─────────────────────────────────────────────────────────────────
-
- é Borland Pascal ßΓ᫬¿ »α«úαá¼¼δ ¿¼ÑεΓ ¼á¬ß¿¼á½∞¡πε ñ½¿¡π ó
- 126 ß¿¼ó«½«ó.
-
-
-
- B.Pascal 7 & Objects/LR - 32 -
-
- â½áóá 3. è«¡ßΓá¡Γδ
- ─────────────────────────────────────────────────────────────────
-
- è«¡ßΓá¡Γá - φΓ« ¿ñÑ¡Γ¿Σ¿¬áΓ«α, «Γ¼ÑτáεΘ¿⌐ º¡áτÑ¡¿Ñ, ¬«Γ«α«Ñ
- ¡Ñ ¼«ªÑΓ ¿º¼Ñ¡∩Γ∞ß∩. êñÑ¡Γ¿Σ¿¬áΓ«α ¬«¡ßΓá¡Γδ ¡Ñ ¼«ªÑΓ íδΓ∞ ó¬½ε-
- τÑ¡ ó ßó«Ñ ß«íßΓóÑ¡¡«Ñ «»¿ßá¡¿Ñ.
-
- «»¿ßá¡¿Ñ ¬«¡ßΓá¡Γδ
- │ ┌─────────────┐ ┌───┐ ┌─────────┐ ┌───┐
- └─────>│¿ñÑ¡Γ¿Σ¿¬áΓ«α├───>│ = ├──>│¬«¡ßΓá¡Γá├───>│ ; ├─┬──>
- ^ └─────────────┘ └───┘ └─────────┘ └───┘ │
- │ │
- └────────────────────────────────────────────────────┘
-
- êñÑ¡Γ¿Σ¿¬áΓ«α ¬«¡ßΓá¡Γδ ß »αÑñΦÑßΓóπεΘ¿¼ Ñ¼π º¡á¬«¼ «í«º¡á-
- τáÑΓ º¡áτÑ¡¿Ñ µÑ½«ú« ¿½¿ óÑΘÑßΓóÑ¡¡«ú« Γ¿»á.
-
- ƒó½∩∩ß∞ αáßΦ¿αÑ¡¿Ñ¼ ßΓá¡ñáαΓ¡«ú« Åá߬á½∩, Borland Pascal
- »«ºó«½∩ÑΓ ¿ß»«½∞º«óáΓ∞ óδαáªÑ¡¿∩-¬«¡ßΓá¡Γδ. éδαáªÑ¡¿Ñ-¬«¡ßΓá¡Γá
- »αÑñßΓáó½∩ÑΓ ß«í«⌐ óδαáªÑ¡¿Ñ, ¬«Γ«α«Ñ ¼«ªÑΓ óδτ¿ß½∩Γ∞ß∩ ¬«¼»¿½∩-
- Γ«α«¼ íѺ ¡Ñ«íσ«ñ¿¼«ßΓ¿ óδ»«½¡Ñ¡¿∩ »α«úαá¼¼δ. Åα¿óÑñѼ »α¿¼Ñαδ
- óδαáªÑ¡¿⌐-¬«¡ßΓá¡Γ:
-
- 100
- 'A'
- 256 - 1
- (2.5 + 1) / (2.5 - 1)
- 'Borland' + '' + 'Pascal'
- Chr(32)
- Ord('Z') - Ord('A') + 1
-
- Åα«ßΓÑ⌐Φ¿⌐ ß½πτá⌐ óδαáªÑ¡¿∩-¬«¡ßΓá¡Γδ »αÑñßΓáó½∩ÑΓ ß«í«⌐
- »α«ßΓá∩ ¬«¡ßΓá¡Γá, ¡á»α¿¼Ñα 100 ¿½¿ 'A'. é ßΓá¡ñáαΓ¡«¼ Åá߬á½Ñ
- ñ«»π߬áÑΓß∩ ¿ß»«½∞º«óáΓ∞ Γ«½∞¬« »α«ßΓδÑ ¬«¡ßΓá¡Γδ. é Borland
- Pascal αáºαÑΦÑ¡« ¿ß»«½∞º«óá¡¿Ñ óδαáªÑ¡¿⌐-¬«¡ßΓá¡Γ.
-
- ┌─────────┐
- ¬«¡ßΓá¡Γá ────>│óδαáªÑ¡¿Ñ├───>
- └─────────┘
-
- ū߬«½∞¬π ¬«¼»¿½∩Γ«α ñ«½ªÑ¡ ¿¼ÑΓ∞ 󫺼«ª¡«ßΓ∞ »«½¡«ßΓ∞ε óδ-
- τ¿ß½¿Γ∞ óδαáªÑ¡¿Ñ-¬«¡ßΓá¡Γπ ó« óαѼ∩ ¬«¼»¿½∩µ¿¿, ó ¬áτÑßΓóÑ óδαá-
- ªÑ¡¿⌐-¬«¡ßΓá¡Γ ¡Ñ ñ«»π߬áÑΓß∩ ¿ß»«½∞º«óáΓ∞ ß½ÑñπεΘ¿Ñ ¬«¡ßΓαπ¬µ¿¿:
-
- - ßß佬¿ ¡á »ÑαѼѡ¡δÑ ¿ Γ¿»¿º¿α«óá¡¡δÑ ¬«¡ßΓá¡Γδ (¬α«¼Ñ
- ¬«¡ßΓá¡Γ ó áñαÑß¡δσ óδαáªÑ¡¿∩σ, «»¿ßδóáѼδσ ó â½áóÑ 5);
-
- - ó맮óδ Σπ¡¬µ¿⌐ (¬α«¼Ñ ΓÑσ, ¬«Γ«αδÑ «Γ¼ÑτÑ¡δ ñá½ÑÑ);
-
- - «»ÑαáΓ«α »«½πτÑ¡¿∩ áñαÑßá @ (¬α«¼Ñ ¬«¡ßΓá¡Γ ó áñαÑß¡δσ óδ-
- αáªÑ¡¿∩σ, «»¿ßδóáѼδσ ó â½áóÑ 5).
-
- çá ¿ß¬½ετÑ¡¿Ñ¼ φΓ¿σ «úαá¡¿τÑ¡¿⌐ ñ½∩ óδαáªÑ¡¿⌐-¬«¡ßΓá¡Γ ß«í-
-
- B.Pascal 7 & Objects/LR - 33 -
-
- ½εñáεΓß∩ ΓÑ ªÑ ß¿¡Γá¬ß¿τÑ߬¿Ñ »αáó¿½á, τΓ« ¿ ñ½∩ «íδτ¡δσ óδαáªÑ-
- ¡¿⌐ («»¿ßá¡¡δσ ó â½áóÑ 6 "éδαáªÑ¡¿∩").
-
- é óδαáªÑ¡¿∩σ-¬«¡ßΓá¡Γáσ ñ«»π߬áÑΓß∩ ¿ß»«½∞º«óáΓ∞ ß½ÑñπεΘ¿Ñ
- ßΓá¡ñáαΓ¡δÑ Σπ¡¬µ¿¿:
-
- Abs, Chr, Hi, High, Length, Lo, Low, Odd, Ord, Pred, Ptr,
- Round, SizeOf, Succ, Swap, Trunc.
-
- Åα¿óÑñѼ ¡Ñ¬«Γ«αδÑ »α¿¼Ñαδ ¿ß»«½∞º«óá¡¿∩ óδαáªÑ¡¿⌐-¬«¡ßΓá¡Γ
- ó «»¿ßá¡¿∩σ ¬«¡ßΓá¡Γ:
-
- const
- Min = 0;
- Max = 100;
- Center = (Max - Min) div 2;
- Beta = Chr(255);
- NumChars = Ord('Z') - Ord('A') + 1;
- Message = 'Out of memory';
- ErrStr = 'Error:' + Message + '.';
- ErrPos = 80 - Length(Error) div 2;
- ErrAttr = Blink + Red * 16 + White;
- Ln10 = 2.302585092994095684;
- Ln10R = 1 / Ln10;
- Numeric = ['0'..'9'];
- Alpha = ['A'..'Z','a'..'z'];
- AlphaNum = Alpha + Numeric;
-
-
-
- B.Pascal 7 & Objects/LR - 34 -
-
- ───────────────────────────────────────────────────────────────────────
- â½áóá 4. Æ¿»δ
- ─────────────────────────────────────────────────────────────────
-
- Åα¿ «»¿ßá¡¿¿ »ÑαѼѡ¡«⌐ ¡Ñ«íσ«ñ¿¼« π¬áºáΓ∞ ÑÑ Γ¿». Æ¿» »ÑαÑ-
- ¼Ñ¡¡«⌐ «»¿ßδóáÑΓ ¡áí«α º¡áτÑ¡¿⌐, ¬«Γ«αδÑ «¡á ¼«ªÑΓ »α¿¡¿¼áΓ∞, ¿
- ñÑ⌐ßΓó¿∩, ¬«Γ«αδÑ ¼«úπΓ íδΓ∞ ¡áñ ¡Ñ⌐ óδ»«½¡Ñ¡δ. Ä»¿ßá¡¿Ñ Γ¿»á «»-
- αÑñѽ∩ÑΓ ¿ñÑ¡Γ¿Σ¿¬áΓ«α, ¬«Γ«αδ⌐ «í«º¡áτáÑΓ φΓ«Γ Γ¿».
-
- ┌───────────────┐ ┌───┐ ┌─────┐ ┌───┐
- «»¿ßá¡¿Ñ ──>│ ¿ñÑ¡Γ¿Σ¿¬áΓ«α ├──>│ = ├──>│ Γ¿» ├──>│ ; ├──>
- Γ¿»á └───────────────┘ └───┘ └─────┘ └───┘
-
- ô¬áºá¡¿Ñ ¿ñÑ¡Γ¿Σ¿¬áΓ«αá ó ½Ñó«⌐ τáßΓ¿ «»¿ßá¡¿∩ Γ¿»á «º¡áτá-
- ÑΓ, τΓ« «¡ «»αÑñѽѡ ¬á¬ ¿ñÑ¡Γ¿Σ¿¬áΓ«α Γ¿»á ñ½∩ í½«¬á, ó ¬«Γ«α«¼
- π¬áºá¡« φΓ« «»¿ßá¡¿Ñ Γ¿»á. Äí½áßΓ∞ ñÑ⌐ßΓó¿∩ ¿ñÑ¡Γ¿Σ¿¬áΓ«αá Γ¿»á
- ¡Ñ ó¬½ετáÑΓ Ñú« ßἫú«, ¿ß¬½ετÑ¡¿Ñ ß«ßΓáó½∩εΓ Γ¿»δ "π¬áºáΓѽ∞"
- (¬«Γ«αδÑ ¡áºδóáεΓ Γá¬ªÑ ßß佫τ¡δ¼¿ Γ¿»á¼¿).
-
- ┌────────────────────┐
- Γ¿» ────────┬────>│ »α«ßΓ«⌐ Γ¿» │─────────>
- │ └────────────────────┘ ^
- │ ┌────────────────────┐ │
- ├────>│ ßΓ᫬«óδ⌐ Γ¿» ├────┤
- │ └────────────────────┘ │
- │ ┌────────────────────┐ │
- ├────>│ ßß佫τ¡δ⌐ Γ¿» ├────┤
- │ └────────────────────┘ │
- │ ┌────────────────────┐ │
- ├────>│ ßΓαπ¬Γπα¡δ⌐ Γ¿» ├────┤
- │ └────────────────────┘ │
- │ ┌────────────────────┐ │
- ├────>│ »α«µÑñπα¡δ⌐ Γ¿» ├────┤
- │ └────────────────────┘ │
- │ ┌────────────────────┐ │
- └────>│ ¿ñÑ¡Γ¿Σ¿¬áΓ«α Γ¿»á ├────┘
- └────────────────────┘
-
- ê¼ÑÑΓß∩ »∩Γ∞ ß½ÑñπεΘ¿σ «ß¡«ó¡δσ ¬½áßß«ó Γ¿»«ó. Ä¡¿ «»¿ßδóá-
- εΓß∩ ó ß½ÑñπεΘѼ αáºñѽÑ.
-
-
-
- B.Pascal 7 & Objects/LR - 35 -
-
- Åα«ßΓδÑ Γ¿»δ
- ─────────────────────────────────────────────────────────────────
-
- Åα«ßΓδÑ Γ¿»δ «»αÑñѽ∩εΓ π»«α∩ñ«τÑ¡¡δÑ ¼¡«ªÑßΓóá º¡áτÑ¡¿⌐.
-
- ┌───────────────────┐
- »α«ßΓ«⌐ Γ¿» ─────┬────>│ »«α∩ñ¬«óδ⌐ Γ¿» ├─────────>
- │ └───────────────────┘ ^
- │ ┌───────────────────┐ │
- └────>│ óÑΘÑßΓóÑ¡¡δ⌐ Γ¿» ├─────┘
- └───────────────────┘
- ┌────────────────────┐
- óÑΘÑßΓóÑ¡¡δ⌐ Γ¿» ─────>│ ¿ñÑ¡Γ¿Σ¿¬áΓ«α ├─────>
- │ óÑΘÑßΓóÑ¡¡«ú« Γ¿»á │
- └────────────────────┘
-
- êñÑ¡Γ¿Σ¿¬áΓ«α óÑΘÑßΓóÑ¡¡«ú« Γ¿»á «Γ¡«ß¿Γß∩ ¬ τ¿ß½π ßΓá¡ñáαΓ-
- ¡δσ ¿ñÑ¡Γ¿Σ¿¬áΓ«α«ó, ¬«Γ«αδÑ ¼«úπΓ íδΓ∞ óÑΘÑßΓóÑ¡¡δ¼¿, ß «ñ¿¡áα-
- ¡«⌐ Γ«τ¡«ßΓ∞ε, ß ñó«⌐¡«⌐ Γ«τ¡«ßΓ∞ε, ß »«óδΦÑ¡¡«⌐ Γ«τ¡«ßΓ∞ε ¿
- ß½«ª¡δ¼¿.
-
- Åα¿¼Ñτá¡¿Ñ: é αáºñѽáσ "ù¿ß½á" ¿ "æΓ᫬«óδÑ ¬«¡ßΓá¡Γδ"
- â½áóδ 2 óδ ¼«ªÑΓÑ ¡á⌐Γ¿ «»¿ßá¡¿Ñ Γ«ú«, ¬á¬ «í«º¡áτáΓ∞ ¬«¡ß-
- Γá¡Γδ µÑ½«ú« ¿ óÑΘÑßΓóÑ¡¡«ú« Γ¿»«ó.
-
- Å«α∩ñ¬«óδÑ Γ¿»δ
- ─────────────────────────────────────────────────────────────────
-
- Å«α∩ñ¬«óδÑ Γ¿»δ »αÑñßΓáó½∩εΓ ß«í«⌐ »«ñ¼¡«ªÑßΓó« »α«ßΓδσ Γ¿-
- »«ó. éßÑ »α«ßΓδÑ Γ¿»δ, «Γ½¿τ¡δÑ «Γ óÑΘÑßΓóÑ¡¡δσ Γ¿»«ó, ∩ó½∩εΓß∩
- »«α∩ñ¬«ó묨 ¿ óδñѽ∩εΓß∩ »« ß½ÑñπεΘ¿¼ τÑΓδαѼ σáαá¬ΓÑα¿ßΓ¿¬á¼.
-
- - éßÑ ó«º¼«ª¡δÑ º¡áτÑ¡¿∩ ñá¡¡«ú« »«α∩ñ¬«ó«ú« Γ¿»á »αÑñßΓáó-
- ½∩εΓ ß«í«⌐ π»«α∩ñ«τÑ¡¡«Ñ ¼¡«ªÑßΓó«, ¿ ¬áªñ«Ñ 󫺼«ª¡«Ñ
- º¡áτÑ¡¿Ñ ßó∩ºá¡« ß »«α∩ñ¬«óδ¼ ¡«¼Ñα«¼, ¬«Γ«αδ⌐ »αÑñßΓáó-
- ½∩ÑΓ ß«í«⌐ µÑ½«τ¿ß½Ñ¡¡«Ñ º¡áτÑ¡¿Ñ. çá ¿ß¬½ετÑ¡¿Ñ¼ º¡áτÑ-
- ¡¿⌐ µÑ½«τ¿ß½Ñ¡¡«ú« Γ¿»á, »Ñαó«Ñ º¡áτÑ¡¿Ñ ½εí«ú« »«α∩ñ¬«-
- ó«ú« Γ¿»á ¿¼ÑÑΓ »«α∩ñ¬«óδ⌐ ¡«¼Ñα 0, ß½ÑñπεΘÑÑ º¡áτÑ¡¿Ñ
- ¿¼ÑÑΓ »«α∩ñ¬«óδ⌐ ¡«¼Ñα 1 ¿ Γᬠñá½ÑÑ ñ½∩ ¬áªñ«ú« º¡áτÑ¡¿∩
- ó φΓ«¼ »«α∩ñ¬«ó«¼ Γ¿»Ñ. Å«α∩ñ¬«óδ¼ ¡«¼Ñα«¼ º¡áτÑ¡¿∩ µÑ½«-
- τ¿ß½Ñ¡¡«ú« Γ¿»á ∩ó½∩ÑΓß∩ ßἫ φΓ« º¡áτÑ¡¿Ñ. é ½εí«¼ »«-
- α∩ñ¬«ó«¼ Γ¿»Ñ ¬áªñ«¼π º¡áτÑ¡¿ε, ¬α«¼Ñ »Ñαó«ú«, »αÑñΦÑßΓ-
- óπÑΓ ñαπú«Ñ º¡áτÑ¡¿Ñ, ¿ »«ß½Ñ ¬áªñ«ú« º¡áτÑ¡¿∩, ¬α«¼Ñ
- »«ß½Ññ¡Ñú«, ß½ÑñπÑΓ ñαπú«Ñ º¡áτÑ¡¿Ñ ó ß««ΓóÑΓßΓó¿¿ ß π»«-
- α∩ñ«τÑ¡¡«ßΓ∞ε Γ¿»á.
-
- - è ½εí«¼π º¡áτÑ¡¿ε »«α∩ñ¬«ó«ú« Γ¿»á ¼«ª¡« »α¿¼Ñ¡¿Γ∞ ßΓá¡-
- ñáαΓ¡πε Σπ¡¬µ¿ε Ord, ó«ºóαáΘáεΘπε »«α∩ñ¬«óδ⌐ ¡«¼Ñα φΓ«ú«
- º¡áτÑ¡¿∩.
-
- - è ½εí«¼π º¡áτÑ¡¿ε »«α∩ñ¬«ó«ú« Γ¿»á ¼«ª¡« »α¿¼Ñ¡¿Γ∞ ßΓá¡-
- ñáαΓ¡πε Σπ¡¬µ¿ε Pred, ó«ºóαáΘáεΘπε »αÑñΦÑßΓóπεΘÑÑ φΓ«¼π
- º¡áτÑ¡¿ε º¡áτÑ¡¿Ñ. àß½¿ φΓá Σπ¡¬µ¿∩ »α¿¼Ñ¡∩ÑΓß∩ ¬ »Ñαó«¼π
-
- B.Pascal 7 & Objects/LR - 36 -
-
- º¡áτÑ¡¿ε ó φΓ«¼ »«α∩ñ¬«ó«¼ Γ¿»Ñ, Γ« óδñáÑΓß∩ ß««íΘÑ¡¿Ñ «í
- «Φ¿í¬Ñ.
-
- - è ½εí«¼π º¡áτÑ¡¿ε »«α∩ñ¬«ó«ú« Γ¿»á ¼«ª¡« »α¿¼Ñ¡¿Γ∞ ßΓá¡-
- ñáαΓ¡πε Σπ¡¬µ¿ε Succ, ó«ºóαáΘáεΘπε ß½ÑñπεΘÑÑ ºá φΓ¿¼ º¡á-
- τÑ¡¿Ñ¼ º¡áτÑ¡¿Ñ. àß½¿ φΓá Σπ¡¬µ¿∩ »α¿¼Ñ¡∩ÑΓß∩ ¬ »«ß½Ññ¡Ñ-
- ¼π º¡áτÑ¡¿ε ó φΓ«¼ »«α∩ñ¬«ó«¼ Γ¿»Ñ, Γ« óδñáÑΓß∩ ß««íΘÑ¡¿Ñ
- «í «Φ¿í¬Ñ.
-
- - è ½εí«¼π º¡áτÑ¡¿ε »«α∩ñ¬«ó«ú« Γ¿»á ¿ ¬ ßßδ½¬Ñ ¡á »ÑαѼѡ-
- ¡πε »«α∩ñ¬«ó«ú« Γ¿»á ¼«ª¡« »α¿¼Ñ¡¿Γ∞ ßΓá¡ñáαΓ¡πε Σπ¡¬µ¿ε
- Low, ó«ºóαáΘáεΘπε ¡á¿¼Ñ¡∞ΦÑÑ º¡áτÑ¡¿Ñ ó ñ¿á»áº«¡Ñ ñá¡¡«ú«
- »«α∩ñ¬«ó«ú« Γ¿»á.
-
- - è ½εí«¼π º¡áτÑ¡¿ε »«α∩ñ¬«ó«ú« Γ¿»á ¿ ¬ ßßδ½¬Ñ ¡á »ÑαѼѡ-
- ¡πε »«α∩ñ¬«ó«ú« Γ¿»á ¼«ª¡« »α¿¼Ñ¡¿Γ∞ ßΓá¡ñáαΓ¡πε Σπ¡¬µ¿ε
- High, ó«ºóαáΘáεΘπε ¡á¿í«½∞ΦÑÑ º¡áτÑ¡¿Ñ ó ñ¿á»áº«¡Ñ ñá¡¡«-
- ú« »«α∩ñ¬«ó«ú« Γ¿»á.
-
- æ¿¡Γá¬ß¿ß »«α∩ñ¬«ó«ú« Γ¿»á ¿¼ÑÑΓ ß½ÑñπεΘ¿⌐ ó¿ñ:
-
- ┌────────────────────┐
- »«α∩ñ¬«óδ⌐ ─────┬────>│ «ΓαѺ«¬ Γ¿»á ├─────────>
- Γ¿» │ └────────────────────┘ ^
- │ ┌────────────────────┐ │
- ├────>│ »ÑαÑτ¿ß½¿¼δ⌐ Γ¿» ├─────┤
- │ └────────────────────┘ │
- │ ┌────────────────────┐ │
- └────>│ ¿ñÑ¡Γ¿Σ¿¬áΓ«α ├─────┘
- │ »«α∩ñ¬«ó«ú« Γ¿»á │
- └────────────────────┘
-
- Borland Pascal ¿¼ÑÑΓ 10 óßΓα«Ñ¡¡δσ »«α∩ñ¬«óδσ Γ¿»«ó: Integer
- (µÑ½«Ñ), Shortint (¬«α«Γ¬«Ñ µÑ½«Ñ), Longint (ñ½¿¡¡«Ñ µÑ½«Ñ), Byte
- (ñ½¿¡«⌐ ó íá⌐Γ), Word (ñ½¿¡«⌐ ó ß½«ó«), Boolean (íπ½Ñó߬«Ñ),
- ByteBool (íπ½Ñó߬«Ñ αẼÑα«¼ ó íá⌐Γ), WordBool (íπ½Ñó߬«Ñ αẼÑ-
- α«¼ ó ß½«ó«), LongBool (ñ½¿¡¡δ⌐ íπ½Ñó߬¿⌐ Γ¿») ¿ Char (ß¿¼ó«½∞¡δ⌐
- Γ¿»). èα«¼Ñ Γ«ú«, ¿¼ÑÑΓß∩ ñóá ñαπú¿σ ¬½áßßá «»αÑñѽ∩Ѽδσ »«½∞º«-
- óáΓѽѼ »«α∩ñ¬«óδσ Γ¿»«ó: »ÑαÑτ¿ß½¿¼δÑ Γ¿»δ ¿ «ΓαѺ¬¿ Γ¿»«ó (»«ñ-
- ñ¿á»áº«¡δ).
-
-
-
- B.Pascal 7 & Objects/LR - 37 -
-
- ûѽ«τ¿ß½Ñ¡¡δÑ Γ¿»δ
- ─────────────────────────────────────────────────────────────────
-
- é Borland Pascal ¿¼ÑÑΓß∩ »∩Γ∞ »αÑñ«»αÑñѽѡ¡δσ µÑ½«τ¿ß½Ñ¡¡δσ
- Γ¿»«ó: Shortint (¬«α«Γ¬«Ñ µÑ½«Ñ), Integer (µÑ½«Ñ), Longint (ñ½¿¡-
- ¡«Ñ µÑ½«Ñ), Byte (ñ½¿¡«⌐ ó íá⌐Γ) ¿ Word (ñ½¿¡«⌐ ó ß½«ó«). èáªñδ⌐
- Γ¿» «í«º¡áτáÑΓ «»αÑñѽѡ¡«Ñ »«ñ¼¡«ªÑßΓó« µÑ½δσ τ¿ßѽ, ¬á¬ φΓ« »«-
- ¬áºá¡« ó ß½ÑñπεΘÑ⌐ Γáí½¿µÑ.
-
- ÅαÑñ«»αÑñѽѡ¡δÑ µÑ½«τ¿ß½Ñ¡¡δÑ Γ¿»δ Æáí½¿µá 4.1
- ┌────────────────────┬────────────────────┬─────────────────────┐
- │ Æ¿» │ ä¿á»áº«¡ │ ö«α¼áΓ │
- ├────────────────────┼────────────────────┼─────────────────────┤
- │ ¬«α«Γ¬«Ñ µÑ½«Ñ │ -128 .. 127 │ 8 í¿Γ ß« º¡á¬«¼ │
- │ (Shortint) │ │ │
- ├────────────────────┼────────────────────┼─────────────────────┤
- │ µÑ½«Ñ │ -32768 .. 32767 │ 16 í¿Γ ß« º¡á¬«¼ │
- │ (Integer) │ │ │
- ├────────────────────┼────────────────────┼─────────────────────┤
- │ ñ½¿¡¡«Ñ µÑ½«Ñ │ -2147483648 .. │ 32 í¿Γá ß« º¡á¬«¼ │
- │ (Longint) │ ..2147483647 │ │
- ├────────────────────┼────────────────────┼─────────────────────┤
- │ ñ½¿¡«⌐ ó íá⌐Γ │ 0 .. 255 │ 8 í¿Γ íѺ º¡á¬á │
- │ (Byte) │ │ │
- ├────────────────────┼────────────────────┼─────────────────────┤
- │ ñ½¿¡«⌐ ó ß½«ó« │ 0 .. 65535 │ 16 í¿Γ íѺ º¡á¬á │
- │ (Word) │ │ │
- └────────────────────┴────────────────────┴─────────────────────┘
-
- Çα¿Σ¼ÑΓ¿τÑ߬¿Ñ ñÑ⌐ßΓó¿∩ ¡áñ «»Ñαá¡ñἿ µÑ½«τ¿ß½Ñ¡¡«ú« Γ¿»á
- »αÑñ»«½áúáεΓ 8-í¿Γ«óπε, 16-í¿Γ«óπε ¿ 32-í¿Γ«óπε Γ«τ¡«ßΓ∞ ó ß««Γ-
- óÑΓßΓó¿¿ ß« ß½ÑñπεΘ¿¼¿ »αáó¿½á¼¿:
-
- - Æ¿» µÑ½«⌐ ¬«¡ßΓá¡Γδ »αÑñßΓáó½∩ÑΓ ß«í«⌐ óßΓα«Ñ¡¡δ⌐ µÑ½«τ¿ß-
- ½Ñ¡¡δ⌐ Γ¿» ß ¡á¿¼Ñ¡∞Φ¿¼ ñ¿á»áº«¡«¼, ó¬½ετáεΘ¿¼ º¡áτÑ¡¿Ñ
- φΓ«⌐ µÑ½«⌐ ¬«¡ßΓá¡Γδ.
-
- - é ß½πτáÑ í¿¡áα¡«⌐ «»Ñαᵿ¿ («»Ñαᵿ¿, ¿ß»«½∞ºπεΘÑ⌐ ñóá
- «»Ñαá¡ñá), «íá «»Ñαá¡ñá »αÑ«íαáºπεΓß∩ ¬ ¿σ «íΘѼπ Γ¿»π »Ñ-
- αÑñ ΓѼ, ¬á¬ ¡áñ ¡¿¼¿ ß«óÑαΦáÑΓß∩ ñÑ⌐ßΓó¿Ñ. ÄíΘ¿¼ Γ¿»«¼
- ∩ó½∩ÑΓß∩ óßΓα«Ñ¡¡δ⌐ µÑ½«τ¿ß½Ñ¡¡δ⌐ Γ¿» ß ¡á¿¼Ñ¡∞Φ¿¼ ñ¿á»á-
- º«¡«¼, ó¬½ετáεΘ¿¼ óßÑ ó«º¼«ª¡δÑ º¡áτÑ¡¿∩ «í«¿σ Γ¿»«ó. ìá»-
- α¿¼Ñα, «íΘ¿¼ Γ¿»«¼ ñ½∩ µÑ½«ú« ¿ µÑ½«ú« ñ½¿¡«⌐ ó íá⌐Γ ∩ó½∩-
- ÑΓß∩ µÑ½«Ñ, á «íΘ¿¼ Γ¿»«¼ ñ½∩ µÑ½«ú« ¿ µÑ½«ú« ñ½¿¡«⌐ ó
- ß½«ó« ∩ó½∩ÑΓß∩ ñ½¿¡¡«Ñ µÑ½«Ñ. äÑ⌐ßΓó¿Ñ óδ»«½¡∩ÑΓß∩ ó ß««Γ-
- óÑΓßΓó¿¿ ß Γ«τ¡«ßΓ∞ε «íΘÑú« Γ¿»á ¿ Γ¿»«¼ αѺπ½∞ΓáΓá ∩ó½∩-
- ÑΓß∩ «íΘ¿⌐ Γ¿».
-
- - éδαáªÑ¡¿Ñ ß»αáóá ó «»ÑαáΓ«αÑ »α¿ßóá¿óá¡¿∩ óδτ¿ß½∩ÑΓß∩ ¡Ñ-
- ºáó¿ß¿¼« «Γ αẼÑαá ¿½¿ Γ¿»á »ÑαѼѡ¡«⌐ ß½Ñóá.
-
- - ïεíδÑ «»Ñαá¡ñδ αẼÑα«¼ ó íá⌐Γ »αÑ«íαáºπεΓß∩ ¬ »α«¼ÑªπΓ«τ-
- ¡«¼π «»Ñαá¡ñπ αẼÑα«¼ ó ß½«ó«, ¬«Γ«αδ⌐ ß«ó¼ÑßΓ¿¼ »ÑαÑñ
-
- B.Pascal 7 & Objects/LR - 38 -
-
- óδ»«½¡Ñ¡¿Ñ¼ áα¿Σ¼ÑΓ¿τÑ߬«⌐ «»Ñαᵿ¿ ß Γ¿»á¼¿ Integer ¿
- Word.
-
- ç¡áτÑ¡¿Ñ «ñ¡«ú« µÑ½«τ¿ß½Ñ¡¡«ú« Γ¿»á ¼«ªÑΓ íδΓ∞ ∩ó¡δ¼ «íαẫ¼
- »αÑ«íαẫóá¡« ¬ ñαπú«¼π µÑ½«τ¿ß½Ñ¡¡«¼π Γ¿»π ß »«¼«Θ∞ε »α¿óÑñÑ¡¿∩
- Γ¿»«ó.
-
- Åα¿¼Ñτá¡¿Ñ: Åα¿óÑñÑ¡¿Ñ Γ¿»«ó «»¿ßδóáÑΓß∩ ó â½áóáσ 5 ¿ 6.
-
-
-
- B.Pascal 7 & Objects/LR - 39 -
-
- üπ½Ñó߬¿Ñ Γ¿»δ
- ─────────────────────────────────────────────────────────────────
-
- æπΘÑßΓóπÑΓ 4 »αÑñ«»αÑñѽѡ¡δσ íπ½Ñó߬¿σ Γ¿»á: Boolean,
- ByteBool, WordBool ¿ LongBool. ç¡áτÑ¡¿∩ íπ½Ñó߬«ú« Γ¿»á «í«º¡áτá-
- εΓß∩ óßΓα«Ñ¡¡δ¼¿ ¿ñÑ¡Γ¿Σ¿¬áΓ«αἿ ¬«¡ßΓá¡Γ False ¿ True. ū߬«½∞-
- ¬π íπ½Ñó߬¿⌐ Γ¿» ∩ó½∩ÑΓß∩ »ÑαÑτ¿ß½¿¼δ¼, ¼Ñªñπ φΓ¿¼¿ º¡áτÑ¡¿∩¼¿
- ¿¼ÑεΓ ¼ÑßΓ« ß½ÑñπεΘ¿Ñ «Γ¡«ΦÑ¡¿∩:
-
- - False < True
- - Ord(False) = 0
- - Ord(True) = 1
- - Succ(False) = True
- - Pred(True) = False
-
- ÅÑαѼѡ¡δÑ Γ¿»á Boolean ¿ ByteBool ºá¡¿¼áεΓ 1 íá⌐Γ, »ÑαÑ-
- ¼Ñ¡¡á∩ WordBool ºá¡¿¼áÑΓ ñóá íá⌐Γá (ß½«ó«), á »ÑαѼѡ¡á∩ LongBool
- ºá¡¿¼áÑΓ τÑΓδαÑ íá⌐Γá (ñóá ß½«óá). Boolean - φΓ« ¡á¿í«½ÑÑ »αÑñ»«-
- τΓ¿Γѽ∞¡δ⌐ Γ¿», ¿ß»«½∞ºπεΘÑ⌐ ¼Ñ¡∞ΦÑ »á¼∩Γ¿; Γ¿»á ByteBool,
- WordBool ¿ LongBool «íÑß»Ñτ¿óáεΓ ß«ó¼ÑßΓ¿¼«ßΓ∞ ß ñαπú¿¼¿ ∩ºδ¬á¼¿
- ¿ ßαÑñ«⌐ Windows.
-
- ÅαÑñ»«½áúáÑΓß∩, τΓ« »ÑαѼѡ¡á∩ Γ¿»á Boolean ¿¼ÑÑΓ »«α∩ñ¬«óδÑ
- º¡áτÑ¡¿∩ 0 ¿ 1, ¡« »ÑαѼѡ¡δÑ Γ¿»á ByteBool, WordBool ¿ LongBool
- ¼«úπΓ ¿¼ÑΓ∞ ñαπú¿Ñ »«α∩ñ¬«óδÑ º¡áτÑ¡¿∩. è«úñá óδαáªÑ¡¿Ñ Γ¿»á
- ByteBool, WordBool ¿½¿ LongBool αáó¡á 1, Γ« »«ñαáºπ¼ÑóáÑΓß∩, τΓ«
- «¡á ¿¼ÑÑΓ º¡áτÑ¡¿Ñ True, á Ñß½¿ «¡« αáó¡« 0 - Γ« False. è«úñá
- º¡áτÑ¡¿Ñ Γ¿»á ByteBool, WordBool ¿½¿ LongBool ¿ß»«½∞ºπÑΓß∩ ó ¬«¡-
- ΓѬßΓÑ, úñÑ «ª¿ñáÑΓß∩ º¡áτÑ¡¿Ñ Boolean, ¬«¼»¿½∩Γ«α íπñÑΓ áóΓ«¼á-
- Γ¿τÑ߬¿ úÑ¡Ñα¿α«óáΓ∞ ¬«ñ, »αÑ«íαáºπεΘ¿⌐ ½εí«Ñ ¡Ñ¡π½Ñó«Ñ º¡áτÑ¡¿Ñ
- ó º¡áτÑ¡¿Ñ True.
-
-
-
- B.Pascal 7 & Objects/LR - 40 -
-
- 濼ó«½∞¡δ⌐ Γ¿» (char)
- ─────────────────────────────────────────────────────────────────
-
- î¡«ªÑßΓó«¼ º¡áτÑ¡¿⌐ φΓ«ú« Γ¿»á ∩ó½∩εΓß∩ ß¿¼ó«½δ, π»«α∩ñ«τÑ¡-
- ¡δÑ ó ß««ΓóÑΓßΓó¿¿ ß αáßΦ¿αÑ¡¡δ¼ ¡áí«α«¼ ß¿¼ó«½«ó ¬«ñá ASCII. Åα¿
- ó맮óÑ Σπ¡¬µ¿¿ Ord(Ch), úñÑ Ch - º¡áτÑ¡¿Ñ ß¿¼ó«½∞¡«ú« Γ¿»á, ó«ºó-
- αáΘáÑΓß∩ »«α∩ñ¬«óδ⌐ ¡«¼Ñα Ch.
-
- æΓ᫬«óá∩ ¬«¡ßΓá¡Γá ß ñ½¿¡«⌐ 1 ¼«ªÑΓ «í«º¡áτáΓ∞ º¡áτÑ¡¿Ñ
- ¬«¡ßΓá¡Γδ ß¿¼ó«½∞¡«ú« Γ¿»á. ïεí«Ñ º¡áτÑ¡¿Ñ ß¿¼ó«½∞¡«ú« Γ¿»á ¼«ªÑΓ
- íδΓ∞ »«½πτÑ¡« ß »«¼«Θ∞ε ßΓá¡ñáαΓ¡«⌐ Σπ¡¬µ¿¿ Chr.
-
- ÅÑαÑτ¿ß½¿¼δÑ Γ¿»δ
- ─────────────────────────────────────────────────────────────────
-
- ÅÑαÑτ¿ß½¿¼δÑ Γ¿»δ «»αÑñѽ∩εΓ π»«α∩ñ«τÑ¡¡δÑ ¼¡«ªÑßΓóá º¡áτÑ-
- ¡¿⌐ τÑαѺ »ÑαÑτ¿ß½Ñ¡¿Ñ ¿ñÑ¡Γ¿Σ¿¬áΓ«α«ó, ¬«Γ«αδÑ «í«º¡áτáεΓ φΓ¿
- º¡áτÑ¡¿∩. ô»«α∩ñ«τÑ¡¿Ñ ¼¡«ªÑßΓó óδ»«½¡∩ÑΓß∩ ó ß««ΓóÑΓßΓó¿¿ ß »«ß-
- ½Ññ«óáΓѽ∞¡«ßΓ∞ε, ó ¬«Γ«α«⌐ »ÑαÑτ¿ß½∩εΓß∩ ¿ñÑ¡Γ¿Σ¿¬áΓ«αδ.
-
- ┌───┐ ┌───────────────┐ ┌───┐
- »ÑαÑτ¿ß½¿¼δ⌐ ──>│ ( ├───>│ ß»¿ß«¬ ├───>│ ) ├───>
- Γ¿» └───┘ │¿ñÑ¡Γ¿Σ¿¬áΓ«α«ó│ └───┘
- └───────────────┘
-
- ß»¿ß«¬ ┌─────────────┐
- ¿ñÑ¡Γ¿Σ¿¬áΓ«α«ó ────────>│¿ñÑ¡Γ¿Σ¿¬áΓ«α├───┬────>
- ^ └─────────────┘ │
- │ ┌───┐ │
- └──────┤ , │<───────────┘
- └───┘
-
- Åα¿ π¬áºá¡¿¿ ¿ñÑ¡Γ¿Σ¿¬áΓ«αá ó ß»¿ß¬Ñ ¿ñÑ¡Γ¿Σ¿¬áΓ«α«ó »ÑαÑ-
- τ¿ß½¿¼«ú« Γ¿»á «¡ «»¿ßδóáÑΓß∩ ¬á¬ ¬«¡ßΓá¡Γá ñ½∩ í½«¬á, ó ¬«Γ«α«¼
- π¬áºá¡« «»¿ßá¡¿Ñ »ÑαÑτ¿ß½¿¼«ú« Γ¿»á. Æ¿»«¼ φΓ«⌐ ¬«¡ßΓá¡Γδ ∩ó½∩ÑΓ-
- ß∩ «»¿ßá¡¡δ⌐ »ÑαÑτ¿ß½¿¼δ⌐ Γ¿».
-
- Å«α∩ñ¬«óδ⌐ ¡«¼Ñα »ÑαÑτ¿ß½¿¼«⌐ ¬«¡ßΓá¡Γδ «»αÑñѽ∩ÑΓß∩ ÑÑ »«-
- º¿µ¿Ñ⌐ ó ß»¿ß¬Ñ ¿ñÑ¡Γ¿Σ¿¬áΓ«α«ó »α¿ «»¿ßá¡¿¿. ÅÑαÑτ¿ß½¿¼δ⌐ Γ¿», ó
- ¬«Γ«α«¼ «»¿ßδóáÑΓß∩ ¬«¡ßΓá¡Γá, ßΓá¡«ó¿Γß∩ ÑÑ Γ¿»«¼. ÅÑαóá∩ »ÑαÑ-
- τ¿ß½¿¼á∩ ¬«¡ßΓá¡Γá ó ß»¿ß¬Ñ ¿¼ÑÑΓ »«α∩ñ¬«óδ⌐ ¡«¼Ñα 0.
-
- Åα¿óÑñѼ »α¿¼Ñα »ÑαÑτ¿ß½¿¼«ú« Γ¿»á:
-
- type
- suit = (club, diamond, heart, spade);
-
- æ«ú½áß¡« φΓ¿¼ «»¿ßá¡¿∩¼ diamond ∩ó½∩ÑΓß∩ ¬«¡ßΓá¡Γ«⌐ Γ¿»á
- suit.
-
- Åα¿ »α¿¼Ñ¡Ñ¡¿¿ Σπ¡¬µ¿¿ Ord ¬ º¡áτÑ¡¿ε »ÑαÑτ¿ß½¿¼«ú« Γ¿»á Ord
- ó«ºóαáΘáÑΓ µÑ½«Ñ τ¿ß½«, ¬«Γ«α«Ñ »«¬áºδóáÑΓ, ¬á¬«Ñ »«½«ªÑ¡¿Ñ ºá¡¿-
- ¼áÑΓ φΓ« º¡áτÑ¡¿Ñ ó «Γ¡«ΦÑ¡¿¿ ñαπú¿σ º¡áτÑ¡¿⌐ φΓ«ú« »ÑαÑτ¿ß½¿¼«ú«
-
- B.Pascal 7 & Objects/LR - 41 -
-
- Γ¿»á. æ«ú½áß¡« »αÑñΦÑßΓóπεΘ¿¼ «»¿ßá¡¿∩¼, Ord(club) ó«ºóαáΘáÑΓ 0,
- Ord(diamond) ó«ºóαáΘáÑΓ 1 ¿ Γᬠñá½ÑÑ.
-
- ÄΓαѺ¬¿ Γ¿»á
- ─────────────────────────────────────────────────────────────────
-
- ÄΓαѺ«¬ Γ¿»á »αÑñßΓáó½∩ÑΓ ß«í«⌐ ñ¿á»áº«¡ º¡áτÑ¡¿⌐ ¿º »«α∩ñ-
- ¬«ó«ú« Γ¿»á, ¡áºδóáѼ«ú« ú½áó¡δ¼ Γ¿»«¼. Ä»αÑñѽѡ¿Ñ «ΓαѺ¬á Γ¿»á
- ó¬½ετáÑΓ ¡á¿¼Ñ¡∞ΦÑÑ ¿ ¡á¿í«½∞ΦÑÑ º¡áτÑ¡¿Ñ ó »«ññ¿á»áº«¡Ñ. Ä¡«
- ¿¼ÑÑΓ ß½ÑñπεΘ¿⌐ ß¿¡Γá¬ß¿ß:
-
- «ΓαѺ«¬ ┌───────────┐ ┌────┐ ┌───────────┐
- Γ¿»á ───────────>│ ¬«¡ßΓá¡Γá ├───>│ .. ├───>│ ¬«¡ßΓá¡Γá ├───>
- └───────────┘ └────┘ └───────────┘
-
- ÄíÑ ¬«¡ßΓá¡Γδ ñ«½ª¡δ ¿¼ÑΓ∞ «ñ¿¡ ¿ ëà ªÑ »«α∩ñ¬«óδ⌐ Γ¿». ÄΓ-
- αѺ¬¿ Γ¿»«ó, ¿¼ÑεΘ¿Ñ ó¿ñ a..b, »αÑñ»«½áúáεΓ, τΓ« a ¼Ñ¡∞ΦÑ ¿½¿
- αáó¡« b.
-
- Åα¿óÑñѼ »α¿¼Ñαδ «ΓαѺ¬«ó Γ¿»«ó:
-
- 0..99
- -128..127
- club..heart
-
- ÅÑαѼѡ¡á∩ «ΓαѺ¬á Γ¿»á ¿¼ÑÑΓ óßÑ ßó«⌐ßΓóá »ÑαѼѡ¡δσ ú½áó-
- ¡«ú« Γ¿»á, «ñ¡á¬« ÑÑ º¡áτÑ¡¿Ñ ¡á φΓá»Ñ óδ»«½¡Ñ¡¿∩ ñ«½ª¡« »α¿¡áñ-
- ½ÑªáΓ∞ π¬áºá¡¡«¼π ¿¡ΓÑαóá½π.
-
- ÉáºαÑΦÑ¡¿Ñ ¿ß»«½∞º«óá¡¿∩ óδαáªÑ¡¿⌐-¬«¡ßΓá¡Γ Γá¼, úñÑ ßΓá¡-
- ñáαΓ¡δ⌐ Åá߬á½∞ ñ«»π߬áÑΓ Γ«½∞¬« »α«ßΓδÑ ¬«¡ßΓá¡Γδ, »α¿ó«ñ¿Γ ¬
- ¡Ñ¬«Γ«α«⌐ ß¿¡Γá¬ß¿τÑ߬«⌐ ¡Ñ«ñ¡«º¡áτ¡«ßΓ¿. Éáßß¼«Γα¿¼ ß½ÑñπεΘ¿Ñ
- «»¿ßá¡¿∩:
-
- const
- X = 50;
- Y = 10;
- type
- Color = (Red, Green, Blue);
- Scale = (X - Y) * 2..(X + Y) * 2;
-
- æ«ú½áß¡« ß¿¡Γá¬ß¿ßπ ßΓá¡ñáαΓ¡«ú« Åá߬á½∩, Ñß½¿ «»αÑñѽѡ¿Ñ
- Γ¿»á ¡áτ¿¡áÑΓß∩ ß ¬απú½«⌐ ߬«í¬¿, Γ« φΓ« »ÑαÑτ¿ß½¿¼δ⌐ Γ¿» (Γᬫ⌐
- ¬á¬ Color ó ñá¡¡«¼ »α¿¼ÑαÑ). Äñ¡á¬« Scale »αÑñ¡áº¡áτÑ¡ ñ½∩ «»αÑ-
- ñѽѡ¿∩ «ΓαѺ¬á Γ¿»á. ÉÑΦÑ¡¿Ñ ß«ßΓ«¿Γ ó Γ«¼, τΓ«íδ »ÑαÑπ»«α∩ñ«-
- τ¿Γ∞ »Ñαó«Ñ óδαáªÑ¡¿Ñ »«ññ¿á»áº«¡á ¿½¿ ºáñáΓ∞ ñαπúπε ¬«¡ßΓá¡Γπ,
- αáó¡πε º¡áτÑ¡¿ε ñá¡¡«ú« óδαáªÑ¡¿∩, ¿ ¿ß»«½∞º«óáΓ∞ φΓ𠬫¡ßΓá¡Γπ ó
- «»αÑñѽѡ¿¿ Γ¿»á:
-
- type
- Scale = 2 * (X - Y)..(X + Y);
-
-
-
- B.Pascal 7 & Objects/LR - 42 -
-
- éÑΘÑßΓóÑ¡¡δÑ Γ¿»δ
- ─────────────────────────────────────────────────────────────────
-
- è óÑΘÑßΓóÑ¡¡«¼π Γ¿»π «Γ¡«ß¿Γß∩ »«ñ¼¡«ªÑßΓó« óÑΘÑßΓóÑ¡¡δσ τ¿-
- ßѽ, ¬«Γ«αδÑ ¼«úπΓ íδΓ∞ »αÑñßΓáó½Ñ¡δ ó Σ«α¼áΓÑ ß »½áóáεΘÑ⌐ Γ«τ¬«⌐
- ß Σ¿¬ß¿α«óá¡¡δ¼ τ¿ß½«¼ µ¿Σα. çỿß∞ º¡áτÑ¡¿∩ ó Σ«α¼áΓÑ ß »½áóáε-
- ΘÑ⌐ ºá»∩Γ«⌐ «íδτ¡« ó¬½ετáÑΓ Γα¿ º¡áτÑ¡¿∩ - m, b ¿ e - Γᬿ¼ «íαá-
- º«¼, τΓ« m x b^e=n, úñÑ b óßÑúñá αáóÑ¡ 2, á m ¿ e ∩ó½∩εΓß∩ µÑ½«-
- τ¿ß½Ñ¡¡δ¼¿ º¡áτÑ¡¿∩¼¿ ó ñ¿á»áº«¡Ñ óÑΘÑßΓóÑ¡¡«ú« Γ¿»á. ¥Γ¿
- º¡áτÑ¡¿∩ m ¿ e ñá½ÑÑ «»αÑñѽ∩εΓ ñ¿á»áº«¡ »αÑñßΓáó½Ñ¡¿∩ ¿ Γ«τ¡«ßΓ∞
- óÑΘÑßΓóÑ¡¡«ú« Γ¿»á.
-
- ê¼ÑÑΓß∩ »∩Γ∞ ó¿ñ«ó óÑΘÑßΓóÑ¡¡δσ Γ¿»«ó: óÑΘÑßΓóÑ¡¡«Ñ (Real),
- ß «ñ¿¡áα¡«⌐ Γ«τ¡«ßΓ∞ε (Single), ß ñó«⌐¡«⌐ Γ«τ¡«ßΓ∞ε (Double), ß
- »«óδΦÑ¡¡«⌐ Γ«τ¡«ßΓ∞ε (Extended) ¿ ß½«ª¡«Ñ (Comp). äÑ⌐ßΓó¿∩ ¡áñ
- Γ¿»á¼¿ ß «ñ¿¡áα¡«⌐ Γ«τ¡«ßΓ∞ε, ß ñó«⌐¡«⌐ Γ«τ¡«ßΓ∞ε ¿ ß »«óδΦÑ¡¡«⌐
- Γ«τ¡«ßΓ∞ε ¿ ¡áñ ß½«ª¡δ¼ Γ¿»«¼ ¼«úπΓ óδ»«½¡∩Γ∞ß∩ Γ«½∞¬« »α¿ ¡á½¿-
- τ¿¿ τ¿ß½«ó«ú« ß«»α«µÑßß«αá 8087 (¬«Γ«αδ⌐ íδ½ «»¿ßá¡ αá¡ÑÑ).
-
- éÑΘÑßΓóÑ¡¡δÑ Γ¿»δ αẽ¿τáεΓß∩ ñ¿á»áº«¡«¼ ¿ Γ«τ¡«ßΓ∞ε ßó∩ºá¡-
- ¡δσ ß ¡¿¼¿ º¡áτÑ¡¿⌐ (ß¼. Æáí½¿µπ 4.2).
-
- ä¿á»áº«¡ »αÑñßΓáó½Ñ¡¿∩
- ¿ ñÑß∩Γ¿τ¡δÑ µ¿Σαδ ñ½∩ óÑΘÑßΓóÑ¡¡δσ Γ¿»«ó Æáí½¿µá 4.2
- ┌───────────────────────┬───────────────────────────┬───────────┐
- │ Æ¿» │ ä¿á»áº«¡ │ û¿Σαδ │
- ├───────────────────────┼───────────────────────────┼───────────┤
- │ óÑΘÑßΓóÑ¡¡«Ñ │2.9x10^-39 .. 1.7x10^38 │«Γ 11 ñ« 12│
- │ (Real) │ │ │
- ├───────────────────────┼───────────────────────────┼───────────┤
- │ ß «ñ¿¡áα¡«⌐ Γ«τ¡«ßΓ∞ε │1.5x10^-45 .. 3.4x10^38 │«Γ 7 ñ« 8 │
- │ (Single) │ │ │
- ├───────────────────────┼───────────────────────────┼───────────┤
- │ ß ñó«⌐¡«⌐ Γ«τ¡«ßΓ∞ε │5.0x10^-324 .. 1.7x10^308 │«Γ 15 ñ« 16│
- │ (Double) │ │ │
- ├───────────────────────┼───────────────────────────┼───────────┤
- │ ß »«óδΦÑ¡¡«⌐ Γ«τ¡«ßΓ∞ε│1.9x10^-4951 .. 1.1x10^4932│«Γ 19 ñ« 20│
- │ (Extended) │ │ │
- ├───────────────────────┼───────────────────────────┼───────────┤
- │ ß½«ª¡δ⌐ Γ¿» │ -2^63 + 1 .. 2^63 - 1 │ │
- │ (Comp) │ │ │
- └───────────────────────┴───────────────────────────┴───────────┘
-
- Åα¿¼Ñτá¡¿Ñ: 潫ª¡δ⌐ Γ¿» ß«ñÑαª¿Γ Γ«½∞¬« µÑ½«τ¿ß½Ñ¡¡δÑ
- º¡áτÑ¡¿∩ ó ñ¿á»áº«¡Ñ «Γ -2^63+1 ñ« 2^63-1, τΓ« »α¿í½¿º¿-
- Γѽ∞¡« αáó¡« -9.2x10^18 ¿ 9.2x10^18.
-
- Borland Pascal »«ññÑনóáÑΓ ñóÑ ¼«ñѽ¿ úÑ¡Ñαᵿ¿ ¬«ñá ñ½∩
- óδ»«½¡Ñ¡¿∩ ñÑ⌐ßΓó¿⌐ ¡áñ óÑΘÑßΓóÑ¡¡δ¼¿ Γ¿»á¼¿: »α«úαá¼¼¡πε ñ½∩ τ¿-
- ßѽ ß »½áóáεΘÑ⌐ Γ«τ¬«⌐ ¿ á»»áαáΓ¡πε ñ½∩ τ¿ßѽ ß »½áóáεΘÑ⌐ Γ«τ¬«⌐.
- éδí«α ß««ΓóÑΓßΓóπεΘÑ⌐ ¼«ñѽ¿ «ßπΘÑßΓó½∩ÑΓß∩ ß »«¼«Θ∞ε ñ¿αÑ¬Γ¿óδ
- ¬«¼»¿½∩Γ«αá $N.
-
-
- B.Pascal 7 & Objects/LR - 43 -
-
- Åα«úαá¼¼¡á∩ »«ññÑ᪬á τ¿ßѽ ß »½áóáεΘÑ⌐ Γ«τ¬«⌐
- ─────────────────────────────────────────────────────────────────
-
- é ß«ßΓ«∩¡¿¿ {$N-}, ¬«Γ«α«Ñ πßΓá¡áó½¿óáÑΓß∩ »« π¼«½τá¡¿ε, úÑ-
- ¡Ñα¿απѼδ⌐ ¬«ñ óδ»«½¡∩ÑΓ óßÑ óδτ¿ß½Ñ¡¿∩ ß óÑΘÑßΓóÑ¡¡δ¼¿ Γ¿»á¼¿
- »α«úαá¼¼¡«, τÑαѺ óδº«ó »«ñ»α«úαá¼¼ í¿í½¿«ΓѬ¿ ¿ß»«½¡∩εΘÑ⌐ ß¿ßΓÑ-
- ¼δ. êº-ºá ß««íαáªÑ¡¿⌐ ߬«α«ßΓ¿ ¿ αẼÑαá ¬«ñá ó φΓ«¼ ß«ßΓ«∩¡¿¿
- ñ«»π߬áεΓß∩ Γ«½∞¬« ñÑ⌐ßΓó¿∩ ¡áñ »ÑαѼѡ¡δ¼¿ Γ¿»á real (óÑΘÑßΓóÑ¡-
- ¡«Ñ). ïεíá∩ »«»δΓ¬á «ΓΓαá¡ß½¿α«óáΓ∞ «»ÑαáΓ«αδ, óδ»«½¡∩εΘ¿Ñ ñÑ⌐ß-
- Γó¿∩ ¡áñ Γ¿»á¼¿ ß «ñ¿¡áα¡«⌐ Γ«τ¡«ßΓ∞ε, ß ñó«⌐¡«⌐ Γ«τ¡«ßΓ∞ε, ß »«-
- óδΦÑ¡¡«⌐ Γ«τ¡«ßΓ∞ε ¿ ¡áñ ß½«ª¡δ¼¿ Γ¿»á¼¿, ó맮óÑΓ ß««íΘÑ¡¿Ñ «í
- «Φ¿í¬Ñ.
-
- Ç»»áαáΓ¡á∩ »«ññÑ᪬á τ¿ßѽ ß »½áóáεΘÑ⌐ Γ«τ¬«⌐
- ─────────────────────────────────────────────────────────────────
-
- é ß«ßΓ«∩¡¿¿ {$N+} úÑ¡Ñα¿απѼδ⌐ ¬«ñ óδ»«½¡∩ÑΓ óßÑ óδτ¿ß½Ñ¡¿∩
- ¡áñ óÑΘÑßΓóÑ¡¡δ¼¿ Γ¿»á¼¿ ß »«¼«Θ∞ε τ¿ß½«ó«ú« ß«»α«µÑßß«αá 8087.
- ¥Γ« ß«ßΓ«∩¡¿Ñ »«ºó«½∩ÑΓ ¿ß»«½∞º«óáΓ∞ óßÑ »∩Γ∞ óÑΘÑßΓóÑ¡¡δσ Γ¿»«ó,
- «ñ¡á¬« «¡« ΓαÑíπÑΓ ¡á½¿τ¿∩ ß«»α«µÑßß«αá 8087 ¡á φΓá»Ñ ¬«¼»¿½∩µ¿¿
- ¿ óδ»«½¡Ñ¡¿∩.
-
- Borland Pascal ó¬½ετáÑΓ ó ßÑí∩ í¿í½¿«ΓѬ¿ ¿ß»«½¡∩εΘÑ⌐ ß¿ßΓÑ-
- ¼δ, ¬«Γ«αδÑ áóΓ«¼áΓ¿τÑ߬¿ φ¼π½¿απεΓ »α«úαá¼¼¡δ¼ »πΓѼ ß«»α«µÑßß«α
- 80σ87, Ñß½¿ »α¿ óδ»«½¡Ñ¡¿¿ »α¿¬½áñ¡«⌐ »α«úαá¼¼δ DOS αÑá½∞¡«ú« ¿½¿
- ºáΘ¿ΘÑ¡¡«ú« αѪ¿¼á «¡ «ΓßπΓßΓóπÑΓ. ä½∩ «»αÑñѽѡ¿∩ Γ«ú«, ß½ÑñπÑΓ
- ½¿ ó »α«úαá¼¼π DOS ó¬½ετ¿Γ∞ φ¼π½∩Γ«α ß«»α«µÑßß«αá 80x87, ¿ß»«½∞-
- ºπÑΓß∩ ñ¿αÑ¬Γ¿óá ¬«¼»¿½∩Γ«αá $E. àß½¿ óδ ß«ºñáÑΓ »α¿¬½áñ¡πε »α«ú-
- αá¼¼π ñ½∩ αÑá½∞¡«ú« ¿½¿ ºáΘ¿ΘÑ¡¡«ú« αѪ¿¼á DOS, ¿ ß«»α«µÑßß«α
- 80σ87 «ΓßπΓßΓóπÑΓ, αáºαÑΦÑ¡¿Ñ ñ¿αÑ¬Γ¿óδ ¬«¼»¿½∩Γ«αá $E «íÑß»Ñτ¿-
- óáÑΓ »«½¡πε »α«úαá¼¼¡πε φ¼π½∩µ¿ε ß«»α«µÑßß«αá 80x87. ä½∩ »α«úαá¼¼
- Windows ñ¿αÑ¬Γ¿óá $E ¡Ñ ñÑ⌐ßΓóπÑΓ, Γᬠ¬á¬ Windows «íÑß»Ñτ¿óáÑΓ
- ß«íßΓóÑ¡¡δÑ »«ñ»α«úαá¼¼δ φ¼π½∩µ¿¿.
-
- Åα¿¼Ñτá¡¿Ñ: ü«½ÑÑ ñÑΓá½∞¡«Ñ «»¿ßá¡¿Ñ úÑ¡Ñαᵿ¿ ¬«ñá
- »α¿ á»»áαáΓ¡«⌐ »«ññÑαª¬Ñ τ¿ßѽ ß »½áóáεΘÑ⌐ ºá»∩Γ«⌐ óδ ¼«ªÑ-
- ΓÑ ¡á⌐Γ¿ ó â½áóÑ 15 "êß»«½∞º«óá¡¿Ñ ß«»α«µÑßß«αá 8087 ó
- Borland Pascal".
-
-
-
- B.Pascal 7 & Objects/LR - 44 -
-
- æΓ᫬«óδÑ Γ¿»δ
- ─────────────────────────────────────────────────────────────────
-
- ç¡áτÑ¡¿Ñ¼ ßΓ᫬«ó«ú« Γ¿»á ∩ó½∩ÑΓß∩ »«ß½Ññ«óáΓѽ∞¡«ßΓ∞ ß¿¼ó«-
- ½«ó ß ñ¿¡á¼¿τÑ߬¿¼ áΓα¿íπΓ«¼ ñ½¿¡δ (ó ºáó¿ß¿¼«ßΓ¿ «Γ ñÑ⌐ßΓó¿Γѽ∞-
- ¡«ú« τ¿ß½á ß¿¼ó«½«ó »α¿ óδ»«½¡Ñ¡¿¿ »α«úαá¼¼δ) ¿ »«ßΓ«∩¡¡δ¼ áΓα¿-
- íπΓ«¼ αẼÑαá ó ñ¿á»áº«¡Ñ «Γ 1 ñ« 255. ÆÑ¬πΘÑÑ º¡áτÑ¡¿Ñ áΓα¿íπΓá
- ñ½¿¡δ ¼«ª¡« »«½πτ¿Γ∞ ß »«¼«Θ∞ε ßΓá¡ñáαΓ¡«⌐ Σπ¡¬µ¿¿ Length.
-
- ┌──────┐
- ßΓ᫬«óδ⌐ Γ¿» ───>│string├──┬──────────────────────────────>
- └──────┘ │ ^
- │ ┌───┐ ┌─────┐ ┌───┐ │
- └─>│ [ ├──>│µÑ½«Ñ├──>│ ] ├─┘
- └───┘ │ íѺ │ └───┘
- │º¡á¬á│
- └─────┘
-
- Åα¿¼Ñτá¡¿Ñ: Ä»ÑαáΓ«αδ αáí«Γδ ß« ßΓ᫬«ó묨 Γ¿»á¼¿ «»¿-
- ßδóáεΓß∩ αáºñѽáσ "æΓ᫬«óδÑ «»ÑαáΓ«αδ" ¿ "Ä»ÑαáΓ«αδ «Γ¡«-
- ΦÑ¡¿⌐" â½áóδ 6.
-
- ÄΓ¡«ΦÑ¡¿Ñ ¼Ñªñπ ½εí묨 ñóπ¼∩ ßΓ᫬«ó묨 º¡áτÑ¡¿∩¼¿ πßΓá¡áó-
- ½¿óáÑΓß∩ ß«ú½áß¡« «Γ¡«ΦÑ¡¿ε »«α∩ñ¬á ¼Ñªñπ º¡áτÑ¡¿∩¼¿ ß¿¼ó«½«ó ó
- ß««ΓóÑΓßΓóπεΘ¿σ »«º¿µ¿∩σ. é ñóπσ ßΓ᫬áσ αạ«⌐ ñ½¿¡δ ¬áªñδ⌐ ß¿¼-
- ó«½ í«½ÑÑ ñ½¿¡¡«⌐ ßΓ᫬¿ íѺ ß««ΓóÑΓßΓóπεΘÑú« ß¿¼ó«½á ó í«½ÑÑ ¬«-
- α«Γ¬«⌐ ßΓα«¬Ñ »α¿¡¿¼áÑΓ º¡áτÑ¡¿Ñ "í«½∞ΦÑ"; ¡á»α¿¼Ñα, 'Xs' í«½∞ΦÑ,
- τѼ 'X'. ìπ½ÑóδÑ ßΓ᫬¿ ¼«úπΓ íδΓ∞ αáó¡δ Γ«½∞¬« ñαπú¿¼ ¡π½Ñóδ¼
- ßΓ᫬á¼, ¿ «¡¿ ∩ó½∩εΓß∩ ¡á¿¼Ñ¡∞Φ¿¼¿ ßΓ᫬«ó묨 º¡áτÑ¡¿∩¼¿.
-
- Åα¿¼Ñτá¡¿Ñ: æΓá¡ñáαΓ¡δÑ »α«µÑñπαδ ¿ Σπ¡¬µ¿¿ ñ½∩ αáí«Γδ
- ß« ßΓ᫬«ó묨 Γ¿»á¼¿ «»¿ßá¡δ ó αáºñÑ½Ñ "æΓ᫬«óδÑ »α«µÑñπαδ
- ¿ Σπ¡¬µ¿¿".
-
- è ß¿¼ó«½á¼ ó ßΓ᫬áσ ¼«ª¡« «íαáΘáΓ∞ß∩ ¬á¬ ¬ φ½Ñ¼Ñ¡Γá¼ ¼áßß¿-
- óá. æ¼. αáºñѽ "îáßß¿óδ, ßΓ᫬¿ ¿ ¿¡ñѬßδ" ó â½áóÑ 5.
-
- è ¿ñÑ¡Γ¿Σ¿¬áΓ«απ ßΓ᫬«ó«ú« Γ¿»á ¿ ¬ ßßδ½¬Ñ ¡á »ÑαѼѡ¡πε
- ßΓ᫬«ó«ú« Γ¿»á ¼«ª¡« »α¿¼Ñ¡∩Γ∞ ßΓá¡ñáαΓ¡δÑ Σπ¡¬µ¿¿ Low ¿ High. é
- φΓ«¼ ß½πτáÑ Σπ¡¬µ¿∩ Low ó«ºóαáΘáÑΓ 0, á High ó«ºóαáΘáÑΓ áΓα¿íπΓ
- αẼÑαá (¼á¬ß¿¼á½∞¡πε ñ½¿¡π) ñá¡¡«⌐ ßΓ᫬¿.
-
- Åáαá¼ÑΓα-»ÑαѼѡ¡á∩, «»¿ßá¡¡á∩ ß »«¼«Θ∞ε ¿ñÑ¡Γ¿Σ¿¬áΓ«αá
- OpenString ¿ ¬½ετÑó«ú« ß½«óá string ó ß«ßΓ«∩¡¿¿ {$P+}, ∩ó½∩ÑΓß∩
- «Γ¬αδΓδ¼ ßΓ᫬«óδ¼ »áαá¼ÑΓα«¼. ÄΓ¬αδΓδÑ ßΓ᫬«óδÑ »áαá¼ÑΓαδ »«º-
- ó«½∩εΓ »ÑαÑñáóáΓ∞ «ñ¡«⌐ ¿ Γ«⌐ ªÑ »α«µÑñπαÑ ¿½¿ Σπ¡¬µ¿¿ ßΓ᫬«óδÑ
- »ÑαѼѡ¡δÑ ¿º¼Ñ¡∩εΘÑú«ß∩ αẼÑαá.
-
- Åα¿¼Ñτá¡¿Ñ: ÄΓ¬αδΓδÑ ßΓ᫬«óδÑ »áαá¼ÑΓαδ «»¿ßδóáεΓß∩ ó
- â½áóÑ 9.
-
-
-
- B.Pascal 7 & Objects/LR - 45 -
-
- æΓαπ¬Γπα¡δÑ Γ¿»δ
- ─────────────────────────────────────────────────────────────────
-
- æΓαπ¬Γπα¡δ⌐ Γ¿», σáαá¬ΓÑਧπѼδ⌐ ¼ÑΓ«ñ«¼ ßΓαπ¬Γπα¿α«óá¡¿∩ ¿
- Γ¿»á¼¿ ßó«¿σ ¬«¼»«¡Ñ¡Γ«ó, ¿¼ÑÑΓ í«½ÑÑ «ñ¡«ú« º¡áτÑ¡¿∩. àß½¿ Γ¿»
- ¬«¼»«¡Ñ¡Γá ∩ó½∩ÑΓß∩ ßΓαπ¬Γπα¡δ¼, Γ« »«½πτáѼδ⌐ ó αѺπ½∞ΓáΓÑ
- ßΓαπ¬Γπα¡δ⌐ Γ¿» ¿¼ÑÑΓ í«½ÑÑ «ñ¡«ú« πα«ó¡∩ ßΓαπ¬Γπα¿α«óá¡¿∩.
- æΓαπ¬Γπα¡δ⌐ Γ¿» ¼«ªÑΓ ¿¼ÑΓ∞ ¡Ñ«úαá¡¿τÑ¡¡δÑ πα«ó¡¿ ßΓαπ¬Γπα¿α«óá-
- ¡¿∩.
-
- ┌───────────────┐
- ßΓαπ¬Γπα¡δ⌐ ──┬────────────────┬──>│ Γ¿» ¼áßß¿ó ├─────>
- Γ¿» │ ┌────────┐ ^ │ └───────────────┘ ^
- └─>│ packed ├─┘ │ ┌───────────────┐ │
- └────────┘ ├──>│ ¼¡«ªÑßΓóÑ¡¡δ⌐ ├──┤
- │ │ Γ¿» │ │
- │ └───────────────┘ │
- │ ┌───────────────┐ │
- ├──>│ Σá⌐½«óδ⌐ Γ¿» ├──┤
- │ └───────────────┘ │
- │ ┌───────────────┐ │
- ├──>│ Γ¿» "ºá»¿ß∞" ├──┤
- │ └───────────────┘ │
- │ ┌───────────────┐ │
- └──>│ «íΩÑ¬Γ¡δ⌐ Γ¿» ├──┘
- └───────────────┘
-
- 潫ó« packed (π»á¬«óá¡¡δ⌐) ó «»¿ßá¡¿¿ ßΓαπ¬Γπα¡«ú« Γ¿»á ΓαÑ-
- íπÑΓ «Γ ¬«¼»¿½∩Γ«αá π»½«Γ¡¿Γ∞ σαá¡¿¼δÑ ñá¡¡δÑ, ñáªÑ ºá ßτÑΓ
- π¼Ñ¡∞ΦÑ¡¿∩ ߬«α«ßΓ¿ ñ«ßΓπ»á ¬ ¬«¼»«¡Ñ¡Γπ ó »ÑαѼѡ¡«⌐ φΓ«ú« Γ¿»á.
- 潫ó« packed ¡Ñ ¿¼ÑÑΓ ¡¿¬á¬«ú« ñÑ⌐ßΓó¿∩ ó Borland Pascal, »«ß-
- ¬«½∞¬π π»á¬«ó¬á óδ»«½¡∩ÑΓß∩ ºñÑß∞ áóΓ«¼áΓ¿τÑ߬¿ óßεñπ, úñÑ φΓ«
- 󫺼«ª¡«.
-
-
-
- B.Pascal 7 & Objects/LR - 46 -
-
- Æ¿»δ ¼áßß¿ó
- ─────────────────────────────────────────────────────────────────
-
- îáßß¿óδ ß«ñÑαªáΓ Σ¿¬ß¿α«óá¡¡«Ñ τ¿ß½« φ½Ñ¼Ñ¡Γ«ó «ñ¡«ú« Γ¿»á,
- Γᬠ¡áºδóáѼ«ú« Γ¿»á φ½Ñ¼Ñ¡Γá. ìá »α¿ó«ñ¿¼«⌐ ¡¿ªÑ ß¿¡Γá¬ß¿τÑ߬«⌐
- ñ¿áúαá¼¼Ñ Γ¿» φ½Ñ¼Ñ¡Γá ß½ÑñπÑΓ ºá ß½«ó«¼ of.
-
- ┌───────┐ ┌───┐ ┌───────┐ ┌───┐ ┌────┐ ┌─────┐
- Γ¿» ──>│ array ├─>│ [ ├───>│ Γ¿» ├─┬─>│ ] ├─>│ of ├─>│ Γ¿» ├>
- ¼áßß¿ó └───────┘ └───┘ ^ │¿¡ñѬßá│ │ └───┘ └────┘ └─────┘
- │ └───────┘ │
- │ ┌───┐ │
- └────┤ , │<──┘
- └───┘
-
- Γ¿» ┌────────────────┐
- ¿¡ñѬßá ───>│ »«α∩ñ¬«óδ⌐ Γ¿» ├───>
- └────────────────┘
-
- é ¿¡ñѬߡδσ Γ¿»áσ, »« «ñ¡«¼π ñ½∩ ¬áªñ«⌐ αẼÑα¡«ßΓ¿ ¼áßß¿óá,
- π¬áºδóáÑΓß∩ τ¿ß½« φ½Ñ¼Ñ¡Γ«ó. ä«»πßΓ¿¼δ¼¿ ¿¡ñÑ¬ß¡δ¼¿ Γ¿»á¼¿ ∩ó½∩-
- εΓß∩ óßÑ »«α∩ñ¬«óδÑ Γ¿»δ, ºá ¿ß¬½ετÑ¡¿Ñ¼ ñ½¿¡¡«ú« µÑ½«ú« ¿ »«ññ¿-
- á»áº«¡«ó ñ½¿¡¡«ú« µÑ½«ú«. îáßß¿ó ¼«ªÑΓ íδΓ∞ »α«¿¡ñѬ߿α«óá¡ »«
- ¬áªñ«⌐ αẼÑα¡«ßΓ¿ óßѼ¿ º¡áτÑ¡¿∩¼¿ ß««ΓóÑΓßΓóπεΘÑú« ¿¡ñѬߡ«ú«
- Γ¿»á; τ¿ß½« φ½Ñ¼Ñ¡Γ«ó »«φΓ«¼π αáó¡« τ¿ß½π º¡áτÑ¡¿⌐ ó ¬áªñ«¼ ¿¡-
- ñѬߡ«¼ Γ¿»Ñ. ù¿ß½« αẼÑα¡«ßΓÑ⌐ ¡Ñ «úαá¡¿τÑ¡«.
-
- Åα¿óÑñѼ »α¿¼Ñα Γ¿»á ¼áßß¿ó:
-
- array[1..100] of Real
-
- àß½¿ Γ¿» φ½Ñ¼Ñ¡Γá ó Γ¿»Ñ ¼áßß¿ó Γá¬ªÑ ∩ó½∩ÑΓß∩ ¼áßß¿ó«¼, Γ«
- αѺπ½∞ΓáΓ ¼«ª¡« αáßß¼áΓα¿óáΓ∞ ¬á¬ ¼áßß¿ó ¼áßß¿ó«ó ¿½¿ ¬á¬ «ñ¿¡
- ¼¡«ú«¼Ñα¡δ⌐ ¼áßß¿ó. ìá»α¿¼Ñα,
-
- array[boolean] of array[1..100] of array[Size] of Real
-
- ¿¡ΓÑα»αÑΓ¿απÑΓß∩ ¬«¼»¿½∩Γ«α«¼ Γ«τ¡« ΓᬠªÑ, ¬á¬ ¼áßß¿ó:
-
- array[boolean,1..10,Size] of Real
-
- èα«¼Ñ Γ«ú«, ¼«ª¡« ºá»¿ßáΓ∞ óδαáªÑ¡¿Ñ:
-
- packed array[1..10] of packed array[1..8] of Boolean
- ¬á¬
- packed array[1..10,1..8] of Boolean
-
- ä½∩ ñ«ßΓπ»á ¬ φ½Ñ¼Ñ¡Γá¼ ¼áßß¿óá ¡Ñ«íσ«ñ¿¼« π¬áºáΓ∞ ¿ñÑ¡Γ¿Σ¿-
- ¬áΓ«α ¼áßß¿óá ß «ñ¡¿¼ ¿½¿ ¡Ñ߬«½∞¬¿¼¿ ¿¡ñѬßἿ ó ߬«í¬áσ (ß¼.
- αáºñѽ "îáßß¿óδ, ßΓ᫬¿ ¿ ¿¡ñѬßδ").
-
- Æ¿» ¼áßß¿ó, ¿¼ÑεΘ¿⌐ ó¿ñ:
-
-
- B.Pascal 7 & Objects/LR - 47 -
-
- packed array[M..N] of Char
-
- úñÑ M ¼Ñ¡∞ΦÑ N, ¡áºδóáÑΓß∩ π»á¬«óá¡¡δ¼ ßΓ᫬«óδ¼ Γ¿»«¼ (ß½«ó«
- packed ¼«ª¡« «»πßΓ¿Γ∞, »«ß¬«½∞¬π «¡« ¡Ñ «¬áºδóáÑΓ ñÑ⌐ßΓó¿∩ ó
- Borland Pascal). ô»á¬«óá¡¡δ⌐ ßΓ᫬«óδ⌐ Γ¿» ¿¼ÑÑΓ ¡Ñ¬«Γ«αδÑ ßó«⌐ß-
- Γóá, ¡Ñ σáαá¬ΓÑα¡δÑ ñ½∩ ñαπú¿σ Γ¿»«ó ¼áßß¿ó (ß¼. αáºñѽ "Æ«ªñÑßΓ-
- óÑ¡¡δÑ ¿ ß«ó¼ÑßΓ¿¼δÑ Γ¿»δ" ñá½ÑÑ ó φΓ«⌐ ú½áóÑ).
-
- îáßß¿ó ó¿ñá:
-
- array[0..X] of Char
-
- úñÑ X - »«½«ª¿Γѽ∞¡«Ñ µÑ½«Ñ τ¿ß½«, ¡áºδóáÑΓß∩ ¼áßß¿ó«¼ ß ¡π½Ñó«⌐
- íẫ⌐. îáßß¿óδ ß ¡π½Ñó«⌐ íẫ⌐ ¿ß»«½∞ºπεΓß∩ ñ½∩ σαá¡Ñ¡¿∩ ßΓ᫬ ß
- ºáóÑαΦáεΘ¿¼ ¡π½Ñ¼, ¿, ¬«úñá αáºαÑΦÑ¡ αáßΦ¿αÑ¡¡δ⌐ ß¿¡Γá¬ß¿ß (ß »«-
- ¼«Θ∞ε ñ¿αÑ¬Γ¿óδ ¬«¼»¿½∩Γ«αá {$X+}), ß¿¼ó«½∞¡δ⌐ ¼áßß¿ó ß ¡π½Ñó«⌐
- íẫ⌐ ß«ó¼ÑßΓ¿¼ ß« º¡áτÑ¡¿Ñ¼ Γ¿»á PChar. Å«½¡«ßΓ∞ε φΓá ΓÑ¼á «í-
- ßπªñáÑΓß∩ ó â½áóÑ 18 "êß»«½∞º«óá¡¿Ñ ßΓ᫬ ß ºáóÑαΦáεΘ¿¼ ¡π½Ñ¼".
-
- Åáαá¼ÑΓα, «»¿ßá¡¡δ⌐ ß »«¼«Θ∞ε ß¿¡Γá¬ß¿ßá array of T, ¡áºδóá-
- ÑΓß∩ «Γ¬αδΓδ¼ ßΓ᫬«óδ¼ »áαá¼ÑΓα«¼. ÄΓ¬αδΓδÑ ßΓ᫬«óδÑ »áαá¼ÑΓαδ
- »«ºó«½∩εΓ »ÑαÑñáóáΓ∞ «ñ¡«⌐ ¿ Γ«⌐ ªÑ »α«µÑñπαÑ ¿½¿ Σπ¡¬µ¿¿ ßΓ᫬«-
- óδÑ »ÑαѼѡ¡δÑ ¿º¼Ñ¡∩εΘÑú«ß∩ αẼÑαá.
-
- Åα¿¼Ñτá¡¿Ñ: ÄΓ¬αδΓδÑ ßΓ᫬«óδÑ »áαá¼ÑΓαδ «»¿ßδóáεΓß∩ ó
- â½áóÑ 9.
-
-
-
- B.Pascal 7 & Objects/LR - 48 -
-
- Æ¿»δ ºá»¿ß∞
- ─────────────────────────────────────────────────────────────────
-
- Æ¿» ºá»¿ß∞ ß«ñÑαª¿Γ πßΓá¡«ó½Ñ¡¡«Ñ τ¿ß½« φ½Ñ¼Ñ¡Γ«ó ¿½¿ »«½Ñ⌐,
- ¬«Γ«αδÑ ¼«úπΓ íδΓ∞ αẽ¿τ¡δσ Γ¿»«ó. Ä»¿ßá¡¿Ñ Γ¿»á ºá»¿ß∞ π¬áºδóá-
- ÑΓ Γ¿» ¬áªñ«ú« »«½∩ ¿ ¿ñÑ¡Γ¿Σ¿¬áΓ«α, ¬«Γ«αδ⌐ ¿¼Ñ¡πÑΓ »«½Ñ.
-
- ┌────────┐ ┌─────┐
- Γ¿» ºá»¿ß∞ ───>│ record ├──┬────────────────>│ end ├──>
- └────────┘ │ ┌────────┐ ^ └─────┘
- └─>│ ß»¿ß«¬ ├─┘
- │ »«½Ñ⌐ │
- └────────┘
-
- ß»¿ß«¬ ┌────────────┐
- »«½Ñ⌐┬─>│ Σ¿¬ß¿α«óá¡-├─┬────────────────────────────┬──────────>
- │ │ ¡á∩ τáßΓ∞ │ │ ┌───┐ ┌────────────┐ ^ │ ┌───┐ ^
- │ └────────────┘ └─>│ ; ├───>│ óáα¿á¡Γ¡á∩ ├─┘ └─>│ ; ├─┘
- │ └───┘ ^ │ τáßΓ∞ │ └───┘
- └──────────────────────────┘ └────────────┘
-
- ┌─────────────────┐ ┌───┐ ┌─────┐
- Σ¿¬ß¿α«óá¡¡á∩ ────>│ ß»¿ß«¬ ├──>│ : ├───>│ Γ¿» ├──┬──>
- τáßΓ∞ ^ │ ¿ñÑ¡Γ¿Σ¿¬áΓ«α«ó │ └───┘ └─────┘ │
- │ └─────────────────┘ │
- │ │
- │ ┌───┐ │
- └────────────┤ ; │<────────────────────────┘
- └───┘
-
- ö¿¬ß¿α«óá¡¡á∩ τáßΓ∞ Γ¿»á ºá»¿ß∞ ß«ñÑαª¿Γ ß»¿ß«¬ Σ¿¬ß¿α«óá¡-
- ¡δσ »«½Ñ⌐ ó¼ÑßΓÑ ß ¿ñÑ¡Γ¿Σ¿¬áΓ«α«¼ ¿ Γ¿»«¼ ñ½∩ ¬áªñ«ú« »«½∩. èáª-
- ñ«Ñ »«½Ñ ß«ñÑαª¿Γ ¿¡Σ«α¼áµ¿ε, ¬«Γ«αá∩ óßÑúñá «Γδ߬¿óáÑΓß∩ «ñ¡¿¼ ¿
- ΓѼ ªÑ ß»«ß«í«¼.
-
- Åα¿óÑñѼ »α¿¼Ñα Γ¿»á ºá»¿ß∞:
-
- record
- year: integer; { ú«ñ }
- month: 1..12; { ¼Ñß∩µ }
- day: 1..31; { τ¿ß½« }
- end
-
-
- B.Pascal 7 & Objects/LR - 49 -
-
-
- é óáα¿á¡Γ¡«⌐ τáßΓ¿, ¿º«íαáªÑ¡¡«⌐ ¡á ß¿¡Γá¬ß¿τÑ߬«⌐ ñ¿áúαá¼¼Ñ
- «»¿ßá¡¿∩ Γ¿»á ºá»¿ß∞, »á¼∩Γ∞ αáß»αÑñѽ∩ÑΓß∩ í«½ÑÑ τѼ ñ½∩ «ñ¡«ú«
- ß»¿ß¬á »«½Ñ⌐, »«φΓ«¼π ñ«ßΓπ» ¬ ¿¡Σ«α¼áµ¿¿ ¼«ªÑΓ íδΓ∞ «ßπΘÑßΓó½Ñ¡
- í«½ÑÑ τѼ «ñ¡¿¼ ß»«ß«í«¼. èáªñδ⌐ ß»¿ß«¬ »«½Ñ⌐ ∩ó½∩ÑΓß∩ óáα¿á¡Γ«¼.
- éáα¿á¡Γδ ¡á½áúáεΓß∩ ñαπú ¡á ñαπúá ó »á¼∩Γ¿, »«φΓ«¼π ó ½εí«Ñ óαѼ∩
- 󫺼«ªÑ¡ ñ«ßΓπ» ¬« óßѼ »«½∩¼ ó« óßÑσ óáα¿á¡Γáσ.
-
- óáα¿á¡Γ¡á∩ τáßΓ∞
- │ ┌────┐ ┌────────┐ ┌──┐ ┌───────┐
- └─>│case├─┬───────────────────>│Γ¿» »«½∩├─>│of├────>│óáα¿á¡Γ├─┬>
- └────┘ │ ^ │»α¿º¡á¬á│ └──┘ ^ └───────┘ │
- │ ┌───────┐ ┌───┐ │ └────────┘ │ ┌───┐ │
- └>│¿ñÑ¡Γ¿-├>│ : ├─┘ └────┤ ; │<───┘
- │Σ¿¬áΓ«α│ └───┘ └───┘
- └───────┘
-
- ┌────────────────┐
- Γ¿» »«½∩ ────>│ ¿ñÑ¡Γ¿Σ¿¬áΓ«α ├────>
- »α¿º¡á¬á │»«α∩ñ¬«ó«ú« Γ¿»á│
- └────────────────┘
-
- ┌─────────┐ ┌───┐ ┌───┐ ┌───┐
- óáα¿á¡Γ ────>│¬«¡ßΓá¡Γá├─┬─>│ : ├─>│ ( ├─┬─────────────>│ ) ├──>
- ^ └─────────┘ │ └───┘ └───┘ │ ^ └───┘
- │ ┌───┐ │ │ │
- └────┤ , │<────┘ │ ┌──────┐ │
- └───┘ └─>│ß»¿ß«¬├─┘
- │»«½Ñ⌐ │
- └──────┘
-
- éδ ¼«ªÑΓÑ ó¿ñÑΓ∞ ¡á ñ¿áúαá¼¼Ñ, τΓ« ¬áªñδ⌐ óáα¿á¡Γ ¿ñÑ¡Γ¿Σ¿-
- µ¿α«óá¡ »« ¬αá⌐¡Ñ⌐ ¼ÑαÑ «ñ¡«⌐ ¬«¡ßΓá¡Γ«⌐. éßÑ ¬«¡ßΓá¡Γδ ñ«½ª¡δ
- íδΓ∞ «Γ½¿τ¡δ¼¿ ñαπú «Γ ñαπúá ¿ ¿¼ÑΓ∞ »«α∩ñ¬«óδ⌐ Γ¿», ß«ó¼ÑßΓ¿¼δ⌐
- ß Γ¿»«¼ »«½∩ »α¿º¡á¬á. ä«ßΓπ» ¬ óáα¿á¡Γ¡δ¼ ¿ Σ¿¬ß¿α«óá¡¡δ¼ »«½∩¼
- «ñ¿¡ ¿ ëà ªÑ.
-
- é óáα¿á¡Γ¡«⌐ τáßΓ¿ ¼«ª¡« π¬áºáΓ∞ ¡Ñ«í∩ºáΓѽ∞¡δ⌐ ¿ñÑ¡Γ¿Σ¿¬á-
- Γ«α - ¿ñÑ¡Γ¿Σ¿¬áΓ«α »α¿º¡á¬á »«½∩. Åα¿ ¡á½¿τ¿¿ ¿ñÑ¡Γ¿Σ¿¬áΓ«αá
- »α¿º¡á¬á »«½∩ «¡ ßΓá¡«ó¿Γß∩ ¿ñÑ¡Γ¿Σ¿¬áΓ«α«¼ ñ«»«½¡¿Γѽ∞¡«ú« Σ¿¬-
- ß¿α«óá¡¡«ú« »«½∩ ºá»¿ß¿ - »«½∩ »α¿º¡á¬á. Åα«úαá¼¼á ¼«ªÑΓ ¿ß»«½∞-
- º«óáΓ∞ º¡áτÑ¡¿Ñ »«½∩ »α¿º¡á¬á ñ½∩ π¬áºá¡¿∩, ¬á¬«⌐ óáα¿á¡Γ ∩ó½∩ÑΓ-
- ß∩ á¬Γ¿ó¡δ¼ ó ¡áßΓ«∩Θ¿⌐ ¼«¼Ñ¡Γ. üѺ π¬áºá¡¿∩ »«½∩ »α¿º¡á¬á
- »α«úαá¼¼á óδí¿αáÑΓ óáα¿á¡Γ »« ñαπú«¼π ¬α¿ΓÑα¿ε.
-
- ì¿ªÑ »α¿ó«ñ∩Γß∩ ¡Ñ߬«½∞¬« »α¿¼Ñα«ó Γ¿»«ó ºá»¿ß∞:
-
- record
- firstName,lastName : string[40];
- birthDate : Date;
- case citizen : boolean of
- True : (birthPlace: string[40]);
- False : (country : string[20];
-
- B.Pascal 7 & Objects/LR - 50 -
-
- entryPort : string[20];
- entryDate : Date;
- exitDate : Date);
- end
-
- record
- x,y : real;
- case kind : Figure of
- rectangle : (height,wigth: real); { »α∩¼«πú«½∞¡¿¬ }
- triangle : (size1,side2,angle: real); { ΓαÑπú«½∞¡¿¬ }
- circle : (radius: real); { ¬απú }
- end
-
- ÄíΩÑ¬Γ¡δÑ Γ¿»δ
- ─────────────────────────────────────────────────────────────────
-
- ÄíΩÑ¬Γ¡δ⌐ Γ¿» ∩ó½∩ÑΓß∩ ßΓαπ¬Γπα«⌐, ß«ßΓ«∩ΘÑ⌐ ¿º Σ¿¬ß¿α«óá¡-
- ¡«ú« τ¿ß½á ¬«¼»«¡Ñ¡Γ«ó. èáªñδ⌐ ¬«¼»«¡Ñ¡Γ ∩ó½∩ÑΓß∩ ½¿í« »«½Ñ¼, ß«-
- ñÑαªáΘ¿¼ ñá¡¡δÑ ßΓα«ú« «»αÑñѽѡ¡«ú« Γ¿»á, ½¿í« ¼ÑΓ«ñ«¼, óδ»«½¡∩-
- εΘ¿¼ «»Ñαᵿ¿ ¡áñ «íΩÑ¬Γ«¼. Å« á¡á½«ú¿¿ ß «»¿ß᡿Ѽ »ÑαѼѡ¡δσ,
- «»¿ßá¡¿Ñ »«½∩ π¬áºδóáÑΓ Γ¿» ñá¡¡«ú« φΓ«ú« »«½∩ ¿ ¿ñÑ¡Γ¿Σ¿¬áΓ«α,
- ¿¼Ñ¡πεΘ¿⌐ »«½Ñ: »« á¡á½«ú¿¿ ß «»¿ß᡿Ѽ »α«µÑñπαδ ¿½¿ Σπ¡¬µ¿¿,
- «»¿ßá¡¿Ñ ¼ÑΓ«ñá π¬áºδóáÑΓ ºáú«½«ó«¬ »α«µÑñπαδ, Σπ¡¬µ¿¿, ¬«¡ßΓαπ¬-
- Γ«αá ¿½¿ ñÑßΓαπ¬Γ«αá.
-
- ÄíΩÑ¬Γ¡δ⌐ Γ¿» ¼«ªÑΓ ¡áß½Ññ«óáΓ∞ ¬«¼»«¡Ñ¡Γδ ñαπú«ú« «íΩÑ¬Γ¡«-
- ú« Γ¿»á. àß½¿ T2 ¡áß½ÑñπÑΓ «Γ T1, Γ« T2 ∩ó½∩ÑΓß∩ »«Γ«¼¬«¼ T1, á
- T1 ∩ó½∩ÑΓß∩ α«ñ¿ΓѽѼ T2.
-
-
- B.Pascal 7 & Objects/LR - 51 -
-
-
- ìáß½Ññ«óá¡¿Ñ ∩ó½∩ÑΓß∩ Γα᡺¿Γ¿ó¡δ¼, Γ« ÑßΓ∞ Ñß½¿ T3 ¡áß½Ññπ-
- ÑΓ «Γ T2, á T2 ¡áß½ÑñπÑΓ «Γ T1, Γ« T3 ¡áß½ÑñπÑΓ «Γ T1. Äí½áßΓ∞
- (ñ«¼Ñ¡) «íΩÑ¬Γ¡«ú« Γ¿»á ß«ßΓ«¿Γ ¿º ¡Ñú« ßἫú« ¿ ¿º óßÑσ Ñú« ¡áß-
- ½Ññ¡¿¬«ó.
-
- ┌──────┐ ┌────────────────┐
- Γ¿» «íΩѬΓá──>│object├─┬───────────────────>│ß»¿ß«¬ ¬«¼»«¡Ñ¡Γ├─┐
- └──────┘ │ ┌────────────┐ ^ └────────────────┘ │
- └─>│Háß½Ññ«óá¡¿Ñ├─┘ │
- └────────────┘ │
- ┌───────────────────────────────────────────┘
- │ ┌───┐
- └─┬──────────────────────────────────┬─┤end├>
- │ ┌───────┐ ┌────────────────┐ │ └───┘
- └──>│private├──>│ß»¿ß«¬ ¬«¼»«¡Ñ¡Γ├─┘
- └───────┘ └────────────────┘
-
- ┌───┐ ┌─────────────────────────────┐ ┌───┐
- ¡áß½Ññ«óá¡¿Ñ ──>│ ( ├─>│¿ñÑ¡Γ¿Σ¿¬áΓ«α «íΩÑ¬Γ¡«ú« Γ¿»á├─>│ ) ├──>
- └───┘ └─────────────────────────────┘ └───┘
-
- ß»¿ß«¬ ¬«¼»«¡Ñ¡Γ ──┬─────────────────┬───────────────────>
- │ ┌────────┐ ^ │ ┌─────────┐ ^
- └─>│ ß»¿ß«¬ ├──┘ └─>│ ß»¿ß«¬ ├──┘
- │ »«½Ñ⌐ │ │ ¼ÑΓ«ñ«ó │
- └────────┘ └─────────┘
-
- ┌──────────────────────┐ ┌───┐ ┌────┐ ┌───┐
- ß»¿ß«¬ »«½Ñ⌐ ───>│c»¿ß«¬ ¿ñÑ¡Γ¿Σ¿¬áΓ«α«ó├─>│ : ├─>│type├>│ ; ├┬>
- ^ └──────────────────────┘ └───┘ └────┘ └───┘│
- │ │
- └───────────────────────────────────────────────┘
-
- ┌─────────┐ ┌───┐
- ß»¿ß«¬ ¼ÑΓ«ñ«ó ──>│ºáú«½«ó«¬├─┬──────────────────────────┤ ; ├┬─>
- ^ │ ¼ÑΓ«ñá │ │ ┌───┐ ┌───────┐ ^└───┘│
- │ └─────────┘ └>│ ; ├─>│virtual├┬───────┘ │
- │ └───┘ └───────┘│ ^ │
- │ │ └────────┐│
- │ │ ┌─────────┐││
- │ └>│ µÑ½á∩ ├┘│
- │ │¬«¡ßΓá¡Γá│ │
- │ └─────────┘ │
- └──────────────────────────────────────────────┘
-
- ┌────────────────────────┐
- ºáú«½«ó«¬ ¼ÑΓ«ñá ────┬───>│ ºáú«½«ó«¬ »α«µÑñπαδ ├──────>
- │ └────────────────────────┘ ^
- │ ┌────────────────────────┐ │
- ├───>│ ºáú«½«ó«¬ Σπ¡¬µ¿¿ ├──┤
- │ └────────────────────────┘ │
- │ ┌────────────────────────┐ │
-
- B.Pascal 7 & Objects/LR - 52 -
-
- ├───>│ ºáú«½«ó«¬ ¬«¡ßΓαπ¬Γ«αá ├──┤
- │ └────────────────────────┘ │
- │ ┌────────────────────────┐ │
- └───>│ ºáú«½«ó«¬ ñÑßΓαπ¬Γ«αá ├──┘
- └────────────────────────┘
-
- æ½ÑñπεΘ¿⌐ ¿ßσ«ñ¡δ⌐ ¬«ñ »α¿ó«ñ¿Γ »α¿¼Ñα «»¿ßá¡¿∩ «íΩÑ¬Γ¡«ú«
- Γ¿»á. äá½ÑÑ ó« óßÑ⌐ φΓ«⌐ ú½áóÑ ¡á ñá¡¡«Ñ «»¿ßá¡¿Ñ íπñπΓ ñѽáΓ∞ß∩
- ßß佬¿.
-
- type
- Point = object
- X, Y: integer;
- end;
-
- Rect = object
- A, B: TPoint;
- procedure Init(XA, YA, XB, YB: Integer);
- procedure Copy(var R: TRectangle);
- procedure Move(DX, DY: Integer);
- procedure Grow(DX, DY: Integer);
- procedure Intersect(var R: TRectangle);
- procedure Union(var R: TRectangle);
- function Contains(P: Point): Boolean;
- end;
-
- StringPtr = ^String;
- FieldPtr = ^TField;
-
- TField = object
- X, Y, Len: Integer;
- Name: StringPtr;
- constructor Copy(var F: TField);
- constructor Init(FX, FY, FLen: Integer; FName: String);
- destructor Done; virtual;
- procedure Display; virtual;
- procedure Edit; virtual;
- function GetStr: String; virtual;
- function PutStr(S: String): Boolean; virtual;
- end;
-
- StrFieldPtr = ^TStrField;
-
- StrField = object(TField)
- Value: PString;
- constructor Init(FX, FY, FLen: Integer; FName: String);
- destructor Done; virtual;
- function GetStr: String; virtual;
- function PutStr(S: String): Boolean;
- virtual;
- function Get: string;
- procedure Put(S: String);
- end;
-
- B.Pascal 7 & Objects/LR - 53 -
-
-
- NumFieldPtr = ^TNumField;
-
- TNumField = object(TField)
- private
- Value, Min, Max: Longint;
- public
- constructor Init(FX, FY, FLen: Integer; FName: String;
- FMin, FMax: Longint);
- function GetStr: String; virtual;
- function PutStr(S: String): Boolean; virtual;
- function Get: Longint;
- function Put(N: Longint);
- end;
-
- ZipFieldPtr = ^TZipField;
-
- ZipField = object(TNumField)
- function GetStr: String; virtual;
- function PutStr(S: String): Boolean;
- virtual;
- end;
-
- é «Γ½¿τ¿Ñ «Γ ñαπú¿σ Γ¿»«ó, «íΩÑ¬Γ¡δÑ Γ¿»δ ¼«úπΓ «»¿ßδóáΓ∞ß∩
- Γ«½∞¬« ó αáºñÑ½Ñ «»¿ßá¡¿⌐ Γ¿»«ó, ¡áσ«ñ∩ΘѼß∩ ¡á ßἫ¼ ó¡ÑΦ¡Ñ¼
- πα«ó¡Ñ «í½áßΓ¿ ñÑ⌐ßΓó¿∩ »α«úαá¼¼δ ¿½¿ ¼«ñπ½∩. Æá¬¿¼ «íαẫ¼, «íΩ-
- Ñ¬Γ¡δÑ Γ¿»δ ¡Ñ ¼«úπΓ «»¿ßδóáΓ∞ß∩ ó αáºñÑ½Ñ «»¿ßá¡¿⌐ »ÑαѼѡ¡δσ
- ¿½¿ ó¡πΓα¿ í½«¬á »α«µÑñπαδ, Σπ¡¬µ¿¿ ¿½¿ ¼ÑΓ«ñá.
-
- Æ¿» ¬«¼»«¡Ñ¡Γδ Σá⌐½«ó«ú« Γ¿»á ¡Ñ ¼«ªÑΓ ¿¼ÑΓ∞ «íΩÑ¬Γ¡δ⌐ Γ¿»
- ¿½¿ ½εí«⌐ ßΓαπ¬Γπα¡δ⌐ Γ¿», ß«ñÑαªáΘ¿⌐ ¬«¼»«¡Ñ¡Γδ «íΩÑ¬Γ¡«ú« Γ¿»á.
-
-
-
- B.Pascal 7 & Objects/LR - 54 -
-
- 諼»«¡Ñ¡Γδ ¿ «í½áßΓ∞ ñÑ⌐ßΓó¿∩
- ─────────────────────────────────────────────────────────────────
-
- Äí½áßΓ∞ ñÑ⌐ßΓó¿∩ ¿ñÑ¡Γ¿Σ¿¬áΓ«αá ¬«¼»«¡Ñ¡Γδ »α«ßΓ¿αáÑΓß∩ ºá
- »αÑñÑ½δ «íΩÑ¬Γ¡«ú« Γ¿»á. ü«½ÑÑ Γ«ú«, «í½áßΓ∞ ñÑ⌐ßΓó¿∩ ¿ñÑ¡Γ¿Σ¿¬á-
- Γ«αá ¬«¼»«¡Ñ¡Γá »α«ßΓ¿αáÑΓß∩ ߬ó«º∞ í½«¬¿ »α«µÑñπα, Σπ¡¬µ¿⌐,
- ¬«¡ßΓαπ¬Γ«α«ó ¿ ñÑßΓαπ¬Γ«α«ó, ¬«Γ«αδÑ αÑ὿ºπεΓ ¼ÑΓ«ñδ «íΩÑ¬Γ¡«ú«
- Γ¿»á ¿ Ñú« ¡áß½Ññ¡¿¬«ó. êßσ«ñ∩ ¿º φΓ¿σ ß««íαáªÑ¡¿⌐, ¡á»¿ßá¡¿Ñ
- ¿ñÑ¡Γ¿Σ¿¬áΓ«αá ¬«¼»«¡Ñ¡Γδ ñ«½ª¡« íδΓ∞ π¡¿¬á½∞¡δ¼ ó¡πΓα¿ «íΩÑ¬Γ¡«-
- ú« Γ¿»á ¿ ó¡πΓα¿ óßÑσ Ñú« ¡áß½Ññ¡¿¬«ó, á Γá¬ªÑ ó¡πΓα¿ óßÑσ Ñú«
- ¼ÑΓ«ñ«ó.
-
- Äí½áßΓ∞ ñÑ⌐ßΓó¿∩ ¿ñÑ¡Γ¿Σ¿¬áΓ«αá ¬«¼»«¡Ñ¡Γá, «»¿ßá¡¡«ú« ó
- τáßΓ¿ private «»¿ßá¡¿∩ Γ¿»á, «úαá¡¿τ¿óáÑΓß∩ ¼«ñπ½Ñ¼ (»α«úαá¼¼«⌐),
- ¬«Γ«αá∩ ß«ñÑαª¿Γ «»¿ßá¡¿Ñ «íΩÑ¬Γ¡«ú« Γ¿»á. äαπú¿¼¿ ß½«óἿ, τáßΓ-
- ¡δÑ (private) ¬«¼»«¡Ñ¡Γδ-¿ñÑ¡Γ¿Σ¿¬áΓ«αδ ñÑ⌐ßΓóπεΓ, ¬á¬ «íδτ¡δÑ
- «íΘÑñ«ßΓπ»¡δÑ ¿ñÑ¡Γ¿Σ¿¬áΓ«αδ ó αἬáσ ¼«ñπ½∩, ¬«Γ«αδ⌐ ß«ñÑনΓ
- «»¿ßá¡¿Ñ «íΩÑ¬Γ¡«ú« Γ¿»á, á ó¡Ñ ¼«ñπ½∩ ½εíδÑ τáßΓ¡δÑ ¬«¼»«¡Ñ¡Γδ ¿
- ¿ñÑ¡Γ¿Σ¿¬áΓ«αδ ¡Ñ¿ºóÑßΓ¡δ ¿ ¡Ññ«ßΓπ»¡δ. Å«¼ÑßΓ¿ó ó «ñ¿¡ ¼«ñπ½∞
- ßó∩ºá¡¡δÑ Γ¿»δ «íΩÑ¬Γ«ó, ¼«ª¡« ßñѽáΓ∞ Γá¬, τΓ« φΓ¿ «íΩѬΓδ ß¼«-
- úπΓ «íαáΘáΓ∞ß∩ ¬ τáßΓ¡δ¼ ¬«¼»«¡Ñ¡Γá¼ ñαπú ñαπúá, ¿ φΓ¿ τáßΓ¡δÑ
- ¬«¼»«¡Ñ¡Γδ íπñπΓ ¡Ñ¿ºóÑßΓ¡δ ñαπú¿¼ ¼«ñπ½∩¼.
-
- é «»¿ßá¡¿¿ «íΩÑ¬Γ¡«ú« Γ¿»á ºáú«½«ó«¬ ¼ÑΓ«ñá ¼«ªÑΓ ºáñáóáΓ∞
- »áαá¼ÑΓαδ «»¿ßδóáѼ«ú« «íΩÑ¬Γ¡«ú« Γ¿»á, ñáªÑ Ñß½¿ «»¿ßá¡¿Ñ ÑΘÑ ¡Ñ
- »«½¡«Ñ. ¥Γ« ¿½½εßΓα¿απÑΓß∩ ¼ÑΓ«ñἿ Copy, Intersect ¿ Union Γ¿»á
- TRectange ó »αÑñδñπΘѼ »α¿¼ÑαÑ.
-
- îÑΓ«ñδ
- ─────────────────────────────────────────────────────────────────
-
- Ä»¿ßá¡¿Ñ ¼ÑΓ«ñá ó¡πΓα¿ «íΩÑ¬Γ¡«ú« Γ¿»á ß««ΓóÑΓßΓóπÑΓ «»ÑαÑ-
- ªáεΘÑ¼π «»¿ßá¡¿ε ¼ÑΓ«ñá (forward). Æá¬¿¼ «íαẫ¼, úñÑ-¡¿íπñ∞ »«ß-
- ½Ñ «»¿ßá¡¿∩ «íΩÑ¬Γ¡«ú« Γ¿»á, ¡« ó¡πΓα¿ Γ«⌐ ªÑ ßἫ⌐ «í½áßΓ¿ ñÑ⌐ß-
- Γó¿∩, τΓ« ¿ «í½áßΓ∞ ñÑ⌐ßΓó¿∩ «»¿ßá¡¿∩ «íΩÑ¬Γ¡«ú« Γ¿»á, ¼ÑΓ«ñ ñ«½-
- ªÑ¡ αÑ὿º«óáΓ∞ß∩ »πΓѼ «»αÑñѽѡ¿∩ Ñú« «»¿ßá¡¿∩.
-
- àß½¿ ΓαÑíπÑΓß∩ π¡¿¬á½∞¡δ⌐ ¿ñÑ¡Γ¿Σ¿¬áΓ«α ¼ÑΓ«ñá, Γ« ¿ß»«½∞ºπ-
- ÑΓß∩ πΓ«τ¡Ñ¡¡δ⌐ ¿ñÑ¡Γ¿Σ¿¬áΓ«α ¼ÑΓ«ñá. Ä¡ ß«ßΓ«¿Γ ¿º ¿ñÑ¡Γ¿Σ¿¬áΓ«-
- αá Γ¿»á «íΩѬΓá, ºá ¬«Γ«αδ¼ ß½ÑñπεΓ Γ«τ¬á ¿ ¿ñÑ¡Γ¿Σ¿¬áΓ«α ¼ÑΓ«ñá.
- èᬠ¿ ½εí«¼π ñαπú«¼π ¿ñÑ¡Γ¿Σ¿¬áΓ«απ, ¿ñÑ¡Γ¿Σ¿¬áΓ«απ πΓ«τ¡Ñ¡¡«ú«
- ¼ÑΓ«ñá, Ñß½¿ ΓαÑíπÑΓß∩, ¼«úπΓ »αÑñΦÑßΓó«óáΓ∞ ¿ñÑ¡Γ¿Σ¿¬áΓ«α »á¬ÑΓá
- ¿ Γ«τ¬á.
-
- πΓ«τ¡Ñ¡¡δ⌐ ¿ñÑ¡Γ¿Σ¿¬áΓ«α ¼ÑΓ«ñá
- │ ┌─────────────────────────────┐ ┌───┐ ┌────────────────────┐
- └─>│¿ñÑ¡Γ¿Σ¿¬áΓ«α «íΩÑ¬Γ¡«ú« Γ¿»á├>│ . ├>│¿ñÑ¡Γ¿Σ¿¬áΓ«α ¼ÑΓ«ñá├>
- └─────────────────────────────┘ └───┘ └────────────────────┘
-
- é¿αΓπá½∞¡δÑ ¼ÑΓ«ñδ
- ─────────────────────────────────────────────────────────────────
-
- Å« π¼«½τá¡¿ε, ¼ÑΓ«ñδ ∩ó½∩εΓß∩ ßΓáΓ¿τÑ߬¿¼¿, «ñ¡á¬« «¡¿ ¼«-
-
- B.Pascal 7 & Objects/LR - 55 -
-
- úπΓ, ºá ¿ß¬½ετÑ¡¿Ñ¼ ¬«¡ßΓαπ¬Γ«α«ó, íδΓ∞ ó¿αΓπá½∞¡δ¼¿ (»«ßαÑñßΓó«¼
- ó¬½ετÑ¡¿∩ ñ¿αÑ¬Γ¿óδ virtual ó «»¿ßá¡¿Ñ ¼ÑΓ«ñá). 諼»¿½∩Γ«α αáºαÑ-
- ΦáÑΓ ßß佬¿ ¡á ó맮óδ ßΓáΓ¿τÑ߬¿σ ¼ÑΓ«ñ«ó ó« óαѼ∩ »α«µÑßßá ¬«¼-
- »¿½∩µ¿¿, Γ«úñá ¬á¬ ó맮óδ ó¿αΓπá½∞¡δσ ¼ÑΓ«ñ«ó αáºαÑΦáεΓß∩ ó« óαÑ-
- ¼∩ óδ»«½¡Ñ¡¿∩. ¥Γ« ¿¡«úñá ¡áºδóáεΓ »«ºñ¡¿¼ ßó∩ºδó᡿Ѽ.
-
- àß½¿ «íΩÑ¬Γ¡δ⌐ Γ¿» «íΩ∩ó½∩ÑΓ ¿½¿ ¡áß½ÑñπÑΓ ¬á¬«⌐-½¿í« ó¿αΓπ-
- á½∞¡δ⌐ ¼ÑΓ«ñ, Γ« »ÑαѼѡ¡δÑ φΓ«ú« Γ¿»á ñ«½ª¡δ íδΓ∞ ¿¡¿µ¿á½¿º¿α«-
- óá¡δ »«ßαÑñßΓó«¼ ó맮óá ¬«¡ßΓαπ¬Γ«αá »ÑαÑñ óδº«ó«¼ ½εí«ú« ó¿αΓπ-
- á½∞¡«ú« ¼ÑΓ«ñá. Æá¬¿¼ «íαẫ¼, «íΩÑ¬Γ¡δ⌐ Γ¿», ¬«Γ«αδ⌐ «»¿ßδóáÑΓ
- ¿½¿ ¡áß½ÑñπÑΓ ó¿αΓπá½∞¡δ⌐ ¼ÑΓ«ñ, ñ«½ªÑ¡ Γá¬ªÑ «»¿ßδóáΓ∞ ¿½¿ ¡áß-
- ½Ññ«óáΓ∞ »« ¬αá⌐¡Ñ⌐ ¼ÑαÑ «ñ¿¡ ¼ÑΓ«ñ-¬«¡ßΓαπ¬Γ«α.
-
- ÄíΩÑ¬Γ¡δ⌐ Γ¿» ¼«ªÑΓ »ÑαÑ«»αÑñѽ∩Γ∞ ½εí«⌐ ¿º ¼ÑΓ«ñ«ó, ¬«Γ«αδÑ
- «¡ ¡áß½ÑñπÑΓ «Γ ßó«¿σ α«ñ¿ΓѽÑ⌐. àß½¿ «»¿ßá¡¿Ñ ¼ÑΓ«ñá ó »«Γ«¼¬Ñ
- π¬áºδóáÑà ëà ªÑ ¿ñÑ¡Γ¿Σ¿¬áΓ«α ¼ÑΓ«ñá, τΓ« ¿ «»¿ßá¡¿Ñ ¼ÑΓ«ñá ó
- α«ñ¿ΓѽÑ, Γ« «»¿ßá¡¿Ñ ó »«Γ«¼¬Ñ »ÑαÑ«»αÑñѽ∩ÑΓ «»¿ßá¡¿Ñ ó α«ñ¿ΓÑ-
- ½Ñ. Äí½áßΓ∞ ñÑ⌐ßΓó¿∩ »ÑαÑ«»αÑñѽ∩εΘÑú« ¼ÑΓ«ñá αáßΦ¿α∩ÑΓß∩ ñ« ßΣÑ-
- αδ ñÑ⌐ßΓó¿∩ »«Γ«¼¬á, ó ¬«Γ«α«¼ φëà ¼ÑΓ«ñ íδ½ óóÑñÑ¡, ¿ íπñÑΓ «ß-
- ΓáóáΓ∞ß∩ Γᬫó«⌐, »«¬á ¿ñÑ¡Γ¿Σ¿¬áΓ«α ¼ÑΓ«ñá ¡Ñ íπñÑΓ »ÑαÑ«»αÑñÑ-
- ½Ñ¡ ß¡«óá.
-
- ÅÑαÑ«»αÑñѽѡ¿Ñ ßΓáΓ¿τÑ߬«ú« ¼ÑΓ«ñá ¡Ñ ºáó¿ß¿Γ «Γ ¿º¼Ñ¡Ñ¡¿∩
- ºáú«½«ó¬á ¼ÑΓ«ñá. é »α«Γ¿ó«»«½«ª¡«ßΓ∞ φΓ«¼π, »ÑαÑ«»αÑñѽѡ¿Ñ ó¿α-
- Γπá½∞¡«ú« ¼ÑΓ«ñá ñ«½ª¡« ß«σαá¡∩Γ∞ »«α∩ñ«¬, Γ¿»δ ¿ ¿¼Ñ¡á »áαá¼ÑΓ-
- α«ó, á Γá¬ªÑ Γ¿»δ αѺπ½∞ΓáΓ«ó Σπ¡¬µ¿⌐, Ñß½¿ ΓᬫóδÑ ¿¼ÑεΓß∩. ü«-
- ½ÑÑ Γ«ú«, »ÑαÑ«»αÑñѽѡ¿Ñ «»∩Γ∞ ªÑ ñ«½ª¡« ó¬½ετáΓ∞ ñ¿αÑ¬Γ¿óπ
- virtual.
-
-
-
- B.Pascal 7 & Objects/LR - 56 -
-
- 信ἿτÑ߬¿Ñ ¼ÑΓ«ñδ
- ─────────────────────────────────────────────────────────────────
-
- Borland Pascal »«ññÑনóáÑΓ ñ«»«½¡¿Γѽ∞¡δÑ ¼ÑΓ«ñδ ß »«ºñ¡¿¼
- ßó∩ºδó᡿Ѽ, ¬«Γ«αδÑ ¡áºδóáεΓß∩ ñ¿¡á¼¿τÑ߬¿¼¿ ¼ÑΓ«ñἿ. 信Ἷ-
- τÑ߬¿Ñ ¼ÑΓ«ñδ «Γ½¿τáεΓß∩ «Γ ó¿αΓπá½∞¡δσ Γ«½∞¬« σáαá¬ΓÑα«¼ ¿σ ñ¿ß-
- »ÑΓτÑα¿ºáµ¿¿ ¡á φΓá»Ñ óδ»«½¡Ñ¡¿∩. é« óßÑσ ñαπú¿σ «Γ¡«ΦÑ¡¿∩σ ñ¿¡á-
- ¼¿τÑ߬¿Ñ ¼ÑΓ«ñδ ßτ¿ΓáεΓß∩ φ¬ó¿óá½Ñ¡Γ¡δ¼¿ ó¿αΓπá½∞¡δ¼.
-
- Ä»¿ßá¡¿Ñ ñ¿¡á¼¿τÑ߬«ú« ¼ÑΓ«ñá φ¬ó¿óá½Ñ¡Γ¡« «»¿ßá¡¿ε ó¿αΓπ-
- á½∞¡«ú« ¼ÑΓ«ñá, ¡« «»¿ßá¡¿Ñ ñ¿¡á¼¿τÑ߬«ú« ¼ÑΓ«ñá ñ«½ª¡« ó¬½ετáΓ∞
- ó ßÑí∩ ¿¡ñÑ¬ß ñ¿¡á¼¿τÑ߬«ú« ¼ÑΓ«ñá, ¬«Γ«αδ⌐ π¬áºδóáÑΓß∩ ¡Ñ»«ß-
- αÑñßΓóÑ¡¡« ºá ¬½ετÑóδ¼ ß½«ó«¼ virtual. ê¡ñÑ¬ß ñ¿¡á¼¿τÑ߬«ú« ¼ÑΓ«-
- ñá ñ«½ªÑ¡ íδΓ∞ µÑ½«τ¿ß½Ñ¡¡«⌐ ¬«¡ßΓá¡Γ«⌐ ó ñ¿á»áº«¡Ñ «Γ 1 ñ«
- 656535 ¿ ñ«½ªÑ¡ íδΓ∞ π¡¿¬á½∞¡δ¼ ßαÑñ¿ ¿¡ñѬ߫ó ñαπú¿σ ñ¿¡á¼¿τÑß-
- ¬¿σ ¼ÑΓ«ñ«ó, ß«ñÑαªáΘ¿σß∩ ó «íΩÑ¬Γ¡«¼ Γ¿»Ñ ¿½¿ Ñú« »αÑñ¬áσ. ìá»-
- α¿¼Ñα:
-
- procedure FileOpen(var Msg: TMessage); virtual 100;
-
- ÅÑαÑ«»αÑñѽѡ¿Ñ ñ¿¡á¼¿τÑ߬«ú« ¼ÑΓ«ñá ñ«½ª¡« ß««ΓóÑΓßΓó«óáΓ∞
- »«α∩ñ¬π, Γ¿»á ¿ ¿¼Ñ¡á¼ »áαá¼ÑΓα«ó ¿ Γ«τ¡« ß««ΓóÑΓßΓó«óáΓ∞ Γ¿»π
- αѺπ½∞ΓáΓá Σπ¡¬µ¿¿ »«α«ªñáεΘÑú« ¼ÑΓ«ñá. ÅÑαÑ«»αÑñѽѡ¿Ñ ΓᬪÑ
- ñ«½ª¡« ó¬½ετáΓ∞ ó ßÑí∩ ñ¿αÑ¬Γ¿óπ virtual, ºá ¬«Γ«α«⌐ ß½ÑñπÑΓ Γ«Γ
- ªÑ ¿¡ñÑ¬ß ñ¿¡á¼¿τÑ߬«ú« ¼ÑΓ«ñá, ¬«Γ«αδ⌐ íδ½ ºáñá¡ ó «íΩÑ¬Γ¡«¼ Γ¿-
- »Ñ »αÑñ¬á.
-
- Åα¿¼Ñτá¡¿Ñ: Å«ñα«í¡ÑÑ « ñ¿¡á¼¿τÑ߬¿σ ¼ÑΓ«ñáσ ¿ « αáº-
- ¡¿µÑ ó ñ¿ß»ÑΓτÑα¿ºáµ¿¿ ñ¿¡á¼¿τÑ߬¿σ ¿ ó¿αΓπá½∞¡δσ ¼ÑΓ«ñ«ó
- αáß߬áºδóáÑΓß∩ ó â½áóÑ 22.
-
-
-
- B.Pascal 7 & Objects/LR - 57 -
-
- 櫺ñá¡¿Ñ φ¬ºÑ¼»½∩α«ó «íΩÑ¬Γ«ó
- ─────────────────────────────────────────────────────────────────
-
- ¥¬ºÑ¼»½∩α «íΩѬΓá ß«ºñáÑΓß∩ »«ßαÑñßΓó«¼ «»¿ßá¡¿Ñ »ÑαѼѡ¡«⌐
- ¿½¿ ¬«¡ßΓá¡Γδ «íΩÑ¬Γ¡«ú« Γ¿»á ¿½¿ »πΓѼ »α¿¼Ñ¡Ñ¡¿∩ ßΓá¡ñáαΓ¡«⌐
- »α«µÑñπαδ New ¬ »ÑαѼѡ¡«⌐ Γ¿»á π¬áºáΓѽ∞ ¡á «íΩÑ¬Γ¡δ⌐ Γ¿». ÉÑ-
- ºπ½∞Γ¿απεΘ¿⌐ «íΩÑ¬Γ ¡áºδóáÑΓß∩ φ¬ºÑ¼»½∩α«¼ «íΩÑ¬Γ¡«ú« Γ¿»á.
-
- var
- F: TField;
- Z: TZipField;
- FP: PField;
- ZP: PZipField;
-
- æ πτÑΓ«¼ φΓ¿σ «»¿ßá¡¿Ñ »ÑαѼѡ¡δσ F ∩ó½∩ÑΓß∩ φ¬ºÑ¼»½∩α«¼
- TField, á Z - φ¬ºÑ¼»½∩α«¼ TZipField. ǡὫú¿τ¡«, »«ß½Ñ »α¿¼Ñ¡Ñ¡¿∩
- New ¬ FP ¿ ZP, FP íπñÑΓ π¬áºδóáΓ∞ ¡á φ¬ºÑ¼»½∩α TField, á ZP - ¡á
- φ¬ºÑ¼»½∩α TZipField.
-
- àß½¿ «íΩÑ¬Γ¡δ⌐ Γ¿» ß«ñÑαª¿Γ ó¿αΓπá½∞¡δÑ ¼ÑΓ«ñδ, Γ« φ¬ºÑ¼»½∩-
- αδ φΓ«ú« «íΩÑ¬Γ¡«ú« Γ¿»á ñ«½ª¡δ ¿¡¿µ¿á½¿º¿α«óáΓ∞ß∩ »«ßαÑñßΓó«¼
- ó맮óá ¬«¡ßΓαπ¬Γ«αá »ÑαÑñ óδº«ó«¼ ½εí«ú« ó¿αΓπá½∞¡«ú« ¼ÑΓ«ñá. ì¿-
- ªÑ »α¿óÑñÑ¡ »α¿¼Ñα:
-
- var
- S: StrField;
- begin
- S.Init (1, 1, 25, 'ÅÑαó«Ñ ¿¼∩');
- S.Put ('öαÑ¡¬');
- S.Display;
- ...
- S.Done;
- end;
-
- àß½¿ S.Init ¡Ñ óδºδóá½ß∩, Γ« ó맮ó S.Display »α¿óÑñÑΓ ¬ ¡Ñπ-
- ñáτ¡«¼π ºáóÑαΦÑ¡¿ε ñá¡¡«ú« »α¿¼Ñαá.
-
- Åα¿ßóá¿óá¡¿Ñ φ¬ºÑ¼»½∩αá «íΩÑ¬Γ¡«ú« Γ¿»á ¡Ñ »«ñαáºπ¼ÑóáÑΓ
- ¿¡¿µ¿á½¿ºáµ¿¿ φ¬ºÑ¼»½∩αá.
-
- ÄíΩÑ¬Γ ¿¡¿µ¿á½¿º¿απÑΓß∩ ¬«ñ«¼, úÑ¡Ñα¿απÑ¼δ¼ ¬«¼»¿½∩Γ«α«¼,
- ¬«Γ«αδ⌐ óδ»«½¡∩ÑΓß∩ ¼Ñªñπ óδº«ó«¼ ¬«¡ßΓαπ¬Γ«αá, ¿ ¬«úñá óδ»«½¡Ñ-
- ¡¿Ñ Σá¬Γ¿τÑ߬¿ ñ«ßΓ¿úáÑΓ »Ñαó«ú« «»ÑαáΓ«αá ó í½«¬Ñ ¬«ñá ¬«¡ßΓαπ¬-
- Γ«αá.
-
- àß½¿ φ¬ºÑ¼»½∩α «íΩѬΓá ¡Ñ ¿¡¿µ¿á½¿º¿απÑΓß∩, ¿ »α«óÑα¬á ñ¿á-
- »áº«¡á ó¬½ετÑ¡á (ñ¿αÑ¬Γ¿ó«⌐ {$R+}), Γ« »Ñαóδ⌐ ó맮ó ó¿αΓπá½∞¡«ú«
- ¼ÑΓ«ñá φ¬ºÑ¼»½∩αá «íΩѬΓá ñáÑΓ «Φ¿í¬π φΓá»á óδ»«½¡Ñ¡¿∩. àß½¿ »α«-
- óÑα¬á ñ¿á»áº«¡á ó䬽ετÑ¡á (ñ¿αÑ¬Γ¿ó«⌐ {$R-}), Γ« »Ñαóδ⌐ ó¿αΓπá½∞-
- ¡«ú« ¼ÑΓ«ñá ¡Ñ¿¡¿µ¿á½¿º¿α«óá¡¡«ú« «íΩѬΓá ¼«ªÑΓ »α¿óÑßΓ¿ ¬ ¡Ñ»-
- αÑñ߬áºπѼ«¼π »«óÑñÑ¡¿ε.
-
- Åαá󿽫 «í∩ºáΓѽ∞¡«⌐ ¿¡¿µ¿á½¿ºáµ¿¿ »α¿¼Ñ¡¿¼« Γá¬ªÑ ¬ φ¬ºÑ¼»-
-
- B.Pascal 7 & Objects/LR - 58 -
-
- ½∩αá¼, ¬«Γ«αδÑ ∩ó½∩εΓß∩ ¬«¼»«¡Ñ¡ΓἿ ßΓαπ¬Γπα¡δσ Γ¿»«ó. ìá»α¿¼Ñα:
-
- var
- Comment: array [1..5] of TStrField;
- I: integer;
- begin
- for I := 1 to 5 do
- Comment [I].Init (1, I + 10, 40, '»Ñαó«Ñ_¿¼∩');
- .
- .
- .
- for I := 1 to 5 do Comment [I].Done;
- end;
-
- ä½∩ ñ¿¡á¼¿τÑ߬¿σ φ¬ºÑ¼»½∩α«ó ¿¡¿µ¿á½¿ºáµ¿∩, ¬á¬ »αá󿽫,
- ßó∩ºá¡á ß αẼÑΘÑ¡¿Ñ¼, á «τ¿ßΓ¬á - ß πñá½Ñ¡¿Ñ¼, τΓ« ñ«ßΓ¿úáÑΓß∩
- í½áú«ñáα∩ αáßΦ¿αÑ¡¡«¼π ß¿¡Γá¬ß¿ßπ ßΓá¡ñáαΓ¡δσ »α«µÑñπα New ¿
- Dispose. ìá»α¿¼Ñα:
-
- var
- SP: StrFieldPtr;
- begin
- New (SP, Init (1, 1, 25, '»Ñαó«Ñ_¿¼∩');
- SP^.Put ('öαÑ¡¬');
- SP^.Display;
- .
- .
- .
- Dispose (SP, Done);
- end;
-
- ô¬áºáΓѽ∞ ¡á «íΩÑ¬Γ¡δ⌐ Γ¿» ∩ó½∩ÑΓß∩ ß«ó¼ÑßΓ¿¼δ¼ »« »α¿ßóá¿-
- óá¡¿ε ß π¬áºáΓѽѼ ¡á ½εí«⌐ α«ñ¿Γѽ∞߬¿⌐ «íΩÑ¬Γ¡δ⌐ Γ¿», »«φΓ«¼π
- ó« óαѼ∩ óδ»«½¡Ñ¡¿∩ »α«úαá¼¼δ π¬áºáΓѽ∞ ¡á «íΩÑ¬Γ¡δ⌐ Γ¿» ¼«ªÑΓ
- π¬áºδóáΓ∞ ¡á φ¬ºÑ¼»½∩α φΓ«ú« Γ¿»á ¿½¿ ¡á φ¬ºÑ¼»½∩α ½εí«ú« ñ«τÑα-
- ¡Ñú« Γ¿»á.
-
- ìá»α¿¼Ñα, π¬áºáΓѽ∞ Γ¿»á ZipFieldPtr ¼«ªÑΓ »α¿ßóá¿óáΓ∞ß∩
- π¬áºáΓѽ∩¼ Γ¿»á PZipField, PNumField ¿ PField, á ó« óαѼ∩ óδ»«½-
- ¡Ñ¡¿∩ »α«úαá¼¼δ π¬áºáΓѽ∞ Γ¿»á PField ¼«ªÑΓ ½¿í« ¿¼ÑΓ∞ º¡áτÑ¡¿Ñ
- nil, ½¿í« π¬áºδóáΓ∞ ¡á φ¬ºÑ¼»½∩α TField, TNumField ¿½¿ TZipField,
- ¿½¿ ¡á ½εí«⌐ φ¬ºÑ¼»½∩α ñ«τÑα¡Ñú« »« «Γ¡«ΦÑ¡¿ε ¬ TField Γ¿»á.
-
- ¥Γ¿ »αáó¿½á ß«ó¼ÑßΓ¿¼«ßΓ¿ π¬áºáΓѽÑ⌐ »« »α¿ßóá¿óá¡¿ε »α¿¼Ñ-
- ¡¿¼δ Γá¬ªÑ ¬ »áαá¼ÑΓαá¼-»ÑαѼѡ¡δ¼ «íΩÑ¬Γ¡«ú« Γ¿»á. ìá»α¿¼Ñα, ¼Ñ-
- Γ«ñπ TField.Copy ¼«úπΓ íδΓ∞ »ÑαÑñá¡δ φ¬ºÑ¼»½∩αδ Γ¿»«ó TField,
- TStrField, TNumField, TZipField ¿½¿ ½εíδÑ ñαπú¿Ñ φ¬ºÑ¼»½∩αδ ñ«-
- τÑα¡Ñú« «Γ TField Γ¿»á.
-
-
-
- B.Pascal 7 & Objects/LR - 59 -
-
- Ç¬Γ¿ó¿ºáµ¿∩ ¼ÑΓ«ñ«ó
- ─────────────────────────────────────────────────────────────────
-
- îÑΓ«ñ á¬Γ¿ó¿º¿απÑΓß∩ »«ßαÑñßΓó«¼ «»ÑαáΓ«αá ó맮óá »α«µÑñπαδ
- ¿½¿ Σπ¡¬µ¿¿, ß«ßΓ«∩ΘÑú« ¿º ñÑß¿ú¡áΓ«αá ¼ÑΓ«ñá, ºá ¬«Γ«αδ¼ ß½ÑñπÑΓ
- ß»¿ß«¬ »áαá¼ÑΓα«ó. Æá¬«⌐ Γ¿» ó맮óá ¡áºδóáÑΓß∩ á¬Γ¿ó¿ºáµ¿Ñ⌐ ¼ÑΓ«-
- ñá.
-
- ñÑß¿ú¡áΓ«α ¼ÑΓ«ñá
- │ ┌────────────────────┐
- └─┬──────────────────────────────────────>│¿ñÑ¡Γ¿Σ¿¬áΓ«α ¼ÑΓ«ñá├>
- │ ^ └────────────────────┘
- │ ┌──────────────────────┐ ┌───┐ │
- └>│ ßßδ½¬á ¡á »ÑαѼѡ¡πε ├>│ . ├────┘
- └──────────────────────┘ └───┘
-
- æßδ½¬á ¡á »ÑαѼѡ¡πε ºáñáÑΓß∩, Ñß½¿ ñÑß¿ú¡áΓ«α ¼ÑΓ«ñá ñ«½ªÑ¡
- «»¿ßδóáΓ∞ φ¬ºÑ¼»½∩α «íΩÑ¬Γ¡«ú« Γ¿»á, á ¿ñÑ¡Γ¿Σ¿¬áΓ«α ¼ÑΓ«ñá ñ«½-
- ªÑ¡ «í«º¡áτáΓ∞ ¼ÑΓ«ñ φΓ«ú« «íΩÑ¬Γ¡«ú« Γ¿»á.
-
- ¥¬ºÑ¼»½∩α, «í«º¡áτÑ¡¡δ⌐ ñÑß¿ú¡áΓ«α«¼ ¼ÑΓ«ñá, ßΓá¡«ó¿Γß∩ ¡Ñ-
- ∩ó¡δ¼ Σá¬Γ¿τÑ߬¿¼ »áαá¼ÑΓα«¼ ¼ÑΓ«ñá; «¡ ß««ΓóÑΓßΓóπÑΓ Σ«α¼á½∞¡«¼π
- »áαá¼ÑΓαπ-»ÑαѼѡ¡«⌐ ß ¿¼Ñ¡Ñ¼ Self, ¬«Γ«αδ⌐ ó½áñÑÑΓ «íΩÑ¬Γ¡δ¼ Γ¿-
- »«¼, ß««ΓóÑΓßΓóπεΘ¿¼ á¬Γ¿ó¿º¿α«óá¡¡«¼π ¼ÑΓ«ñπ.
-
- ä½∩ ßΓáΓ¿τÑ߬¿σ ¼ÑΓ«ñ«ó «»¿ßá¡¡δ⌐ Γ¿» (¡á φΓá»Ñ ¬«¼»¿½∩µ¿¿)
- «»αÑñѽ∩ÑΓ, ¬á¬«⌐ ¿º ¼ÑΓ«ñ«ó á¬Γ¿ó¿º¿απÑΓß∩. ìá»α¿¼Ñα, ñÑß¿ú¡áΓ«-
- αδ F.Init ¿ FP^.Init óßÑúñá á¬Γ¿ó¿º¿απεΓ TField.Init, Γᬠ¬á¬
- «»¿ßá¡¡δ¼ Γ¿»«¼ F ¿ FP^ ∩ó½∩ÑΓß∩ TField.
-
- ä½∩ ó¿αΓπá½∞¡δσ ¼ÑΓ«ñ«ó óδí«α«¼ φ¬ºÑ¼»½∩αá π»αáó½∩ÑΓ Σá¬Γ¿-
- τÑ߬¿⌐ Γ¿» (φΓá»á óδ»«½¡Ñ¡¿∩). ìá»α¿¼Ñα, ñÑß¿ú¡áΓ«α FP^.Display
- ¼«ªÑΓ á¬Γ¿ó¿º¿α«óáΓ∞ ¼ÑΓ«ñδ TField.Display, TStrField.Display,
- TNumField.Display ¿½¿ TZipField.Display (ó ºáó¿ß¿¼«ßΓ¿ «Γ Σá¬Γ¿-
- τÑ߬«ú« Γ¿»á φ¬ºÑ¼»½∩αá, π¬áºδóáѼ«ú« FP).
-
- é «»ÑαáΓ«αÑ with, ßßδ½áεΘѼß∩ ¡á φ¬ºÑ¼»½∩α «íΩÑ¬Γ¡«ú« Γ¿»á,
- ßßδ½¬á ¡á »ÑαѼѡ¡πε ó ñÑß¿ú¡áΓ«αÑ ¼ÑΓ«ñá ¼«ªÑΓ «»π߬áΓ∞ß∩. é
- φΓ«¼ ß½πτáÑ φ¬ºÑ¼»½∩α«¼, ¡á ¬«Γ«αδ⌐ ßßδ½áÑΓß∩ «»ÑαáΓ«α with, ßΓá-
- ¡«ó¿Γß∩ ¡Ñ∩ó¡δ⌐ »áαá¼ÑΓα Self á¬Γ¿ó¿ºáµ¿¿ ¼ÑΓ«ñá. ǡὫú¿τ¡«,
- ßßδ½¬á ¡Ñ »ÑαѼѡ¡πε ¼«ªÑΓ «»π߬áΓ∞ß∩ ó ¼ÑΓ«ñÑ. é φΓ«¼ ß½πτáÑ
- »áαá¼ÑΓα«¼ Self ¼ÑΓ«ñá, ß«ñÑαªáΘÑú« ó맮ó, ßΓá¡«ó¿Γß∩ ¡Ñ∩ó¡δ⌐ »á-
- αá¼ÑΓα Self á¬Γ¿ó¿ºáµ¿¿ ¼ÑΓ«ñá.
-
-
-
- B.Pascal 7 & Objects/LR - 60 -
-
- Ç¬Γ¿ó¿ºáµ¿∩ πΓ«τ¡Ñ¡¡δσ ¼ÑΓ«ñ«ó
- ─────────────────────────────────────────────────────────────────
-
- é ¼ÑΓ«ñÑ, «»ÑαáΓ«αÑ ó맮óá Σπ¡¬µ¿¿ ¿½¿ »α«µÑñπαδ ñ½∩ «í«º¡á-
- τÑ¡¿∩ á¬Γ¿ó¿ºáµ¿¿ ¬«¡¬αÑΓ¡«ú« ¼ÑΓ«ñá ñ«»π߬áÑΓß∩ ¿ß»«½∞º«óá¡¿Ñ
- ñÑß¿ú¡áΓ«αá πΓ«τ¡Ñ¡¡«ú« ¼ÑΓ«ñá. Æá¬«⌐ Γ¿» ó맮óá ¡áºδóáÑΓß∩ á¬Γ¿-
- ó¿ºáµ¿Ñ⌐ πΓ«τ¡Ñ¡¡«ú« ¼ÑΓ«ñá.
-
- ñÑß¿ú¡áΓ«α πΓ«τ¡Ñ¡¡«ú« ¼ÑΓ«ñá
- │ ┌──────────────────────┐ ┌───┐ ┌────────────────────┐
- └─┬>│ ¿ñÑ¡Γ¿Σ¿¬áΓ«α ├>│ . ├───────>│¿ñÑ¡Γ¿Σ¿¬áΓ«α ¼ÑΓ«ñá├>
- │ │ «íΩÑ¬Γ¡«ú« Γ¿»á │ └───┘ ^ └────────────────────┘
- │ └──────────────────────┘ │
- │ ┌──────────────────────┐ │
- └>│ inherited ├──────────┘
- └──────────────────────┘
-
- ÄíΩÑ¬Γ¡δ⌐ Γ¿», ºáñá¡¡δ⌐ ó ñÑß¿ú¡áΓ«αÑ πΓ«τ¡Ñ¡¡«ú« ¼ÑΓ«ñá,
- ñ«½ªÑ¡ íδΓ∞ Γᬿ¼ ªÑ, ¬á¬ ¿ ó¬½ετáεΘ¿⌐ ¼ÑΓ«ñ «íΩÑ¬Γ¡δ⌐ Γ¿», ¿½¿
- ß««ΓóÑΓßΓó«óáΓ∞ α«ñ¿Γѽ∞߬«¼π Γ¿»π.
-
- ä½∩ «í«º¡áτÑ¡¿∩ α«ñ¿Γѽ∞߬«ú« «íΩÑ¬Γ¡«ú« Γ¿»á ¿½¿ «íΩÑ¬Γ¡«ú«
- Γ¿»á, ó¬½ετáεΘÑú« ¼ÑΓ«ñ, ¼«ª¡« ¿ß»«½∞º«óáΓ∞ ¬½ετÑó«Ñ ß½«ó«
- inherited; ó ¼ÑΓ«ñáσ «íΩÑ¬Γ¡«ú« Γ¿»á, ¡Ñ ¿¼ÑεΘÑú« »αÑñ¬á, ¬½ετÑ-
- ó«Ñ ß½«ó« inherited ¿ß»«½∞º«óáΓ∞ß∩ ¡Ñ ¼«ªÑΓ.
-
- ìÑ∩ó¡δ⌐ »áαá¼ÑΓα Self á¬Γ¿ó¿ºáµ¿¿ πΓ«τ¡Ñ¡¡«ú« ¼ÑΓ«ñá ßΓá¡«-
- ó¿Γß∩ »áαá¼ÑΓα«¼ Self ¼ÑΓ«ñá, ß«ñÑαªáΘÑú« ó맮ó. Ç¬Γ¿ó¿ºáµ¿∩
- πΓ«τ¡Ñ¡¡δσ ¼ÑΓ«ñ«ó ¡Ñ »αÑñπß¼áΓα¿óáÑΓ ¼Ñσá¡¿º¼á ñ¿ß»ÑΓτÑα¿ºáµ¿¿
- ó¿αΓπá½∞¡δσ ¼ÑΓ«ñ«ó - ó맮ó íπñÑΓ óßÑúñá ßΓáΓ¿τÑ߬¿¼ ¿ óßÑúñá óδ-
- ºδóáÑΓ ºáñá¡¡δ⌐ ¼ÑΓ«ñ.
-
- Ç¬Γ¿ó¿ºáµ¿∩ πΓ«τ¡Ñ¡¡«ú« ¼ÑΓ«ñá ¿ß»«½∞ºπÑΓß∩ «íδτ¡« ó »ÑαÑ«»-
- αÑñѽ∩εΘѼ ¼ÑΓ«ñÑ ñ½∩ á¬Γ¿ó¿ºáµ¿¿ »ÑαÑ«»αÑñѽ∩εΘÑú« ¼ÑΓ«ñá. æ
- πτÑΓ«¼ «»¿ßá¡¡δσ óδΦÑ Γ¿»«ó »α¿óÑñѼ ¡Ñ¬«Γ«αδÑ »α¿¼Ñαδ á¬Γ¿ó¿ºá-
- µ¿¿ πΓ«τ¡Ñ¡¡δσ ¼ÑΓ«ñ«ó:
-
- constructor TNumField.Init(Fx, FY, Flen: Integer;
- FName: String; FMin, FMax: Longint);
- begin
- inherited Init(FX, FY, FLen, FName);
- Value := 0;
- Min := FMin;
- Max := FMax;
- end;
-
- function TZipField.PutStr(S: String): Boolean;
- begin
- PutStr := (Length(S) = 5) and TNumField.PutStr(S);
- end;
-
- èᬠ»«¬áºδóáεΓ φΓ¿ »α¿¼Ñαδ, á¬Γ¿ó¿ºáµ¿∩ πΓ«τ¡Ñ¡¡δσ ¼ÑΓ«ñ«ó
- »«ºó«½∩ÑΓ »ÑαÑ«»αÑñѽ∩εΘѼπ ¼ÑΓ«ñπ "ó¡«ó∞ ¿ß»«½∞º«óáΓ∞" ¬«ñ ¼ÑΓ«-
-
- B.Pascal 7 & Objects/LR - 61 -
-
- ñá, ¬«Γ«αδ⌐ «¡ »ÑαÑ«»αÑñѽ∩ÑΓ.
-
-
- î¡«ªÑßΓóÑ¡¡δÑ Γ¿»δ
- ─────────────────────────────────────────────────────────────────
-
- ä¿á»áº«¡ º¡áτÑ¡¿⌐ ¼¡«ªÑßΓóÑ¡¡«ú« Γ¿»á »αÑñßΓáó½∩ÑΓ ß«í«⌐
- ¼«Θ¡«ßΓ∞ ¼¡«ªÑßΓóá ñ½∩ «»αÑñѽѡ¡«ú« »«α∩ñ¬«ó«ú« Γ¿»á (íẫó«ú«
- Γ¿»á). èáªñ«Ñ 󫺼«ª¡«Ñ º¡áτÑ¡¿Ñ ¼¡«ªÑßΓóÑ¡¡«ú« Γ¿»á ∩ó½∩ÑΓß∩
- »«ñ¼¡«ªÑßΓó«¼ ó«º¼«ª¡δσ º¡áτÑ¡¿⌐ íẫó«ú« Γ¿»á.
-
- ÅÑαѼѡ¡á∩ ¼¡«ªÑßΓóÑ¡¡«ú« Γ¿»á ¼«ªÑΓ »α¿¡¿¼áΓ∞ ¬á¬ óßÑ º¡á-
- τÑ¡¿∩ ¼¡«ªÑßΓóá, Γᬠ¿ ¡¿ «ñ¡«ú«.
-
- ┌─────┐ ┌────┐ ┌────────────────┐
- Γ¿» ¼¡«ªÑßΓó« ───>│ set ├───>│ of ├───>│ »«α∩ñ¬«óδ⌐ Γ¿» ├───>
- └─────┘ └────┘ └────────────────┘
-
- üẫóδ⌐ Γ¿» ¡Ñ ñ«½ªÑ¡ ¿¼ÑΓ∞ í«½ÑÑ 256 󫺼«ª¡δσ º¡áτÑ¡¿⌐, ¿
- »«α∩ñ¬«óδÑ º¡áτÑ¡¿∩ óÑασ¡Ñ⌐ ¿ ¡¿ª¡Ñ⌐ úαá¡¿µδ íẫó«ú« Γ¿»á ñ«½ª¡δ
- ¡Ñ »αÑóδΦáΓ∞ ñ¿á»áº«¡á «Γ 0 ñ« 255. é ß¿½π φΓ«ú« íẫóδ⌐ Γ¿» ¼¡«-
- ªÑßΓóá ¡Ñ ¼«ªÑΓ íδΓ∞ ¬«α«Γ¬¿¼ µÑ½δ¼ (Shortint), µÑ½δ¼ (Integer),
- ñ½¿¡¡δ¼ µÑ½δ¼ (Longint) ¿½¿ ß½«ó«¼ (Word).
-
- Åα¿¼Ñτá¡¿Ñ: Ä»Ñαᵿ¿ ¡áñ ¼¡«ªÑßΓóÑ¡¡δ¼¿ Γ¿»á¼¿ «»¿ßδóá-
- εΓß∩ ó αáºñÑ½Ñ "Ä»Ñαᵿ¿ ¡áñ ¼¡«ªÑßΓóἿ" ó â½áóÑ 6. é αáº-
- ñÑ½Ñ "Ä»¿ßáΓѽ¿ ¼¡«ªÑßΓó" »«¬áºá¡«, ¬á¬ «»αÑñѽ∩Γ∞ º¡áτÑ¡¿∩
- ¼¡«ªÑßΓóá.
-
- ïεí«⌐ ¼¡«ªÑßΓóÑ¡¡δ⌐ Γ¿» ¼«ªÑΓ »α¿¡¿¼áΓ∞ º¡áτÑ¡¿Ñ [], ¬«Γ«α«Ñ
- ¡áºδóáÑΓß∩ »πßΓδ¼ ¼¡«ªÑßΓó«¼.
-
-
- B.Pascal 7 & Objects/LR - 62 -
-
-
- öá⌐½«óδÑ Γ¿»δ
- ─────────────────────────────────────────────────────────────────
-
- öá⌐½«óδ⌐ Γ¿» ß«ßΓ«¿Γ ¿º ½¿¡Ñ⌐¡«⌐ »«ß½Ññ«óáΓѽ∞¡«ßΓ¿ ¬«¼»«-
- ¡Ñ¡Γ«ó, ¬«Γ«αδÑ ¼«úπΓ ¿¼ÑΓ∞ ½εí«⌐ Γ¿» ºá ¿ß¬½ετÑ¡¿Ñ¼ Σá⌐½«ó«ú«
- Γ¿»á ¿½¿ ßΓαπ¬Γπα¡«ú« Γ¿»á, ß«ñÑαªáΘÑú« ¬«¼»«¡Ñ¡Γ ß Σá⌐½«óδ¼ Γ¿-
- »«¼. ù¿ß½« ¬«¼»«¡Ñ¡Γ«ó «»¿ß᡿Ѽ Σá⌐½«ó«ú« Γ¿»á ¡Ñ πßΓá¡áó½¿óáÑΓ-
- ß∩.
-
- ┌──────┐ ┌────┐ ┌─────┐
- Σá⌐½«óδ⌐ Γ¿» ───>│ file ├──┬─>│ of ├───>│ Γ¿» ├─────>
- └──────┘ │ └────┘ └─────┘ ^
- └─────────────────────┘
-
- àß½¿ ß½«ó« of ¿ Γ¿» ¬«¼»«¡Ñ¡Γá «»πΘÑ¡δ, Γ« Γ¿» «í«º¡áτáÑΓ
- ¡ÑΓ¿»¿º¿α«óá¡¡δ⌐ Σá⌐½. ìÑΓ¿»¿º¿α«óá¡¡δÑ Σá⌐½δ »αÑñßΓáó½∩εΓ ß«í«⌐
- ¬á¡á½δ óó«ñá-óδó«ñá ¡¿ª¡Ñú« πα«ó¡∩, ó «ß¡«ó¡«¼ ¿ß»«½∞ºπѼδÑ ñ½∩
- »α∩¼«ú« ñ«ßΓπ»á ¬ ½εí«¼π Σá⌐½π ¡á ñ¿ß¬Ñ, ¡Ñºáó¿ß¿¼« «Γ Ñú« ó¡πΓ-
- αÑ¡¡Ñú« Σ«α¼áΓá.
-
- æΓá¡ñáαΓ¡δ⌐ Σá⌐½«óδ⌐ Γ¿» Text «»αÑñѽ∩ÑΓ Σá⌐½, ß«ñÑαªáΘ¿⌐
- ß¿¼ó«½δ, π»«α∩ñ«τÑ¡¡δÑ ó ßΓ᫬¿. ÆÑ¬ßΓ«óδÑ Σá⌐½δ ¿ß»«½∞ºπεΓ ß»Ñ-
- µ¿á½∞¡δÑ »α«µÑñπαδ óó«ñá-óδó«ñá, ¬«Γ«αδÑ «»¿ßδóáεΓß∩ ó â½áóÑ 14
- "éó«ñ ¿ óδó«ñ".
-
-
-
-
- B.Pascal 7 & Objects/LR - 63 -
-
- æß佫τ¡δÑ Γ¿»δ
- ─────────────────────────────────────────────────────────────────
-
- Cß佫τ¡δ⌐ Γ¿» (π¬áºáΓѽ∞) «»αÑñѽ∩ÑΓ ¼¡«ªÑßΓó« º¡áτÑ¡¿⌐, ¬«-
- Γ«αδÑ π¬áºδóáεΓ ¡á ñ¿¡á¼¿τÑ߬¿Ñ »ÑαѼѡ¡δÑ «»αÑñѽѡ¡«ú« Γ¿»á,
- ¡áºδóáѼ«ú« íẫóδ¼ Γ¿»«¼. ÅÑαѼѡ¡á∩ ßß佫τ¡«ú« Γ¿»á ß«ñÑনΓ
- áñαÑß ñ¿¡á¼¿τÑ߬«⌐ »ÑαѼѡ¡«⌐ ó »á¼∩Γ¿.
-
- ┌───┐ ┌─────────────┐
- ßß佫τ¡δ⌐ Γ¿» ──────>│ ^ ├───>│ íẫóδ⌐ Γ¿» ├──>
- └───┘ └─────────────┘
-
- ┌─────────────────────┐
- íẫóδ⌐ Γ¿» ────>│ ¿ñÑ¡Γ¿Σ¿¬áΓ«α Γ¿»á ├───>
- └─────────────────────┘
-
- àß½¿ íẫóδ⌐ Γ¿» ∩ó½∩ÑΓß∩ ÑΘÑ ¡Ñ «»¿ßá¡¡δ¼ ¿ñÑ¡Γ¿Σ¿¬áΓ«α«¼,
- Γ« «¡ ñ«½ªÑ¡ íδΓ∞ «»¿ßá¡ ó Γ«⌐ ªÑ ßἫ⌐ τáßΓ¿ «»¿ßá¡¿∩ Γ¿»«ó, τΓ«
- ¿ Γ¿» π¬áºáΓѽ∞.
-
- ÅÑαѼѡ¡«⌐-π¬áºáΓÑ½ε ¼«ª¡« »α¿ßó«¿Γ∞ º¡áτÑ¡¿Ñ ß »«¼«Θ∞ε »α«-
- µÑñπαδ New, «»Ñαᵿ¿ @ ¿½¿ Σπ¡¬µ¿¿ Ptr. Åα«µÑñπαá New «Γó«ñ¿Γ ¡«-
- óπε «í½áßΓ∞ »á¼∩Γ¿ ó ñ¿¡á¼¿τÑ߬¿ αáß»αÑñѽ∩Ѽ«⌐ «í½áßΓ¿ ñ½∩ ñ¿¡á-
- ¼¿τÑ߬¿σ »ÑαѼѡ¡δσ ¿ ß«σαá¡∩ÑΓ áñαÑß φΓ«⌐ «í½áßΓ¿ ó »ÑαѼѡ¡«⌐
- π¬áºáΓѽ∩. Ä»Ñαᵿ∩ @ «α¿Ñ¡Γ¿απÑΓ »ÑαѼѡ¡πε-π¬áºáΓѽ∞ ¡á «í½áßΓ∞
- »á¼∩Γ¿, ß«ñÑαªáΘπε ßπΘÑßΓóπεΘπε »ÑαѼѡ¡πε, ó¬½ετá∩ ¿ ΓÑ »ÑαѼѡ-
- ¡δÑ, ¬«Γ«αδÑ ¿¼ÑεΓ ¿ñÑ¡Γ¿Σ¿¬áΓ«αδ. öπ¡¬µ¿∩ Ptr «α¿Ñ¡Γ¿απÑΓ »ÑαÑ-
- ¼Ñ¡¡πε-π¬áºáΓѽ∞ ¡á «»αÑñѽѡ¡δ⌐ áñαÑß ó »á¼∩Γ¿.
-
- çáαѺÑαó¿α«óá¡¡«Ñ ß½«ó« nil «í«º¡áτáÑΓ ¬«¡ßΓá¡Γπ ß« º¡áτÑ¡¿-
- Ѽ π¬áºáΓѽ∩, ¬«Γ«αá∩ ¡¿ ¡á τΓ« ¡Ñ π¬áºδóáÑΓ.
-
-
-
-
- B.Pascal 7 & Objects/LR - 64 -
-
- Æ¿» Pointer
- ─────────────────────────────────────────────────────────────────
-
- éßΓα«Ñ¡¡δ⌐ Γ¿» Pointer «í«º¡áτáÑΓ ¡ÑΓ¿»¿º¿α«óá¡¡δ⌐ π¬áºá-
- Γѽ∞, Γ« ÑßΓ∞ π¬áºáΓѽ∞, ¬«Γ«αδ⌐ ¡Ñ π¬áºδóáÑΓ ¡¿ ¡á ¬á¬«⌐ «»αÑñÑ-
- ½Ñ¡¡δ⌐ Γ¿». ÅÑαѼѡ¡δÑ Γ¿»á Pointer ¼«úπΓ íδΓ∞ αáºδ¼Ñ¡«óá¡δ: π¬á-
- ºá¡¿Ñ ß¿¼ó«½á ^ »«ß½Ñ Γᬫ⌐ »ÑαѼѡ¡«⌐ óδºδóáÑΓ »«∩ó½Ñ¡¿Ñ «Φ¿í¬¿.
- èᬠ¿ º¡áτÑ¡¿Ñ, «í«º¡áτáѼ«Ñ ß½«ó«¼ nil, º¡áτÑ¡¿∩ Γ¿»á Pointer
- ß«ó¼ÑßΓ¿¼δ ß« óßѼ¿ ñαπú¿¼¿ Γ¿»á¼¿ π¬áºáΓѽÑ⌐.
-
- Åα¿¼Ñτá¡¿Ñ: é αáºñÑ½Ñ "ô¬áºáΓѽ¿ ¿ ñ¿¡á¼¿τÑ߬¿Ñ »ÑαÑ-
- ¼Ñ¡¡δÑ" ó â½áóÑ 5 óδ ¼«ªÑΓÑ ¡á⌐Γ¿ ß¿¡Γá¬ß¿ß ßß佬¿ ¡á ñ¿¡á-
- ¼¿τÑ߬¿Ñ »ÑαѼѡ¡δÑ, ¬«Γ«αδÑ π¬áºδóáεΓß∩ ß »«¼«Θ∞ε π¬áºáΓÑ-
- ½∩-»ÑαѼѡ¡«⌐.
-
-
- Æ¿» PChar
- ─────────────────────────────────────────────────────────────────
-
- ä½∩ »αÑñßΓáó½Ñ¡¿∩ π¬áºáΓѽ∩ ¡á ßΓ᫬π ß ºáóÑαΦáεΘ¿¼ ¡π½Ñ¼ ó
- Borland Pascal ¿¼ÑÑΓß∩ »αÑñ«»αÑñѽѡ¡δ⌐ Γ¿» PChar. é í½«¬Ñ System
- ñá¡¡δ⌐ Γ¿» «»¿ßδóáÑΓß∩ ß½ÑñπεΘ¿¼ «íαẫ¼:
-
- type PChar = ^Char;
-
- Borland Pascal »«ññÑনóáÑΓ ¡áí«α αáßΦ¿αÑ¡¡δσ »αáó¿½, »«ºó«-
- ½∩εΘ¿σ αáí«ΓáΓ∞ ß« ßΓα«¬á¼¿ ß ºáóÑαΦáεΘ¿¼ ¡π½Ñ¼, ¿ß»«½∞ºπ∩ Γ¿»
- PChar. Å«½¡«ßΓ∞ε φΓá ΓÑ¼á «íßπªñáÑΓß∩ ó â½áóÑ 18 "êß»«½∞º«óá¡¿Ñ
- ßΓ᫬ ß ºáóÑαΦáεΘ¿¼ ¡π½Ñ¼".
-
-
-
-
- B.Pascal 7 & Objects/LR - 65 -
-
- Åα«µÑñπα¡δÑ Γ¿»δ
- ─────────────────────────────────────────────────────────────────
-
- é ßΓá¡ñáαΓ¡«¼ Åá߬á½Ñ »α«µÑñπαδ ¿ Σπ¡¬µ¿¿ αáßß¼áΓα¿óáεΓß∩
- Γ«½∞¬« ¬á¬ τáßΓ¿ »α«úαá¼¼δ, ¬«Γ«αδÑ ¼«ª¡« óδ»«½¡∩Γ∞ ß »«¼«Θ∞ε óδ-
- º«óá »α«µÑñπαδ ¿½¿ Σπ¡¬µ¿¿. é Borland Pascal »α«µÑñπαδ ¿ Σπ¡¬µ¿¿
- Γαá¬ΓπεΓß∩ ú«αáºñ« Φ¿αÑ: ºñÑß∞ ñ«»π߬áÑΓß∩ ¿¡ΓÑα»αÑΓᵿ∩ »α«µÑñπα
- ¿ Σπ¡¬µ¿⌐, ¬á¬ «íΩÑ¬Γ«ó, ¬«Γ«αδÑ ¼«ª¡« »α¿ßóá¿óáΓ∞ »ÑαѼѡ¡δ¼ ¿
- »ÑαÑñáóáΓ∞ ó ¬áτÑßΓóÑ »áαá¼ÑΓα«ó. Æá¬¿Ñ ñÑ⌐ßΓó¿∩ ¼«ª¡« óδ»«½¡∩Γ∞
- ß »«¼«Θ∞ε »α«µÑñπα¡δσ Γ¿»«ó.
-
- é «»¿ßá¡¿¿ »α«µÑñπα¡«ú« Γ¿»á ºáñáεΓß∩ »áαá¼ÑΓαδ, á ñ½∩ Σπ¡¬-
- µ¿¿ - αѺπ½∞ΓáΓ Σπ¡¬µ¿¿.
-
- »α«µÑñπα¡δ⌐ Γ¿»
- │
- │ ┌─────────┐
- └┬>│procedure├─┬───────────────────────────────────────────────>
- │ └─────────┘ │ ┌────────────────────────────┐ ^ ^
- │ └─>│ß»¿ß«¬ Σ«α¼á½∞¡δσ »áαá¼ÑΓα«ó├─┘ │
- ┌┘ └────────────────────────────┘ └─┐
- │ ┌────────┐ ┌───┐ ┌─────────┐│
- └>│function├┬────────────────────────────────>│ : ├>│αѺπ½∞ΓáΓ├┘
- └────────┘│ ┌────────────────────────────┐^ └───┘ └─────────┘
- └>│ß»¿ß«¬ Σ«α¼á½∞¡δσ »áαá¼ÑΓα«ó├┘
- └────────────────────────────┘
-
- òáαá¬ΓÑα¡«, τΓ« ß¿¡Γá¬ß¿ß ºá»¿ß¿ »α«µÑñπα¡«ú« Γ¿»á ó Γ«τ¡«ß-
- Γ¿ ß«ó»áñáÑΓ ß ºá»¿ß∞ε ºáú«½«ó¬á »α«µÑñπαδ ¿½¿ Σπ¡¬µ¿¿, Γ«½∞¬«
- «»π߬áÑΓß∩ ¿ñÑ¡Γ¿Σ¿¬áΓ«α »«ß½Ñ ¬½ετÑó«ú« ß½«óá procedure ¿½¿
- function. Åα¿óÑñѼ ¡Ñ¬«Γ«αδÑ »α¿¼Ñαδ «»¿ßá¡¿⌐ »α«µÑñπα¡«ú« Γ¿»á:
-
- type
- Proc = procedure;
- SwapProc = procedure(var X, Y: Integer);
- StrProc = procedure(S: String);
- MathFunc = function(X: Real): Real;
- DeviceFunc = function(var F: text): Integer;
- MaxFunc = function(A, B: Real; F: MathFunc): Real;
-
- ê¼Ñ¡á »áαá¼ÑΓα«ó ó «»¿ßá¡¿¿ »α«µÑñπα¡«ú« Γ¿»á ¿úαáεΓ τ¿ßΓ«
- ñѬ«αáΓ¿ó¡πε α«½∞ - ¡á ß¼δß½ «»¿ßá¡¿Ñ «¡¿ ¡Ñ ó½¿∩εΓ.
-
- Borland Pascal ¡Ñ »«ºó«½∩ÑΓ «»¿ßδóáΓ∞ Σπ¡¬µ¿¿, ¬«Γ«αδÑ ó«ºó-
- αáΘáεΓ º¡áτÑ¡¿∩ »α«µÑñπα¡«ú« Γ¿»á. ÉѺπ½∞ΓáΓ Σπ¡¬µ¿¿ ñ«½ªÑ¡ íδΓ∞
- ßΓ᫬«ó«ú«, óÑΘÑßΓóÑ¡¡«ú«, µÑ½«ú«, ß¿¼ó«½∞¡«ú«, íπ½Ñó߬«ú« Γ¿»á,
- π¬áºáΓѽѼ ¿½¿ ¿¼ÑΓ∞ »ÑαÑτ¿ß½¿¼δ⌐ Γ¿», «»αÑñѽѡ¡δ⌐ »«½∞º«óáΓÑ-
- ½Ñ¼.
-
- Åα«µÑñπα¡δÑ º¡áτÑ¡¿∩
- ─────────────────────────────────────────────────────────────────
-
- ÅÑαѼѡ¡«⌐ »α«µÑñπα¡«ú« Γ¿»á ¼«ª¡« »α¿ßó«¿Γ∞ »α«µÑñπα¡«Ñ
-
- B.Pascal 7 & Objects/LR - 66 -
-
- º¡áτÑ¡¿Ñ. Åα«µÑñπα¡δÑ º¡áτÑ¡¿∩ ¼«úπΓ íδΓ∞ ß½ÑñπεΘ¿¼¿:
-
- * º¡áτÑ¡¿∩¼¿ nil;
- * ßß佬«⌐ ¡á »ÑαѼѡ¡πε »α«µÑñπα¡«ú« Γ¿»á;
- * ¿ñÑ¡Γ¿Σ¿¬áΓ«α«¼ »α«µÑñπαδ ¿½¿ Σπ¡¬µ¿¿.
-
- é ¬«¡ΓѬßΓÑ »α«µÑñπα¡δσ º¡áτÑ¡¿⌐ «»¿ßá¡¿Ñ »α«µÑñπαδ ¿½¿
- Σπ¡¬µ¿¿ ¼«ª¡« αáßß¼áΓα¿óáΓ∞ ¬á¬ ߻ѵ¿á½∞¡δ⌐ ó¿ñ «»¿ßá¡¿⌐ ¬«¡ß-
- Γá¡Γ, ¬«úñá º¡áτÑ¡¿Ñ¼ ¬«¡ßΓá¡Γδ ∩ó½∩ÑΓß∩ »α«µÑñπαá ¿½¿ Σπ¡¬µ¿∩.
- Éáßß¼«Γα¿¼, ¡á»α¿¼Ñα, ß½ÑñπεΘÑÑ «»¿ßá¡¿Ñ:
-
- var
- P: SwapProc;
- F: MathFunc;
-
- procedure Swap(var A, B: Integer); far;
- var
- Temp: Integer;
- begin
- Temp := A;
- A := B;
- B := Temp;
- end;
-
- function Tan(Angle: Real); far;
- begin
- Tan := Sin(Angle) / Cos(Angle);
- end;
-
- ÅÑαѼѡ¡δ¼ P ¿ F ¼«ª¡« »α¿ßó«¿Γ∞ º¡áτÑ¡¿∩ ß½ÑñπεΘ¿¼ «íαẫ¼:
-
- P := Swap;
- F := Tan;
-
- á ó맮óδ ß »«¼«Θ∞ε P ¿ F ¼«ª¡« óδ»«½¡¿Γ∞ Γá¬:
-
- P(I, J); { φ¬ó¿óá½Ñ¡Γ¡« Swap(I, J) }
- X := F(X); { φ¬ó¿óá½Ñ¡Γ¡« X := Tan(X) }
-
- êß»«½∞º«óá¡¿Ñ »α«µÑñπα¡δσ »ÑαѼѡ¡δσ, ¬«Γ«αδ¼ ó «»ÑαáΓ«αÑ
- ó맮óá »α«µÑñπαδ ¿½¿ Σπ¡¬µ¿¿ »α¿ßóá¿óáÑΓß∩ º¡áτÑ¡¿Ñ nil, »α¿ó«ñ¿Γ
- ¬ «Φ¿í¬Ñ. ç¡áτÑ¡¿Ñ nil »αÑñ¡áº¡áτÑ¡« ñ½∩ π¬áºá¡¿∩ Γ«ú«, τΓ« »α«-
- µÑñπα¡á∩ »ÑαѼѡ¡á∩ ¡Ñ »α¿ßó«Ñ¡á, ¿, ΓᬠúñÑ »α«µÑñπα¡á∩ »ÑαѼѡ-
- ¡á∩ ¼«ªÑΓ »«½πτ¿Γ∞ º¡áτÑ¡¿Ñ nil, πτáßΓóπεΘ¿Ñ ó φΓ«⌐ »α«µÑñπα¡«⌐
- »ÑαѼѡ¡«⌐ ó맮óδ »α«µÑñπα ¿ Σπ¡¬µ¿⌐ ß½ÑñπÑΓ »«ñóÑαúáΓ∞ »α«óÑα¬Ñ:
-
- if @P <> nil then P(I, J);
-
- ÄíαáΓ¿ΓÑ ó¡¿¼á¡¿Ñ ¡á ¿ß»«½∞º«óá¡¿Ñ «»Ñαᵿ¿ @ ñ½∩ π¬áºá¡¿∩
- Γ«ú«, τΓ« P »α«óÑα∩ÑΓß∩, á ¡Ñ óδºδóáÑΓß∩.
-
-
-
- B.Pascal 7 & Objects/LR - 67 -
-
- æ«ó¼ÑßΓ¿¼«ßΓ∞ Γ¿»«ó
- ─────────────────────────────────────────────────────────────────
-
- ùΓ«íδ «¡¿ ßτ¿Γ὿ß∞ ß«ó¼ÑßΓ¿¼δ¼¿, »α«µÑñπα¡δÑ Γ¿»δ ñ«½ª¡δ
- ¿¼ÑΓ∞ «ñ¡« ¿ Γ« ªÑ τ¿ß½« »áαá¼ÑΓα«ó, á »áαá¼ÑΓαδ ó ß««ΓóÑΓßΓóπε-
- Θ¿σ »«º¿µ¿∩σ ñ«½ª¡δ ¿¼ÑΓ∞ Γ«ªñÑßΓóÑ¡¡δÑ Γ¿»δ. Åα¿ «»αÑñѽѡ¿¿
- ß«ó¼ÑßΓ¿¼«ßΓ¿ »α«µÑñπα¡δσ Γ¿»«ó ¿¼Ñ¡á »áαá¼ÑΓα«ó º¡áτÑ¡¿∩ ¡Ñ ¿¼Ñ-
- εΓ. ç¡áτÑ¡¿Ñ nil ß«ó¼ÑßΓ¿¼« ß ½εíδ¼ »α«µÑñπα¡δ¼ Γ¿»«¼.
-
- ùΓ«íδ ¿ß»«½∞º«óáΓ∞ß∩ ó ¬áτÑßΓóÑ »α«µÑñπα¡δσ º¡áτÑ¡¿⌐, »α«µÑ-
- ñπαδ ¿ Σπ¡¬µ¿¿ ñ«½ª¡δ «»¿ßδóáΓ∞ß∩ ß ñ¿αÑ¬Γ¿ó«⌐ far ¿ ¬«¼»¿½¿α«-
- óáΓ∞ß∩ ó ß«ßΓ«∩¡¿¿ ß {$F+}. èα«¼Ñ Γ«ú«, ó ¬áτÑßΓóÑ »α«µÑñπα¡δσ
- º¡áτÑ¡¿⌐ ¡Ñ ¼«úπΓ π¬áºδóáΓ∞ß∩ ßΓá¡ñáαΓ¡δÑ »α«µÑñπαδ ¿ Σπ¡¬µ¿¿,
- 󽫪ѡ¡δÑ »α«µÑñπαδ ¿ Σπ¡¬µ¿¿, ¼ÑΓ«ñδ, »α«µÑñπαδ ¿ Σπ¡¬µ¿¿, «»¿-
- ßá¡¡δÑ ß ¬½ετÑóδ¼ ß½«ó«¼ inline ¿½¿ interrupt.
-
- æΓá¡ñáαΓ¡δÑ »α«µÑñπαδ ¿ Σπ¡¬µ¿¿ - φΓ« »«ñ»α«úαá¼¼δ, «»¿ßá¡-
- ¡δÑ ó ¼«ñπ½Ñ Unit, ¡á»α¿¼Ñα, WriteLn, ReadLn, Chr ¿½¿ Ord. ùΓ«íδ
- ¿ß»«½∞º«óáΓ∞ ó ¬áτÑßΓóÑ »α«µÑñπα¡«ú« º¡áτÑ¡¿∩ ßΓá¡ñáαΓ¡πε »α«µÑ-
- ñπαπ ¿ Σπ¡¬µ¿ε, ¡á»¿Φ¿ΓÑ ñ½∩ ¡ÑÑ "«í«½«τ¬π". ìá»α¿¼Ñα, ß½ÑñπεΘá∩
- Σπ¡¬µ¿∩ DSin ß«ó¼ÑßΓ¿¼á »« »α¿ßóá¿óá¡¿ε ß «»¿ßá¡¡δ¼ óδΦÑ Γ¿»«¼
- MathFunc:
-
- function FSin(X: Real): Real; far;
- begin
- FSin := Sin(X);
- end;
-
- Åα«µÑñπαá ¿½¿ Σπ¡¬µ¿∩ ∩ó½∩ÑΓß∩ 󽫪ѡ¡«⌐, ¬«úñá «¡á «»¿ßδóá-
- ÑΓß∩ ó¡πΓα¿ ñαπú«⌐ »α«µÑñπαδ ¿½¿ Σπ¡¬µ¿¿. Æá¬¿Ñ 󽫪ѡ¡δÑ »α«µÑ-
- ñπαδ ¿ Σπ¡¬µ¿¿ ¡Ñ ¼«úπΓ ¿ß»«½∞º«óáΓ∞ß∩ ó ¬áτÑßΓóÑ »α«µÑñπα¡δσ
- º¡áτÑ¡¿⌐.
-
- Æ«ªñÑßΓóÑ¡¡δÑ ¿ ß«ó¼ÑßΓ¿¼δÑ Γ¿»δ
- ─────────────────────────────────────────────────────────────────
-
- äóá Γ¿»á ¼«úπΓ íδΓ∞ Γ«ªñÑßΓóÑ¡¡δ¼¿, ¿ φΓá Γ«ªñÑßΓóÑ¡¡«ßΓ∞
- (¿ñÑ¡Γ¿τ¡«ßΓ∞) ∩ó½∩ÑΓß∩ «í∩ºáΓѽ∞¡«⌐ ó ¡Ñ¬«Γ«αδσ ¬«¡ΓѬßΓáσ. é
- ñαπú¿σ ß½πτá∩σ ñóá Γ¿»á ñ«½ª¡δ íδΓ∞ Γ«½∞¬« ß«ó¼ÑßΓ¿¼δ ¿½¿ ß«ó¼Ñß-
- Γ¿¼δ »« »α¿ßóá¿óá¡¿ε. äóá Γ¿»á ∩ó½∩εΓß∩ Γ«ªñÑßΓóÑ¡¡δ¼¿, Ñß½¿ «¡¿
- «»¿ßá¡δ ß «ñ¡¿¼ ¿ñÑ¡Γ¿Σ¿¬áΓ«α«¼ Γ¿»á, ¿½¿ Ñß½¿ ¿σ «»αÑñѽѡ¿∩ ¿ß-
- »«½∞ºπεΓ «ñ¿¡ ¿ ëà ªÑ ¿ñÑ¡Γ¿Σ¿¬áΓ«α Γ¿»á.
-
-
- Æ«ªñÑßΓóÑ¡¡«ßΓ∞ Γ¿»«ó
- ─────────────────────────────────────────────────────────────────
-
- Æ«ªñÑßΓóÑ¡¡«ßΓ∞ Γ¿»«ó ΓαÑíπÑΓß∩ Γ«½∞¬« ñ½∩ »ÑαѼѡ¡δσ Σá¬Γ¿-
- τÑ߬¿σ ¿ Σ«α¼á½∞¡δσ »áαá¼ÑΓα«ó »α¿ ó맮óÑ »α«µÑñπα ¿ Σπ¡¬µ¿⌐.
-
- äóá Γ¿»á, ߬áªÑ¼ T1 ¿ T2, ∩ó½∩εΓß∩ Γ«ªñÑßΓóÑ¡¡δ¼¿, Ñß½¿ ∩ó-
- ½∩ÑΓß∩ ¿ßΓ¿¡¡δ¼ «ñ¡« ¿º ß½ÑñπεΘ¿σ πΓóÑαªñÑ¡¿⌐: T1 ¿ T2 »αÑñßΓáó-
- ½∩ε ß«í«⌐ «ñ¿¡ ¿ ëà ªÑ ¿ñÑ¡Γ¿Σ¿¬áΓ«α Γ¿»á; T1 «»¿ßá¡ ¬á¬ φ¬ó¿óá-
-
- B.Pascal 7 & Objects/LR - 68 -
-
- ½Ñ¡Γ¡δ⌐ Γ¿»π, Γ«ªñÑßΓóÑ¡¡«¼π T2.
-
- éΓ«α«Ñ πß½«ó¿Ñ «º¡áτáÑΓ, τΓ« T1 ¡Ñ «í∩ºáΓѽ∞¡« ñ«½ªÑ¡ íδΓ∞
- «»¿ßá¡ ¬á¬ ¡Ñ»«ßαÑñßΓóÑ¡¡« φ¬ó¿óá½Ñ¡Γ¡δ⌐ T2. æ½ÑñπεΘ¿Ñ «»¿ßá¡¿∩
- Γ¿»«ó:
-
- T1 = integer;
- T2 = T1;
- T3 = integer;
- T4 = T2;
-
- «º¡áτáεΓ, τΓ« T1, T2, T3, T4 ¿ integer ∩ó½∩εΓß∩ Γ«ªñÑßΓóÑ¡¡δ¼¿
- Γ¿»á¼¿. æ½ÑñπεΘ¿Ñ «»¿ßá¡¿∩ Γ¿»«ó:
-
- T5 = set of integer;
- T6 = set of integer;
-
- ¡Ñ «»αÑñѽ∩εΓ T5 ¿ T6 ¬á¬ Γ«ªñÑßΓóÑ¡¡δÑ, »«ß¬«½∞¬π set of integer
- ¡Ñ ∩ó½∩ÑΓß∩ ¿ñÑ¡Γ¿Σ¿¬áΓ«α«¼ Γ¿»á. äóÑ »ÑαѼѡ¡δÑ, «»¿ßá¡¡δÑ ó «ñ-
- ¡«¼ ¿ Γ«¼ ªÑ «»¿ßá¡¿¿, ¡á»α¿¼Ñα:
-
- V1, V2: set of integer;
-
- ¿¼ÑεΓ Γ«ªñÑßΓóÑ¡¡δÑ Γ¿»δ, »«ß¬«½∞¬π ¿σ «»¿ßá¡¿∩ ¡Ñ αáºñѽ∞¡δ.
- Ä»¿ßá¡¿∩:
-
- V1: set of integer;
- V2: set of integer;
- V3: integer;
- V4: integer;
-
- «º¡áτáεΓ, τΓ« V3 ¿ V4 ¿¼ÑεΓ Γ«ªñÑßΓóÑ¡¡δ⌐ Γ¿», á V1 ¿ V2 - ¡ÑΓ.
-
-
- æ«ó¼ÑßΓ¿¼«ßΓ∞ Γ¿»«ó
- ─────────────────────────────────────────────────────────────────
-
- ê¡«úñá, ¡á»α¿¼Ñα, ó óδαáªÑ¡¿∩σ ¿ «»Ñαᵿ∩σ ßαáó¡Ñ¡¿∩, ΓαÑíπ-
- ÑΓß∩ ß«ó¼ÑßΓ¿¼«ßΓ∞ Γ¿»«ó. æ«ó¼ÑßΓ¿¼«ßΓ∞ Γ¿»«ó, ¬α«¼Ñ Γ«ú«, ∩ó½∩-
- ÑΓß∩ ó᪡«⌐ »αÑñ»«ß佬«⌐ ñ½∩ ß«ó¼ÑßΓ¿¼«ßΓ¿ »« »α¿ßóá¿óá¡¿ε.
-
- æ«ó¼ÑßΓ¿¼«ßΓ∞ Γ¿»«ó ¿¼ÑÑΓ ¼ÑßΓ«, Ñß½¿ óδ»«½¡∩ÑΓß∩ »« ¬αá⌐¡Ñ⌐
- ¼ÑαÑ «ñ¡« ¿º ß½ÑñπεΘ¿σ πß½«ó¿⌐:
-
- * Äíá Γ¿»á ∩ó½∩εΓß∩ «ñ¿¡á¬«ó묨.
-
- * Äíá Γ¿»á ∩ó½∩εΓß∩ óÑΘÑßΓóÑ¡¡δ¼¿ Γ¿»á¼¿.
-
- * Äíá Γ¿»á ∩ó½∩εΓß∩ µÑ½«τ¿ß½Ñ¡¡δ¼¿.
-
- * Äñ¿¡ Γ¿» ∩ó½∩ÑΓß∩ »«ññ¿á»áº«¡«¼ ñαπú«ú«.
-
- * Äíá Γ¿»á ∩ó½∩εΓß∩ «ΓαѺ¬á¼¿ «ñ¡«ú« ¿ Γ«ú« ªÑ «ß¡«ó¡«ú« Γ¿-
-
- B.Pascal 7 & Objects/LR - 69 -
-
- ȇ.
-
- * Äíá Γ¿»á ∩ó½∩εΓß∩ ¼¡«ªÑßΓóÑ¡¡δ¼¿ Γ¿»á¼¿ ß ß«ó¼ÑßΓ¿¼δ¼¿ íá-
- º«ó묨 Γ¿»á¼¿.
-
- * Äñ¿¡ Γ¿» ∩ó½∩ÑΓß∩ ßΓ᫬«óδ¼ Γ¿»«¼, á ñαπú«⌐ - ßΓ᫬«óδ¼
- Γ¿»«¼, π»á¬«óá¡¡δ¼ ßΓ᫬«óδ¼ Γ¿»«¼ ¿½¿ Γ¿»«¼ PChar;
-
- * Äñ¿¡ Γ¿» - φΓ« Γ¿» Pointer, á ñαπú«⌐ - ½εí«⌐ ßß佫τ¡δ⌐
- Γ¿».
-
- * Äñ¿¡ Γ¿» ∩ó½∩ÑΓß∩ Γ¿»«¼ PChar, á ñαπú«⌐ - ß¿¼ó«½∞¡δ¼ ¼áß-
- ß¿ó«¼ ß ¡π½Ñó«⌐ íẫ⌐ ó¿ñá array[0..X] of Char (φΓ« ñÑ⌐ß-
- ΓóπÑΓ Γ«½∞¬« »α¿ αáºαÑΦÑ¡¿¿ ñ¿αÑ¬Γ¿ó«⌐ {$X+} αáßΦ¿αÑ¡¡«ú«
- ß¿¡Γá¬ß¿ßá).
-
- * Äíá Γ¿»á ∩ó½∩εΓß∩ π¬áºáΓѽ∩¼¿ ¿ñÑ¡Γ¿τ¡δσ Γ¿»«ó (φΓ« ñÑ⌐ß-
- ΓóπÑΓ Γ«½∞¬« »α¿ αáºαÑΦÑ¡¿¿ π¬áºáΓѽ∩ ß »α«óÑᬫ⌐ Γ¿»á ñ¿-
- αÑ¬Γ¿ó«⌐ {$X+}).
-
- * Äíá Γ¿»á ∩ó½∩εΓß∩ »α«µÑñπα¡δ¼¿ ß ¿ñÑ¡Γ¿τ¡δ¼¿ Γ¿»á¼¿ αÑ-
- ºπ½∞ΓáΓ«ó, «ñ¿¡á¬«óδ¼ τ¿ß½«¼ »áαá¼ÑΓα«ó ¿ ß««ΓóÑΓßΓó¿Ñ¼
- ¼Ñªñπ »áαá¼ÑΓαἿ.
-
-
- æ«ó¼ÑßΓ¿¼«ßΓ∞ »« »α¿ßóá¿óá¡¿ε
- ─────────────────────────────────────────────────────────────────
-
- æ«ó¼ÑßΓ¿¼«ßΓ∞ »« »α¿ßóá¿óá¡¿ε ¡Ñ«íσ«ñ¿¼á, Ñß½¿ ¿¼ÑÑΓ ¼ÑßΓ«
- »α¿ßóá¿óá¡¿Ñ º¡áτÑ¡¿∩, ¡á»α¿¼Ñα, ó «»ÑαáΓ«αÑ »α¿ßóá¿óá¡¿∩ ¿½¿ »α¿
- »ÑαÑñáτÑ º¡áτÑ¡¿⌐ »áαá¼ÑΓα«ó.
-
- ç¡áτÑ¡¿Ñ Γ¿»á T1 ∩ó½∩ÑΓß∩ ß«ó¼ÑßΓ¿¼δ¼ »« »α¿ßóá¿óá¡¿ε ß Γ¿-
- »«¼ T2 (Γ« ÑßΓ∞ ñ«»πßΓ¿¼ «»ÑαáΓ«α T1:=T2), Ñß½¿ óδ»«½¡∩ÑΓß∩ «ñ¡«
- ¿º ß½ÑñπεΘ¿σ πß½«ó¿⌐:
-
- * T1 ¿ T2 ¿¼ÑεΓ Γ«ªñÑßΓóÑ¡¡δÑ Γ¿»δ, ¿ ¡¿ «ñ¿¡ ¿º ¡¿σ ¡Ñ ∩ó-
- ½∩ÑΓß∩ Σá⌐½«óδ¼ Γ¿»«¼ ¿½¿ ßΓαπ¬Γπα¡δ¼ Γ¿»«¼, ß«ñÑαªáΘ¿¼
- ¬«¼»«¡Ñ¡Γ ß Σá⌐½«óδ¼ Γ¿»«¼ ¡á «ñ¡«¼ ¿º ßó«¿σ πα«ó¡Ñ⌐.
-
- * T1 ¿ T2 ∩ó½∩εΓß∩ ß«ó¼ÑßΓ¿¼δ¼¿ »«α∩ñ¬«ó묨 Γ¿»á¼¿, ¿ º¡áτÑ-
- ¡¿∩ Γ¿»á T2 »«»áñáεΓ ó ñ¿á»áº«¡ 󫺼«ª¡δσ º¡áτÑ¡¿⌐ T1.
-
- * T1 ¿ T2 ∩ó½∩εΓß∩ óÑΘÑßΓóÑ¡¡δ¼¿ Γ¿»á¼¿, ¿ º¡áτÑ¡¿∩ Γ¿»á T2
- »«»áñáεΓ ó ñ¿á»áº«¡ 󫺼«ª¡δσ º¡áτÑ¡¿⌐ T1.
-
- * T1 ∩ó½∩ÑΓß∩ óÑΘÑßΓóÑ¡¡δ¼ Γ¿»«¼, á T2 ∩ó½∩ÑΓß∩ µÑ½«τ¿ß½Ñ¡-
- ¡δ¼ Γ¿»«¼.
-
- * T1 ¿ T2 ∩ó½∩εΓß∩ ßΓ᫬«ó묨 Γ¿»á¼¿.
-
- * T1 ∩ó½∩ÑΓß∩ ßΓ᫬«óδ¼ Γ¿»«¼, á T2 ∩ó½∩ÑΓß∩ ß¿¼ó«½∞¡δ¼ Γ¿-
- »«¼ (Char).
-
- B.Pascal 7 & Objects/LR - 70 -
-
-
- * T1 ∩ó½∩ÑΓß∩ ßΓ᫬«óδ¼ Γ¿»«¼, á T2 ∩ó½∩ÑΓß∩ π»á¬«óá¡¡δ¼
- ßΓ᫬«óδ¼ Γ¿»«¼.
-
- * T1 ¿ T2 ∩ó½∩εΓß∩ ß«ó¼ÑßΓ¿¼δ¼¿ π»á¬«óá¡¡δ¼¿ ßΓ᫬«ó묨 Γ¿-
- »á¼¿.
-
- * T1 ¿ T2 ∩ó½∩εΓß∩ ß«ó¼ÑßΓ¿¼δ¼¿ ¼¡«ªÑßΓóÑ¡¡δ¼¿ Γ¿»á¼¿, ¿ óßÑ
- τ½Ñ¡δ º¡áτÑ¡¿∩ Γ¿»á T2 »«»áñáεΓ ó ñ¿á»áº«¡ 󫺼«ª¡δσ º¡á-
- τÑ¡¿⌐ T1.
-
- * T1 ¿ T2 ∩ó½∩εΓß∩ ß«ó¼ÑßΓ¿¼δ¼¿ Γ¿»á¼¿ π¬áºáΓѽÑ⌐.
-
- * T1 - φΓ« Γ¿» PChar, á T2 - φΓ« ßΓ᫬«óá∩ ¬«¡ßΓá¡Γá (φΓ«
- ñÑ⌐ßΓóπÑΓ Γ«½∞¬« »α¿ αáºαÑΦÑ¡¿¿ ñ¿αÑ¬Γ¿ó«⌐ {$X+} αáßΦ¿αÑ¡-
- ¡«ú« ß¿¡Γá¬ß¿ßá).
-
- * T1 ∩ó½∩ÑΓß∩ Γ¿»«¼ PChar, á T2 - ß¿¼ó«½∞¡δ¼ ¼áßß¿ó«¼ ß ¡π-
- ½Ñó«⌐ íẫ⌐ ó¿ñá array[0..X] of Char (φΓ« ñÑ⌐ßΓóπÑΓ Γ«½∞¬«
- »α¿ αáºαÑΦÑ¡¿¿ ñ¿αÑ¬Γ¿ó«⌐ {$X+} αáßΦ¿αÑ¡¡«ú« ß¿¡Γá¬ß¿ßá).
-
- * T1 ¿ T2 ∩ó½∩εΓß∩ ß«ó¼ÑßΓ¿¼δ¼¿ »α«µÑñπα¡δ¼¿ Γ¿»á¼¿.
-
- * T1 »αÑñßΓáó½∩ÑΓ ß«í«⌐ »α«µÑñπα¡δ⌐ Γ¿», á T2 - »α«µÑñπαá
- ¿½¿ Σπ¡¬µ¿∩ ß ¿ñÑ¡Γ¿τ¡δ¼ Γ¿»«¼ αѺπ½∞ΓáΓá, ¿ñÑ¡Γ¿τ¡δ¼ τ¿ß-
- ½«¼ »áαá¼ÑΓα«ó ¿ ß««ΓóÑΓßΓó¿Ñ¼ ¼Ñªñπ Γ¿»á¼¿ »áαá¼ÑΓα«ó.
-
- * ÄíΩÑ¬Γ¡δ⌐ Γ¿» T2 ß«ó¼ÑßΓ¿¼ »« »α¿ßóá¿óá¡¿ε ß «íΩÑ¬Γ¡δ¼ Γ¿-
- »«¼ T1, Ñß½¿ T2 ∩ó½∩ÑΓß∩ ñ«¼Ñ¡«¼ T1.
-
- * Æ¿» π¬áºáΓѽ∩ É2, π¬áºδóáεΘ¿⌐ ¡á «íΩÑ¬Γ Γ¿»á Æ3, ß«ó¼ÑßΓ¿¼
- »« »α¿ßóá¿óá¡¿ε ß Γ¿»«¼ π¬áºáΓѽ∩ P1, π¬áºδóáεΘ¿¼ ¡á «íΩ-
- Ñ¬Γ T1, Ñß½¿ T2 ∩ó½∩ÑΓß∩ ñ«¼Ñ¡«¼ T1.
-
- ìá φΓá»Ñ ¬«¼»¿½∩µ¿¿ ¿ óδ»«½¡Ñ¡¿∩ óδñáÑΓß∩ ß««íΘÑ¡¿Ñ «í «Φ¿í-
- ¬Ñ, Ñß½¿ ß«ó¼ÑßΓ¿¼«ßΓ∞ »« »α¿ßóá¿óá¡¿ε ¡Ñ«íσ«ñ¿¼á, á ¡¿ «ñ¡« ¿º
- πß½«ó¿⌐ »αÑñδñπΘÑú« ß»¿ß¬á ¡Ñ óδ»«½¡Ñ¡«.
-
-
- Éáºñѽ «»¿ßá¡¿∩ Γ¿»«ó
- ─────────────────────────────────────────────────────────────────
-
- Åα«úαá¼¼δ, »α«µÑñπαδ ¿ Σπ¡¬µ¿¿ ¿¼ÑεΓ ñ½∩ «»¿ßá¡¿∩ Γ¿»«ó ß»Ñ-
- µ¿á½∞¡δ⌐ αáºñѽ «»¿ßá¡¿∩ Γ¿»«ó. ìá»α¿¼Ñα:
-
- type
- TRange = integer;
- TNumber = integer;
- TColor = (red,green,blue);
- TTextIndex = 1..100;
- TTestValue = -99..99;
- TTestList = array[TestIndex] of TestValue;
- PestList = ^TTestList;
-
- B.Pascal 7 & Objects/LR - 71 -
-
- TDate = object
- year: integer;
- month: 1..12;
- day: 1.. 31;
- procedure SetDate(D, M, Y: Integer);
- function ShowDate: String;
- end;
-
- MeasureData = record
- when: Date;
- count: TTestIndex;
- data: TestListPtr;
- end;
- TMeasureList = array[1..50] of MeasureData;
- TName = string[80];
- TSex = (male,female);
- TPersonDate = ^TPersonData;
- TPersonData = record
- name,firstName: TName;
- age: integer;
- married: boolean;
- father,child,sibling: Person;
- case s: Sex of
- male: (bearded: boolean);
- female: (pregnant: boolean);
- end;
- TPersonDate = array[0..SizeOf(TPersonDate)-1] of Byte;
- TPeople = file of TPersonData;
-
- é φΓ«¼ »α¿¼ÑαÑ Range, Number ¿ Integer ∩ó½∩εΓß∩ Γ«ªñÑßΓóÑ¡-
- ¡δ¼¿ Γ¿»á¼¿. TTestIndex ∩ó½∩ÑΓß∩ »α«ßΓ« ß«ó¼ÑßΓ¿¼δ¼ ¿ ß«ó¼ÑßΓ¿¼δ¼
- »« »α¿ßóá¿óá¡¿ε, ¡« ¡Ñ Γ«ªñÑßΓóÑ¡¡δ¼, ß Γ¿»á¼¿ Number, Range ¿
- Integer. ÄíαáΓ¿ΓÑ ó¡¿¼á¡¿Ñ ¡á ¿ß»«½∞º«óá¡¿Ñ ó «»¿ßá¡¿∩σ TCharVal
- ¿ TPersonBuf óδαáªÑ¡¿⌐-¬«¡ßΓá¡Γ.
-
-
-
- B.Pascal 7 & Objects/LR - 72 -
-
- ───────────────────────────────────────────────────────────────────────
- â½áóá 5. ÅÑαѼѡ¡δÑ ¿ Γ¿»¿º¿α«óá¡¡δÑ ¬«¡ßΓá¡Γδ
- ─────────────────────────────────────────────────────────────────
-
- Ä»¿ßá¡¿∩ »ÑαѼѡ¡δσ
- ─────────────────────────────────────────────────────────────────
-
- Ä»¿ßá¡¿Ñ »ÑαѼѡ¡«⌐ »αÑñßΓáó½∩ÑΓ ß«í«⌐ ß»¿ß«¬ ¿ñÑ¡Γ¿Σ¿¬áΓ«-
- α«ó, ¬«Γ«αδÑ «í«º¡áτáεΓ ¡«óδÑ »ÑαѼѡ¡δÑ ¿ ¿σ Γ¿»δ.
-
- «»¿ßá¡¿Ñ ┌────────────┐ ┌───┐ ┌───┐ ┌───┐
- »ÑαѼѡ¡«⌐ ─>│ß»¿ß«¬ ¿ñÑ¡-├─>│ : ├─>│Γ¿»├─┬───────────┬─>│ ; ├>
- │Γ¿Σ¿¬áΓ«α«ó │ └───┘ └───┘ │ │ └───┘
- └────────────┘ │ ┌────────┐│
- └>│absolute├┘
- └────────┘
-
- Æ¿», ºáñáóáѼδ⌐ ñ½∩ »ÑαѼѡ¡δσ, ¼«ªÑΓ íδΓ∞ ¿ñÑ¡Γ¿Σ¿¬áΓ«α«¼
- Γ¿»á, ¬«Γ«αδ⌐ íδ½ αá¡ÑÑ «»¿ßá¡ ó αáºñÑ½Ñ «»¿ßá¡¿∩ Γ¿»«ó Γ«ú« ªÑ
- ßἫú« í½«¬á, ¿½¿ í½«¬á, ó ¬«Γ«αδ⌐ óσ«ñ¿Γ ñá¡¡δ⌐ í½«¬, ¿½¿ ¼«ñπ-
- ½∩, ¿½¿ ªÑ φΓ«Γ Γ¿» ¼«ªÑΓ íδΓ∞ ¡«óδ¼ «»αÑñѽѡ¿Ñ¼ Γ¿»á.
-
- Åα¿ π¬áºá¡¿¿ ¿ñÑ¡Γ¿Σ¿¬áΓ«αá ó ß»¿ß¬Ñ ¿ñÑ¡Γ¿Σ¿¬áΓ«α«ó «»¿ßá-
- ¡¿∩ »ÑαѼѡ¡«⌐ φëà ¿ñÑ¡Γ¿Σ¿¬áΓ«α ¿¼ÑÑΓ ß¿½π ¿ñÑ¡Γ¿Σ¿¬áΓ«αá »ÑαÑ-
- ¼Ñ¡¡«⌐ ó Γ«¼ í½«¬Ñ, úñÑ φΓ« «»¿ßá¡¿Ñ í佫 π¬áºá¡«. è φΓ«⌐ »ÑαÑ-
- ¼Ñ¡¡«⌐ ¼«ª¡« «íαáΘáΓ∞ß∩ ¿º ½εí«ú« ¼ÑßΓá φΓ«ú« í½«¬á, Ñß½¿ ÑÑ
- ¿ñÑ¡Γ¿Σ¿¬áΓ«α ¡Ñ »ÑαÑ«»αÑñѽѡ ó í½«¬Ñ, óσ«ñ∩ΘѼ ó »Ñαóδ⌐. ÅÑαÑ-
- «»αÑñѽѡ¿Ñ «º¡áτáÑΓ, τΓ« ñ½∩ ¡«ó«⌐ »ÑαѼѡ¡«⌐ ¿ß»«½∞ºπÑΓß∩ Γ«Γ
- ªÑ ßá¼δ⌐ ¿ñÑ¡Γ¿Σ¿¬áΓ«α, ¡« φΓ« ¿ß»«½∞º«óá¡¿Ñ ¡Ñ «¬áºδóáÑΓ ó½¿∩¡¿∩
- ¡á º¡áτÑ¡¿Ñ »Ñαó«¡áτá½∞¡«⌐ »ÑαѼѡ¡«⌐.
-
- Åα¿óÑñѼ »α¿¼Ñα αáºñÑ½á «»¿ßá¡¿∩ »ÑαѼѡ¡«⌐:
-
- var
- X,Y,Z: real;
- I,J,K: integer;
- Digit: 0..9;
- C: Color;
- Done,Error: boolean;
- Operator: (plus, minus, times);
- Hue1,Hue2: set of Color;
- Today: Date;
- Results: MeasureList;
- P1,P2: Person;
- Matrix: array[1..10,1..10] of Real;
-
- ÅÑαѼѡ¡δÑ, «»¿ßá¡¡δÑ ó¡Ñ »α«µÑñπαδ ¿ Σπ¡¬µ¿¿, ¡áºδóáεΓß∩
- ú½«íá½∞¡δ¼¿ »ÑαѼѡ¡δ¼¿ ¿ αáß»«½áúáεΓß∩ ó ßÑú¼Ñ¡ΓÑ ñá¡¡δσ. ÅÑαÑ-
- ¼Ñ¡¡δÑ, «»¿ßá¡¡δÑ ó ßἫ⌐ »α«µÑñπαÑ ¿½¿ Σπ¡¬µ¿¿, ¡áºδóáεΓß∩ ½«-
- ¬á½∞¡δ¼¿ »ÑαѼѡ¡δ¼¿ ¿ αáß»«½áúáεΓß∩ ó ßÑú¼Ñ¡ΓÑ ßΓѬá.
-
-
-
- B.Pascal 7 & Objects/LR - 73 -
-
- æÑú¼Ñ¡Γ ñá¡¡δσ
- ─────────────────────────────────────────────────────────────────
-
- îá¬ß¿¼á½∞¡δ⌐ αẼÑα ßÑú¼Ñ¡Γá ñá¡¡δσ αáóÑ¡ 65520 íá⌐Γ. Åα¿
- ¬«¼»«¡«ó¬Ñ »α«úαá¼¼δ (τΓ« áóΓ«¼áΓ¿τÑ߬¿ «ßπΘÑßΓó½∩ÑΓß∩ ó ¬«¡µÑ
- ¬«¼»¿½∩µ¿¿ »α«úαá¼¼δ) ú½«íá½∞¡δÑ »ÑαѼѡ¡δÑ óßÑσ ¼«ñπ½Ñ⌐, ¿ß»«½∞-
- ºπѼδσ »α«úαá¼¼«⌐, á Γá¬ªÑ ß«íßΓóÑ¡¡δÑ ú½«íá½∞¡δÑ »ÑαѼѡ¡δÑ
- »α«úαá¼¼δ, αẼÑΘáεΓß∩ ó ßÑú¼Ñ¡ΓÑ ñá¡¡δσ.
-
- àß½¿ ñ½∩ ú½«íá½∞¡δσ »ÑαѼѡ¡δσ ΓαÑíπÑΓß∩ í«½ÑÑ 65520 íá⌐Γ,
- Γ« ß½ÑñπÑΓ αáß»αÑñѽ¿Γ∞ í«½∞Φ¿Ñ ßΓαπ¬Γπαδ ó ó¿ñÑ ñ¿¡á¼¿τÑ߬¿σ »Ñ-
- αѼѡ¡δσ. äá½∞¡Ñ⌐ΦÑÑ «»¿ßá¡¿Ñ φΓ«⌐ ΓÑ¼δ ¼«ª¡« ¡á⌐Γ¿ ó αáºñѽÑ
- "ô¬áºáΓѽ¿ ¿ ñ¿¡á¼¿τÑ߬¿Ñ »ÑαѼѡ¡δÑ" ¡áßΓ«∩ΘÑ⌐ ú½áóδ.
-
- æÑú¼Ñ¡Γ ßΓѬá
- ─────────────────────────────────────────────────────────────────
-
- ÉẼÑα ßÑú¼Ñ¡Γá ßΓѬá πßΓá¡áó½¿óáÑΓß∩ ß »«¼«Θ∞ε ñ¿αÑ¬Γ¿óδ
- ¬«¼»¿½∩Γ«αá $M ¿ ½Ñª¿Γ ó »αÑñѽáσ «Γ 1024 ñ« 65520 íá⌐Γ. Å« π¼«½-
- τá¡¿ε αẼÑα ßΓѬá αáóÑ¡ 16384 íá⌐Γ.
-
- Åα¿ ¬áªñ«⌐ á¬Γ¿ó¿ºáµ¿¿ (ó맮óÑ) »α«µÑñπαδ ¿½¿ Σπ¡¬µ¿¿ ó ßΓѬ
- »«¼ÑΘáÑΓß∩ ¼¡«ªÑßΓó« ½«¬á½∞¡δσ »ÑαѼѡ¡δσ. Åα¿ ºáóÑαΦÑ¡¿¿ αáí«Γδ
- »á¼∩Γ∞, ºá¡¿¼áѼá∩ ½«¬á½∞¡δ¼¿ »ÑαѼѡ¡δ¼¿, «ßó«í«ªñáÑΓß∩. é ½εí«⌐
- ¼«¼Ñ¡Γ óδ»«½¡Ñ¡¿∩ »α«úαá¼¼δ «íΘ¿⌐ αẼÑα ½«¬á½∞¡δσ »ÑαѼѡ¡δσ ó
- á¬Γ¿ó¡δσ »α«µÑñπαáσ ¿ Σπ¡¬µ¿∩σ ¡Ñ ñ«½ªÑ¡ »αÑóδΦáΓ∞ αẼÑαá ßÑú-
- ¼Ñ¡Γá ßΓѬá.
-
- Åα¿¼Ñτá¡¿Ñ: àß½¿ óδ »¿ΦÑΓÑ »α¿½«ªÑ¡¿Ñ ñ½∩ Windows, Γ«
- Windows ¡á½áúáÑΓ ¡á ßÑú¼Ñ¡Γδ ñá¡¡δσ ¿ ßΓѬá ߻ѵ¿á½∞¡δÑ
- ΓαÑí«óá¡¿∩, ΓᬠτΓ« αáí«τ¿⌐ ¼á¬ß¿¼π¼ ßΓÑ¬á ¿ «í½áßΓ∞ ßÑú-
- ¼Ñ¡Γá ñá¡¡δσ ¼«úπΓ íδΓ∞ ¼Ñ¡∞ΦÑ, τѼ π»«¼∩¡πΓδÑ ¼á¬ß¿¼á½∞¡δÑ
- «í½áßΓ¿ ßÑú¼Ñ¡Γá ñá¡¡δσ ¿ ßΓѬá.
-
- ä¿αÑ¬Γ¿óá ¬«¼»¿½∩Γ«αá $S ¿ß»«½∞ºπÑΓß∩ ñ½∩ »α«óÑ᫬ »ÑαÑ»«½-
- ¡Ñ¡¿∩ ßΓѬá ó »α«úαá¼¼Ñ. é ß«ßΓ«∩¡¿¿ {$S+}, »α¿¡∩Γ«¼ »« π¼«½τá-
- ¡¿ε, úÑ¡Ñα¿απÑΓß∩ ¬«ñ, «ßπΘÑßΓó½∩εΘ¿⌐ »α«óÑα¬π »ÑαÑ»«½¡Ñ¡¿∩ ßΓѬá
- ó ¡áτá½Ñ ¬áªñ«⌐ »α«µÑñπαδ ¿½¿ Σπ¡¬µ¿¿. é ß«ßΓ«∩¡¿¿ {$S-} ΓᬿÑ
- »α«óÑન ¡Ñ »α«ó«ñ∩Γß∩. ÅÑαÑ»«½¡Ñ¡¿Ñ ßΓÑ¬á ¼«ªÑΓ óδºóáΓ∞ áóáα¿⌐-
- ¡«Ñ ºáóÑαΦÑ¡¿Ñ αáí«Γδ ß¿ßΓѼδ, »«φΓ«¼π ¡Ñ ß½ÑñπÑΓ «Γ¼Ñ¡∩Γ∞ »α«-
- óÑન ßΓѬá, Ñß½¿ ¡ÑΓ áíß«½εΓ¡«⌐ πóÑαÑ¡¡«ßΓ¿ ó Γ«¼, τΓ« »ÑαÑ»«½-
- ¡Ñ¡¿∩ ¡Ñ »α«¿º«⌐ñÑΓ.
-
-
-
- B.Pascal 7 & Objects/LR - 74 -
-
- Çíß«½εΓ¡δÑ »ÑαѼѡ¡δÑ
- ─────────────────────────────────────────────────────────────────
-
- ÅÑαѼѡ¡δÑ ¼«ª¡« «»¿ßáΓ∞ Γá¬, τΓ« «¡¿ íπñπΓ αáß»«½áúáΓ∞ß∩ »«
- «»αÑñѽѡ¡«¼π áñαÑßπ ó »á¼∩Γ¿, ¿ ó φΓ«¼ ß½πτáÑ «¡¿ ¡áºδóáεΓß∩ áí-
- ß«½εΓ¡δ¼¿ »ÑαѼѡ¡δ¼¿. Ä»¿ßá¡¿Ñ Γᬿσ »ÑαѼѡ¡δσ ñ«½ª¡« ß«ñÑαªáΓ∞
- »«ß½Ñ Γ¿»á «»ÑαáΓ«α absolute:
-
- «»¿ßá¡¿Ñ ┌────────┐ ┌─────────┐ ┌───┐ ┌─────────┐
- áíß«½εΓ¡«⌐ ───>│absolute├─┬─>│µÑ½«Ñ íѺ├─>│ : ├─>│µÑ½«Ñ íѺ├─┬─>
- »ÑαѼѡ¡«⌐ └────────┘ │ │ º¡á¬á │ └───┘ │ º¡á¬á │ │
- │ └─────────┘ └─────────┘ │
- │ ┌─────────────┐ │
- └──────>│¿ñÑ¡Γ¿Σ¿¬áΓ«α├────────────┘
- │ »ÑαѼѡ¡«⌐ │
- └─────────────┘
-
- ÄΓ¼ÑΓ¿¼, τΓ« ß»¿ß«¬ ¿ñÑ¡Γ¿Σ¿¬áΓ«α«ó ó «»¿ßá¡¿¿ »ÑαѼѡ¡«⌐
- »α¿ π¬áºá¡¿¿ «»ÑαáΓ«αá absolute ¼«ªÑΓ ß«ñÑαªáΓ∞ Γ«½∞¬« «ñ¿¡ ¿ñÑ¡-
- Γ¿Σ¿¬áΓ«α.
-
- ÅÑαóá∩ τáßΓ∞ «»ÑαáΓ«αá absolute ß«ñÑαª¿Γ ßÑú¼Ñ¡Γ ¿ ß¼ÑΘÑ¡¿Ñ,
- Γ« ÑßΓ∞ áñαÑß, »« ¬«Γ«α«¼π »ÑαѼѡ¡á∩ ñ«½ª¡á íδΓ∞ αẼÑΘÑ¡á.
-
- CrtMode : byte absolute $0040:$0049;
-
- ÅÑαóá∩ ¬«¡ßΓá¡Γá «í«º¡áτáÑΓ íáºπ ßÑú¼Ñ¡Γá, á óΓ«αá∩ «»αÑñÑ-
- ½∩ÑΓ ß¼ÑΘÑ¡¿Ñ ó¡πΓα¿ φΓ«ú« ßÑú¼Ñ¡Γá. ÄíÑ ¬«¡ßΓá¡Γδ ¡Ñ ñ«½ª¡δ óδ-
- σ«ñ¿Γ∞ ºá »αÑñѽδ ñ¿á»áº«¡á «Γ $0000 ñ« $FFFF («Γ 0 ñ« 65535).
-
- é »α«úαá¼¼áσ ºáΘ¿ΘÑ¡¡«ú« αѪ¿¼á DOS ¿ ó Windows »Ñαóπε Σ«α¼π
- «»ÑαáΓ«α absolute ¡πª¡« ¿ß»«½∞º«óáΓ∞ «τÑ¡∞ ᬬπαáΓ¡«, Ñß½¿ ó««íΘÑ
- ßΓ«¿Γ φΓ« ñѽáΓ∞. é« óαѼ∩ óδ»«½¡Ñ¡¿∩ »α¿¬½áñ¡«⌐ »α«úαá¼¼δ
- Windows ¿½¿ DOS ºáΘ¿ΘÑ¡¡«ú« αѪ¿¼á «¡á ¼«ªÑΓ ¡Ñ ¿¼ÑΓ∞ »«½¡«¼«τ¿⌐
- ñ«ßΓπ»á ¬ «í½áßΓ∩¼ »á¼∩Γ¿ ó¡Ñ óáΦÑ⌐ »α«úαá¼¼δ. Å«»δΓ¬á ñ«ßΓπ»á ¬
- φΓ¿¼ «í½áßΓ∩¼ »á¼∩Γ¿ ¼«ªÑΓ »α¿óÑßΓ¿ ¬ ßí«ε »α«úαá¼¼δ.
-
- B.Pascal 7 & Objects/LR - 75 -
-
-
- éΓ«αá∩ Σ«α¼á «»ÑαáΓ«αá absolute ¿ß»«½∞ºπÑΓß∩ ñ½∩ «»¿ßá¡¿∩
- »ÑαѼѡ¡«⌐, ¬«Γ«αá∩ »«¼ÑΘáÑΓß∩ "»«óÑασ" ñαπú«⌐ »ÑαѼѡ¡«⌐, Γ«
- ÑßΓ∞ »« Γ«¼π ªÑ ßἫ¼π áñαÑßπ, τΓ« ¿ ñαπúá∩ »ÑαѼѡ¡á∩.
-
- var
- Str: string[32];
- StrLen: byte absolute Str;
-
- ¥Γ« «»¿ßá¡¿Ñ π¬áºδóáÑΓ, τΓ« »ÑαѼѡ¡á∩ StrLen ñ«½ª¡á αẼÑ-
- ΘáΓ∞ß∩ ß Γ«ú« ªÑ áñαÑßá, τΓ« ¿ »ÑαѼѡ¡á∩ Str, á »«ß¬«½∞¬π »Ñαóδ⌐
- íá⌐Γ ßΓ᫬«ó«⌐ »ÑαѼѡ¡«⌐ ß«ñÑαª¿Γ ñ¿¡á¼¿τÑ߬πε ñ½¿¡π ßΓ᫬¿, Γ«
- StrLen íπñÑΓ ß«ñÑαªáΓ∞ ñ½¿¡π Str.
-
- ¥Γπ óΓ«απε Σ«α¼π «»ÑαáΓ«αá absolute ¼«ª¡« íѺ «»áßÑ¡¿∩ ¿ß-
- »«½∞º«óáΓ∞ »α¿ »α«úαá¼¼¿α«óá¡¿¿ ó Windows ¿½¿ ó ºáΘ¿ΘÑ¡¡«¼ αѪ¿¼Ñ
- DOS. Åá¼∩Γ∞, ¬ ¬«Γ«α«⌐ óδ «íαáΘáÑΓÑß∞, ¡áσ«ñ¿Γß∩ ó «í½áßΓ¿ »α«ú-
- αá¼¼δ.
-
-
-
-
- B.Pascal 7 & Objects/LR - 76 -
-
- æß佬¿ ¡á »ÑαѼѡ¡δÑ
- ─────────────────────────────────────────────────────────────────
-
- æßδ½¬á ¡á »ÑαѼѡ¡πε ¼«ªÑΓ «í«º¡áτáΓ∞ ß½ÑñπεΘÑÑ:
-
- - »ÑαѼѡ¡πε;
-
- - ¬«¼»«¡Ñ¡Γ ó »ÑαѼѡ¡«⌐ ßΓαπ¬Γπα¡«ú« ¿½¿ ßΓ᫬«ó«ú« Γ¿»á;
-
- - ñ¿¡á¼¿τÑ߬πε »ÑαѼѡ¡πε, ¡á ¬«Γ«απε π¬áºδóáÑΓ »ÑαѼѡ¡á∩
- Γ¿»a π¬áºáΓѽ∞.
-
- æ¿¡Γá¬ß¿ß ßß佬¿ ¡á »ÑαѼѡ¡πε ¿¼ÑÑΓ ó¿ñ:
-
- ┌─────────────┐
- ßßδ½¬á ¡á ─┬──>│¿ñÑ¡Γ¿Σ¿¬áΓ«α├────────────────────────────┬──>
- »ÑαѼѡ¡πε │ │ »ÑαѼѡ¡«⌐ │ ^^ ┌────────────┐ │
- │ └─────────────┘ │└──┤¬óá½¿Σ¿¬áΓ«α│<─┘
- │ ┌───────────────┐ │ └────────────┘
- ├──>│»α¿óÑñÑ¡¿Ñ Γ¿»á├──────┤
- │ │ »ÑαѼѡ¡«⌐ │ │
- │ └───────────────┘ └─────┐
- │ ┌─────────┐ ┌────────────┐ │
- └──>│óδαáªÑ¡¿Ñ├─>│¬óá½¿Σ¿¬áΓ«α├──┘
- └─────────┘ └────────────┘
-
- ÄΓ¼ÑΓ¿¼, τΓ« ß¿¡Γá¬ß¿ß ßß佬¿ ¡á »ÑαѼѡ¡πε ñ«»π߬áÑΓ ¿ß-
- »«½∞º«óá¡¿Ñ óδαáªÑ¡¿∩, óδτ¿ß½∩εΘÑú« º¡áτÑ¡¿Ñ ßß佫τ¡«ú« Γ¿»á. éδ-
- αáªÑ¡¿Ñ ñ«½ª¡« ß½Ññ«óáΓ∞ ºá ¬óá½¿Σ¿¬áΓ«α«¼, αáºδ¼Ñ¡«óδóáεΘ¿¼ ßßδ-
- ½«τ¡«Ñ º¡áτÑ¡¿Ñ (¿½¿ ¿¡ñѬ߿απεΘ¿¼ º¡áτÑ¡¿Ñ¼ π¬áºáΓѽ∩, Ñß½¿ ß
- »«¼«Θ∞ε ñ¿αÑ¬Γ¿óδ {$X+} αáºαÑΦÑ¡ αáßΦ¿αÑ¡¡δ⌐ ß¿¡Γá¬ß¿ß), τΓ« ñáÑΓ
- Σá¬Γ¿τÑ߬πε ßß佬π ¡á »ÑαѼѡ¡πε.
-
-
-
-
- B.Pascal 7 & Objects/LR - 77 -
-
- èóá½¿Σ¿¬áΓ«αδ
- ─────────────────────────────────────────────────────────────────
-
- ÄíαáΘÑ¡¿Ñ ¬ Σπ¡¬µ¿¿ »αÑñßΓáó½∩ÑΓ ß«í«⌐ ¿ñÑ¡Γ¿Σ¿¬áΓ«α »ÑαÑ-
- ¼Ñ¡¡«⌐ ß ¡Ñ߬«½∞¬¿¼¿ ¬óá½¿Σ¿¬áΓ«αἿ ¿½¿ íѺ ¡¿σ, ¬«Γ«αδÑ ¿º¼Ñ¡∩-
- εΓ º¡áτÑ¡¿Ñ «íαáΘÑ¡¿∩ ¬ Σπ¡¬µ¿¿.
-
- ┌──────┐
- ¬óá½¿Σ¿¬áΓ«α ──┬──>│¿¡ñѬß├──────────>
- │ └──────┘ ^
- │ ┌────────────┐ │
- ├──>│ ñÑß¿ú¡áΓ«α ├──┤
- │ │ »«½∩ │ │
- │ └────────────┘ │
- │ ┌───┐ │
- └──>│ ^ ├───────────┘
- └───┘
-
- êñÑ¡Γ¿Σ¿¬áΓ«α ¼áßß¿óá íѺ ¬óá½¿Σ¿¬áΓ«αá ∩ó½∩ÑΓß∩ ßß佬«⌐ ¡á
- óÑß∞ ¼áßß¿ó, ¡á»α¿¼Ñα:
-
- Results
-
- êñÑ¡Γ¿Σ¿¬áΓ«α ¼áßß¿óá ß π¬áºá¡¡δ¼ ¿¡ñѬ߫¼ «í«º¡áτáÑΓ ¬«¡¬-
- αÑΓ¡δ⌐ φ½Ñ¼Ñ¡Γ ¼áßß¿óá, ó ñá¡¡«¼ ß½πτáÑ ßΓαπ¬Γπα¡πε »ÑαѼѡ¡πε:
-
- Results[Current+1]
-
- é ß½πτáÑ, Ñß½¿ φ½Ñ¼Ñ¡Γ«¼ ∩ó½∩ÑΓß∩ ºá»¿ß∞, ºá ¿¡ñѬ߫¼ ¼«ª¡«
- π¬áºáΓ∞ «í«º¡áτÑ¡¿Ñ »«½∩. é φΓ«¼ ß½πτáÑ ßßδ½¬á ¡á »ÑαѼѡ¡πε «º-
- ¡áτáÑΓ ¬«¡¬αÑΓ¡«Ñ »«½Ñ ¬«¡¬αÑΓ¡«ú« φ½Ñ¼Ñ¡Γá ¼áßß¿óá:
-
- Results[Current+1].Data
-
- äÑß¿ú¡áΓ«α »«½∩ ó π¬áºáΓѽÑ-»«½Ñ ¼«ªÑΓ ß«»α«ó«ªñáΓ∞ß∩ ß¿¼-
- 󫽫¼ π¬áºáΓѽ∩ (^) ß ΓѼ, τΓ«íδ π¬áºáΓ∞ αẽ¿τ¿Ñ ¼Ñªñπ π¬áºáΓÑ-
- ½Ñ¼-»«½Ñ¼ ¿ ñ¿¡á¼¿τÑ߬«⌐ »ÑαѼѡ¡«⌐, ¡á ¬«Γ«απε «¡ π¬áºδóáÑΓ.
-
- Results[Current+1].Data^
-
- àß½¿ »ÑαѼѡ¡á∩, ¡á ¬«Γ«απε π¬áºδóáÑΓß∩, ∩ó½∩ÑΓß∩ ¼áßß¿ó«¼,
- Γ« ¼«ª¡« ñ«íáó¿Γ∞ ¿¡ñѬßδ ñ½∩ «í«º¡áτÑ¡¿∩ ¬«¼»«¡Ñ¡Γ«ó φΓ«ú« ¼áß-
- ß¿óá.
-
- Results[Current+1].Data^[J]
-
-
-
-
- B.Pascal 7 & Objects/LR - 78 -
-
- îáßß¿óδ, ßΓ᫬¿ ¿ ¿¡ñѬßδ
- ─────────────────────────────────────────────────────────────────
-
- è«¡¬αÑΓ¡δ⌐ φ½Ñ¼Ñ¡Γ ¼áßß¿óá «í«º¡áτáÑΓß∩ ß »«¼«Θ∞ε ßß佬¿ ¡á
- »ÑαѼѡ¡πε ¼áßß¿óá, ºá ¬«Γ«α«⌐ π¬áºδóáÑΓß∩ ¿¡ñѬß, «»αÑñѽ∩εΘ¿⌐
- ñá¡¡δ⌐ φ½Ñ¼Ñ¡Γ.
-
- è«¡¬αÑΓ¡δ⌐ ß¿¼ó«½ ó ßΓ᫬«ó«⌐ »ÑαѼѡ¡«⌐ «í«º¡áτáÑΓß∩ ß »«-
- ¼«Θ∞ε ßß佬¿ ¡á ßΓ᫬«óπε »ÑαѼѡ¡πε, ºá ¬«Γ«α«⌐ π¬áºδóáÑΓß∩ ¿¡-
- ñѬß, «»αÑñѽ∩εΘ¿⌐ »«º¿µ¿ε ß¿¼ó«½á.
-
- ┌───┐ ┌─────────┐ ┌───┐
- ¿¡ñÑ¬ß ──>│ [ ├───────>│óδαáªÑ¡¿Ñ├────┬──>│ ] ├──>
- └───┘ ^ └─────────┘ │ └───┘
- │ ┌───┐ │
- └───────┤ , │<───────┘
- └───┘
-
- ê¡ñѬߡδÑ óδαáªÑ¡¿∩ «í«º¡áτáεΓ ¬«¼»«¡Ñ¡Γδ ó ß««ΓóÑΓßΓóπεΘÑ⌐
- αẼÑα¡«ßΓ¿ ¼áßß¿óá. ù¿ß½« óδαáªÑ¡¿⌐ ¡Ñ ñ«½ª¡« »αÑóδΦáΓ∞ τ¿ß½á
- ¿¡ñѬߡδσ Γ¿»«ó ó «»¿ßá¡¿¿ ¼áßß¿óá. ü«½ÑÑ Γ«ú«, Γ¿» ¬áªñ«ú« óδαá-
- ªÑ¡¿∩ ñ«½ªÑ¡ íδΓ∞ ß«ó¼ÑßΓ¿¼δ¼ »« »α¿ßóá¿óá¡¿ε ß ß««ΓóÑΓßΓóπεΘ¿¼
- ¿¡ñÑ¬ß¡δ¼ Γ¿»«¼.
-
- é ß½πτáÑ ¼¡«ú«¼Ñα¡«ú« ¼áßß¿óá ¼«ª¡« ¿ß»«½∞º«óáΓ∞ ¡Ñ߬«½∞¬«
- ¿¡ñÑ¬ß«ó ¿½¿ ¡Ñ߬«½∞¬« óδαáªÑ¡¿⌐ ó ¿¡ñѬßÑ. ìá»α¿¼Ñα:
-
- Matrix[I][J]
-
- τΓ« Γ«ªñÑßΓóÑ¡¡« ºá»¿ß¿:
-
- Matrix[I,J]
-
- æΓ᫬«óπε »ÑαѼѡ¡πε ¼«ª¡« »α«¿¡ñѬ߿α«óáΓ∞ ß »«¼«Θ∞ε «ñ¿-
- ¡«τ¡«ú« ¿¡ñѬߡ«ú« óδαáªÑ¡¿∩, º¡áτÑ¡¿Ñ ¬«Γ«α«ú« ñ«½ª¡« íδΓ∞ ó ñ¿-
- á»áº«¡Ñ 0...n, úñÑ n - π¬áºá¡¡δ⌐ ó «»¿ßá¡¿¿ αẼÑα ßΓ᫬¿. ¥Γ«
- ñáÑΓ ñ«ßΓπ» ¬ ¬áªñ«¼π ß¿¼ó«½π ó ßΓ᫬«ó«¼ º¡áτÑ¡¿¿, Ñß½¿ º¡áτÑ¡¿Ñ
- ß¿¼ó«½á ¿¼ÑÑΓ Γ¿» Char.
-
- ÅÑαóδ⌐ ß¿¼ó«½ ßΓ᫬«ó«⌐ »ÑαѼѡ¡«⌐ (¿¡ñÑ¬ß 0) ß«ñÑαª¿Γ ñ¿¡á-
- ¼¿τÑ߬πε ñ½¿¡π ßΓ᫬¿, Γ« ÑßΓ∞ Length(S) Γ«ªñÑßΓóÑ¡¡« Ord(S[0]).
- àß½¿ áΓα¿íπΓπ ñ½¿¡δ »α¿ßóá¿óáÑΓß∩ º¡áτÑ¡¿Ñ, Γ« ¬«¼»¿½∩Γ«α ¡Ñ »α«-
- óÑα∩ÑΓ, ∩ó½∩ÑΓß∩ ½¿ φΓ« º¡áτÑ¡¿Ñ ¼Ñ¡∞Φ¿¼ «»¿ßá¡¡«ú« αẼÑαá ßΓα«-
- ¬¿. éδ ¼«ªÑΓÑ π¬áºáΓ∞ ¿¡ñÑ¬ß ßΓ᫬¿ ¿ ó¡Ñ ÑÑ ΓѬπΘÑ⌐ ñ¿¡á¼¿τÑ߬«⌐
- ñ½¿¡δ. é φΓ«¼ ß½πτáÑ ßτ¿ΓδóáѼδÑ ß¿¼ó«½δ íπñπΓ ß½πτá⌐¡δ¼¿, á
- »α¿ßóá¿óá¡¿∩ ó¡Ñ ΓѬπΘÑ⌐ ñ½¿¡δ ¡Ñ »«ó½¿∩εΓ ¡á ñÑ⌐ßΓó¿Γѽ∞¡«Ñ º¡á-
- τÑ¡¿Ñ ßΓ᫬«ó«⌐ »ÑαѼѡ¡«⌐.
-
- è«úñá ß »«¼«Θ∞ε ñ¿αÑ¬Γ¿óδ ¬«¼»¿½∩Γ«αá {$X+} αáºαÑΦÑ¡ αáßΦ¿-
- αÑ¡¡δ⌐ ß¿¡Γá¬ß¿ß, º¡áτÑ¡¿Ñ PChar ¼«ªÑΓ ¿¡ñѬ߿α«óáΓ∞ß∩ «ñ¿¡«τ¡δ¼
- ¿¡ñÑ¬ß¡δ¼ óδαáªÑ¡¿Ñ¼ Γ¿»á Word. ê¡ñѬߡ«Ñ óδαáªÑ¡¿Ñ ºáñáÑΓ ß¼ÑΘÑ-
- ¡¿Ñ, ¬«Γ«α«Ñ ¡πª¡« ñ«íáó¿Γ∞ ¬ ß¿¼ó«½π »ÑαÑñ Ñú« αáºδ¼Ñ¡«ó᡿Ѽ
- ñ½∩ »«½πτÑ¡¿∩ ßß佬¿ ¡á »ÑαѼѡ¡πε Γ¿»á Char.
-
- B.Pascal 7 & Objects/LR - 79 -
-
-
-
- çỿ߿ ¿ ñÑß¿ú¡áΓ«αδ »«½Ñ⌐
- ─────────────────────────────────────────────────────────────────
-
- è«¡¬αÑΓ¡«Ñ »«½Ñ »ÑαѼѡ¡«⌐-ºá»¿ß¿ «í«º¡áτáÑΓß∩ ß »«¼«Θ∞ε
- ßß佬¿ ¡á »ÑαѼѡ¡πε-ºá»¿ß∞, »«ß½Ñ ¬«Γ«α«⌐ π¬áºδóáÑΓß∩ «í«º¡áτÑ-
- ¡¿Ñ »«½∩, ߻ѵ¿Σ¿µ¿απεΘÑÑ φΓ« »«½Ñ.
-
- ┌───┐ ┌─────────────┐
- «í«º¡áτÑ¡¿Ñ »«½∩ ───>│ . │───>│¿ñÑ¡Γ¿Σ¿¬áΓ«α│───>
- └───┘ │ »«½∩ │
- └─────────────┘
-
- Åα¿óÑñѼ ¡Ñ߬«½∞¬« »α¿¼Ñα«ó ñÑß¿ú¡áΓ«α«ó »«½Ñ⌐:
-
- Today.Year
- Results[1].Count
- Result[1].When.Month
-
- é «»ÑαáΓ«αÑ, óσ«ñ∩ΘѼ ó «»ÑαáΓ«α with, «í«º¡áτÑ¡¿ε »«½∩ ¡Ñ
- ñ«½ª¡á »αÑñΦÑßΓó«óáΓ∞ ßßδ½¬á ¡á »ÑαѼѡ¡πε, ß«ñÑαªáΘπε ºá»¿ß∞.
-
-
- äÑß¿ú¡áΓ«αδ ¬«¼»«¡Ñ¡Γ«ó «íΩѬΓá
- ─────────────────────────────────────────────────────────────────
-
- ö«α¼áΓ ñÑß¿ú¡áΓ«αá ¬«¼»«¡Ñ¡Γá «íΩѬΓá ß«ó»áñáÑΓ ß Σ«α¼áΓ«¼
- ñÑß¿ú¡áΓ«αá »«½∩ ºá»¿ß¿. Æ« ÑßΓ∞, «¡ ß«ßΓ«¿Γ ¿º φ¬ºÑ¼»½∩αá (ßßδ½-
- ¬¿ ¡á »ÑαѼѡ¡πε), ºá ¬«Γ«αδ¼ ß½ÑñπÑΓ Γ«τ¬á ¿ ¿ñÑ¡Γ¿Σ¿¬áΓ«α ¬«¼-
- »«¡Ñ¡Γá. äÑß¿ú¡áΓ«α ¬«¼»«¡Ñ¡Γá, ¬«Γ«αδ⌐ «í«º¡áτáÑΓ ¼ÑΓ«ñ, ¡áºδóá-
- ÑΓß∩ ñÑß¿ú¡áΓ«α«¼ ¼ÑΓ«ñá. è φ¬ºÑ¼»½∩απ «íΩÑ¬Γ¡«ú« Γ¿»á ¼«ª¡«
- »α¿¼Ñ¡¿Γ∞ «»ÑαáΓ«α with. é φΓ«¼ ß½πτáÑ »α¿ ßßδ½¬Ñ ¡á ¬«¼»«¡Ñ¡Γδ
- «íΩÑ¬Γ¡«ú« Γ¿»á φ¬ºÑ¼»½∩α ¿ Γ«τ¬π ¼«ª¡« «»πßΓ¿Γ∞.
-
- ¥¬ºÑ¼»½∩α ¿ Γ«τ¬π ¼«ª¡« «»πßΓ¿Γ∞ Γá¬ªÑ ó ½εí«¼ í½«¬Ñ ¼ÑΓ«ñá.
- Åα¿ φΓ«¼ φΣΣÑ¬Γ íπñÑà ëà ªÑ, τΓ« ¿ »α¿ ºá»¿ß¿ »ÑαÑñ ßß佬«⌐ ¡á
- ¬«¼»«¡Ñ¡Γ Self ¿ Γ«τ¬¿.
-
-
- ÅÑαѼѡ¡δÑ-π¬áºáΓѽ¿ ¿ ñ¿¡á¼¿τÑ߬¿Ñ »ÑαѼѡ¡δÑ
- ─────────────────────────────────────────────────────────────────
-
- ç¡áτÑ¡¿Ñ¼ »ÑαѼѡ¡«⌐-π¬áºáΓѽ∩ ∩ó½∩ÑΓß∩ ¿½¿ nil (Γ« ÑßΓ∞
- »πßΓ«Ñ º¡áτÑ¡¿Ñ), ¿½¿ áñαÑß º¡áτÑ¡¿∩, π¬áºδóáεΘ¿⌐ ¡á ñ¿¡á¼¿τÑ߬πε
- »ÑαѼѡ¡πε.
-
- æßδ½¬á ¡á ñ¿¡á¼¿τÑ߬πε »ÑαѼѡ¡πε, ¡á ¬«Γ«απε π¬áºδóáÑΓ »Ñ-
- αѼѡ¡á∩-π¬áºáΓѽ∞, ºá»¿ßδóáÑΓß∩ ó ó¿ñÑ »ÑαѼѡ¡«⌐-π¬áºáΓѽ∩,
- »«ß½Ñ ¬«Γ«α«⌐ ßΓáó¿Γß∩ ß¿¼ó«½ π¬áºáΓѽ∩ (^).
-
- 信ἿτÑ߬¿Ñ »ÑαѼѡ¡δÑ ¿ º¡áτÑ¡¿∩ ¿σ π¬áºáΓѽÑ⌐ ß«ºñáεΓß∩ ß
- »«¼«Θ∞ε ßΓá¡ñáαΓ¡δσ »α«µÑñπα New ¿ GetMem. éδ ¼«ªÑΓÑ ¿ß»«½∞º«óáΓ∞
-
- B.Pascal 7 & Objects/LR - 80 -
-
- «»Ñαᵿε @ ¿ ßΓá¡ñáαΓ¡πε Σπ¡¬µ¿ε Ptr ñ½∩ ß«ºñá¡¿∩ º¡áτÑ¡¿⌐ π¬áºá-
- Γѽ∩, ¬«Γ«αδÑ αáßß¼áΓα¿óáεΓß∩ ¬á¬ π¬áºáΓѽ¿ ñ¿¡á¼¿τÑ߬¿σ »ÑαѼѡ-
- ¡δσ.
-
- ç¡áτÑ¡¿Ñ nil ¡Ñ π¬áºδóáÑΓ ¡¿ ¡á ¬á¬πε »ÑαѼѡ¡πε. àß½¿ óδ
- »«»δΓáÑΓÑß∞ »«½πτ¿Γ∞ ñ«ßΓπ» ¬ ñ¿¡á¼¿τÑ߬«⌐ »ÑαѼѡ¡«⌐ »α¿ ¡Ñ«»αÑ-
- ñѽѡ¡«¼ º¡áτÑ¡¿¿ π¬áºáΓѽ∩ ¿½¿ π¬áºáΓѽÑ, αáó¡«¼ nil, αѺπ½∞ΓáΓ
- íπñÑΓ ¡Ñ«»αÑñѽѡ¡δ¼.
-
- Åα¿óÑñѼ ¡Ñ߬«½∞¬« »α¿¼Ñα«ó ßß佫¬ (π¬áºáΓѽÑ⌐) ¡á ñ¿¡á¼¿-
- τÑ߬¿Ñ »ÑαѼѡ¡δÑ:
-
- P1^
- P1.Sibling^
- Results[1].Data^
-
-
-
-
- B.Pascal 7 & Objects/LR - 81 -
-
- Åα¿óÑñÑ¡¿Ñ Γ¿»«ó »ÑαѼѡ¡δσ
- ─────────────────────────────────────────────────────────────────
-
- æßδ½¬á ¡á »ÑαѼѡ¡πε «ñ¡«ú« Γ¿»á ¼«ªÑΓ íδΓ∞ »αÑ«íαẫóá¡á ó
- ßß佬π ¡á »ÑαѼѡ¡πε ñαπú«ú« Γ¿»á ß »«¼«Θ∞ε »α¿óÑñÑ¡¿∩ Γ¿»«ó »Ñ-
- αѼѡ¡δσ.
-
- ┌─────────────┐ ┌───┐ ┌──────────┐ ┌───┐
- »α¿óÑñÑ¡¿Ñ ───>│¿ñÑ¡Γ¿Σ¿¬áΓ«α├──>│ ( ├──>│ßßδ½¬á ¡á ├──>│ ) ├─>
- Γ¿»«ó │ Γ¿»á │ └───┘ │»ÑαѼѡ¡πε│ └───┘
- └─────────────┘ └──────────┘
-
- è«úñá »α¿óÑñÑ¡¿Ñ Γ¿»«ó »α¿¼Ñ¡∩ÑΓß∩ ¬ ßßδ½¬Ñ ¡á »ÑαѼѡ¡πε,
- ßßδ½¬á ¡á »ÑαѼѡ¡πε αáßß¼áΓα¿óáÑΓß∩ ¬á¬ φ¬ºÑ¼»½∩α Γ¿»á, »αÑñß-
- Γáó½Ñ¡¡«ú« ¿ñÑ¡Γ¿Σ¿¬áΓ«α«¼ Γ¿»á. ÉẼÑα »ÑαѼѡ¡«⌐ (τ¿ß½« íá⌐Γ,
- ºá¡¿¼áѼδσ »ÑαѼѡ¡«⌐) ñ«½ªÑ¡ íδΓ∞ αáóÑ¡ αẼÑαπ Γ¿»á, »αÑñßΓáó-
- ½Ñ¡¡«ú« ¿ñÑ¡Γ¿Σ¿¬áΓ«α«¼ Γ¿»á. Å«ß½Ñ »α¿óÑñÑ¡¿∩ Γ¿»á »ÑαѼѡ¡«⌐
- ¼«ª¡« π¬áºáΓ∞ «ñ¿¡ ¿½¿ ¡Ñ߬«½∞¬« ¬óá½¿Σ¿¬áΓ«α«ó, Ñß½¿ φΓ« ñ«»πß-
- ¬áÑΓß∩ π¬áºá¡¡δ¼ Γ¿»«¼.
-
- Åα¿¼Ñτá¡¿Ñ: Ä»αÑñѽ∩Γ∞ ñ«»πßΓ¿¼«ßΓ∞ »α¿óÑñÑ¡¿∩ Γ¿»á
- ñ«½ªÑ¡ »α«úαá¼¼¿ßΓ.
-
- Åα¿óÑñѼ ¡Ñ߬«½∞¬« »α¿¼Ñα«ó »α¿óÑñÑ¡¿∩ Γ¿»«ó »ÑαѼѡ¡δσ:
-
- type
- TByteRec = record
- lo, hi: byte;
- end;
- TWordRec = record
- low, high: word;
- end;
- TPtrRec = record
- ofs, seg: word;
- end;
- PByte = ^Byte;
- var
- B: byte;
- W: word;
- L: longint;
- P: pointer;
- begin
- W := $1234;
- B := TByteRec(W).lo;
- TByteRec(W).hi := 0;
- L := $1234567;
- W := TWordRec(L).lo;
- B := PByte(L)^;
- P := Ptr($40,$49);
- W := TPtrRec(P).seg;
- Inc(TPtrRec(P).Ofs,4);
- end.
-
-
- B.Pascal 7 & Objects/LR - 82 -
-
- ÄíαáΓ¿ΓÑ ó¡¿¼á¡¿Ñ ¡á ¿ß»«½∞º«óá¡¿Ñ ñ½∩ ñ«ßΓπ»á ¬ ¼½áñΦ¿¼ ¿
- ßΓáαΦ¿¼ íá⌐Γá¼ ß½«óá Γ¿»á TByteRec: φΓ« ß««ΓóÑΓßΓóπÑΓ óßΓα«Ñ¡¡δ¼
- Σπ¡¬µ¿∩¼ Lo ¿ Hi, Γ«½∞¬« ¡áñ ½Ñó«⌐ τáßΓ∞ε ó «»Ñαᵿ¿ »α¿ßóá¿óá¡¿Ñ
- ¼«ªÑΓ óδ»«½¡∩Γ∞ß∩ »α¿óÑñÑ¡¿Ñ Γ¿»á. ÄΓ¼ÑΓ¿¼ ΓᬪÑ, τΓ« ñ½∩ ñ«ßΓπ»á
- ¬ ¼½áñΦ¿¼ ¿ ßΓáαΦ¿¼ ß½«óá¼ ñ½¿¡¡«ú« µÑ½«ú«, á Γá¬ªÑ ¬ ß¼ÑΘÑ¡¿ε ¿
- áñαÑßπ ßÑú¼Ñ¡Γá π¬áºáΓѽ∩ ¿ß»«½∞ºπεΓß∩ Γ¿»δ TWordRec ¿ TPtrRec.
-
- Borland Pascal Γá¬ªÑ »«½¡«ßΓ∞ε »«ññÑনóáÑΓ »α¿óÑñÑ¡¿Ñ Γ¿»«ó
- ñ½∩ »α«µÑñπα¡δσ Γ¿»«ó. ìá»α¿¼Ñα, ¿¼Ñ∩ ß½ÑñπεΘ¿Ñ «»¿ßá¡¿∩:
-
- type
- Func = function(X: Integer): Integer;
- var
- F: Func;
- P: Pointer;
- N: Integer;
-
- óδ ¼«ªÑΓÑ »«ßΓα«¿Γ∞ ß½ÑñπεΘ¿Ñ »α¿ßóá¿óá¡¿∩:
-
- F := Func(P); { »α¿ßó«¿Γ∞ F º¡áτÑ¡¿Ñ »α«µÑñπα¡«ú« Γ¿»á ó P }
- Func(P) := F; { »α¿ßó«¿Γ∞ P º¡áτÑ¡¿Ñ »α«µÑñπα¡«ú« Γ¿»á ó F }
- @F := P; { »α¿ßó«¿Γ∞ F º¡áτÑ¡¿Ñ-π¬áºáΓѽ∞ ó P }
- P := @F; { »α¿ßó«¿Γ∞ P º¡áτÑ¡¿Ñ-π¬áºáΓѽ∞ ó F }
- N := F(N); { óδºóáΓ∞ Σπ¡¬µ¿ε τÑαѺ F }
- N := Func(P)(N); { óδºóáΓ∞ Σπ¡¬µ¿ε τÑαѺ P }
-
- ÄíαáΓ¿ΓÑ ó τáßΓ¡«ßΓ¿ ó¡¿¼á¡¿Ñ ¡á «»Ñαáµ¿ε »«½πτÑ¡¿∩ áñαÑßá
- @, ¬«Γ«αá∩ »α¿¼Ñ¡∩ÑΓß∩ ¬ »ÑαѼѡ¡«⌐ »α«µÑñπα¡«ú« Γ¿»á. àÑ ¼«ª¡«
- ¿ß»«½∞º«óáΓ∞ ó ½Ñó«⌐ τáßΓ¿ »α¿ßóá¿óá¡¿∩. èα«¼Ñ Γ«ú«, «Γ¼ÑΓ∞ΓÑ
- »α¿óÑñÑ¡¿Ñ Γ¿»á ¡á »«ß½Ññ¡Ñ⌐ ßΓα«¬Ñ »α¿ ó맮óÑ Σπ¡¬µ¿ε τÑαѺ »Ñ-
- αѼѡ¡πε-π¬áºáΓѽ∞.
-
- B.Pascal 7 & Objects/LR - 83 -
-
- Æ¿»¿º¿α«óá¡¡δÑ ¬«¡ßΓá¡Γδ
- ─────────────────────────────────────────────────────────────────
-
- Æ¿»¿º¿α«óá¡¡δÑ ¬«¡ßΓá¡Γδ ¼«ª¡« ßαáó¡¿Γ∞ ß ¿¡¿µ¿á½¿º¿α«óá¡¡δ-
- ¼¿ »ÑαѼѡ¡δ¼¿ - »ÑαѼѡ¡δ¼¿, º¡áτÑ¡¿∩ ¬«Γ«αδσ «»αÑñѽ∩εΓß∩ ¡á
- óσ«ñÑ ó ¿σ í½«¬. é «Γ½¿τ¿Ñ «Γ ¡ÑΓ¿»¿º¿α«óá¡¡δσ ¬«¡ßΓá¡Γ ó «»¿ßá-
- ¡¿¿ Γ¿»¿º¿α«óá¡¡«⌐ ¬«¡ßΓá¡Γδ π¬áºδóáÑΓß∩ ¬á¬ Γ¿», Γᬠ¿ º¡áτÑ¡¿Ñ
- ¬«¡ßΓá¡Γδ.
-
- «»¿ßá¡¿Ñ Γ¿»¿º¿α«óá¡¡«⌐ ¬«¡ßΓá¡Γδ
- │ ┌─────────────┐ ┌───┐ ┌───┐ ┌───┐ ┌──────────────┐
- └─>│¿ñÑ¡Γ¿Σ¿¬áΓ«α├─>│ : ├─>│Γ¿»├─>│ = ├─>│Γ¿»¿º¿α«óá¡¡á∩├──>
- └─────────────┘ └───┘ └───┘ └───┘ │ ¬«¡ßΓá¡Γá │
- └──────────────┘
-
- Γ¿»¿º¿α«óá¡¡á∩ ┌───────────────────┐
- ¬«¡ßΓá¡Γá ──────┬───>│ ¬«¡ßΓá¡Γá ├───────>
- │ └───────────────────┘ ^
- │ ┌───────────────────┐ │
- ├───>│ áñαÑß¡á∩ ¬«¡ßΓá¡Γá├───┤
- │ └───────────────────┘ │
- │ ┌───────────────────┐ │
- ├───>│ ¬«¡ßΓá¡Γá-¼áßß¿ó ├───┤
- │ └───────────────────┘ │
- │ ┌──────────────────┐ │
- ├───>│ ¬«¡ßΓá¡Γá-ºá»¿ß∞ ├────┤
- │ └──────────────────┘ │
- │ ┌───────────────────┐ │
- ├───>│ ¬«¡ßΓá¡Γá-«íΩÑ¬Γ ├───┤
- │ └───────────────────┘ │
- │ ┌───────────────────┐ │
- └───>│¬«¡ßΓá¡Γá-¼¡«ªÑßΓó«├───┘
- └───────────────────┘
-
- Æ¿»¿º¿α«óá¡¡δÑ ¬«¡ßΓá¡Γδ ¼«ª¡« ¿ß»«½∞º«óáΓ∞ Γ«τ¡« ΓᬠªÑ,
- ¬á¬ »ÑαѼѡ¡δÑ Γ«ú« ªÑ ßἫú« Γ¿»á, ¿ «¡¿ π¬áºδóáεΓß∩ ó ½Ñó«⌐
- τáßΓ¿ «»ÑαáΓ«αá »α¿ßóá¿óá¡¿∩. ÄΓ¼ÑΓ¿¼, τΓ« Γ¿»¿º¿α«óá¡¡δÑ ¬«¡ß-
- Γá¡Γδ ¿¡¿µ¿á½¿º¿απεΓß∩ Γ«½∞¬« «ñ¿¡ αẠ- ó ¡áτá½Ñ óδ»«½¡Ñ¡¿∩
- »α«úαá¼¼δ. Æá¬¿¼ «íαẫ¼, »α¿ ¬áªñ«¼ ¡«ó«¼ óσ«ñÑ ó »α«µÑñπαπ ¿½¿
- Σπ¡¬µ¿ε ½«¬á½∞¡« «»¿ßá¡¡δÑ Γ¿»¿º¿α«óá¡¡δÑ ¬«¡ßΓá¡Γδ ºá¡«ó« ¡Ñ
- ¿¡¿µ¿á½¿º¿απεΓß∩.
-
- èα«¼Ñ «íδτ¡δσ óδαáªÑ¡¿⌐-¬«¡ßΓá¡Γ º¡áτÑ¡¿Ñ Γ¿»¿º¿α«óá¡¡«⌐
- ¬«¡ßΓá¡Γδ ¼«ªÑΓ ºáñáóáΓ∞ß∩ ß »«¼«Θ∞ε áñαÑß¡«ú« óδαáªÑ¡¿∩-¬«¡ßΓá¡-
- Γδ. ÇñαÑß¡«Ñ óδαáªÑ¡¿Ñ-¬«¡ßΓá¡Γá - φΓ« óδαáªÑ¡¿Ñ, »αÑñπß¼áΓα¿óáε-
- ΘÑÑ »«½πτÑ¡¿Ñ áñαÑßá, ß¼ÑΘÑ¡¿∩ ¿½¿ ßÑú¼Ñ¡Γá ú½«íá½∞¡«⌐ »ÑαѼѡ-
- ¡«⌐, Γ¿»¿º¿α«óá¡¡«⌐ ¬«¡ßΓá¡Γδ, »α«µÑñπαδ ¿½¿ Σπ¡¬µ¿¿. ÇñαÑß¡δÑ
- óδαáªÑ¡¿∩-¬«¡ßΓá¡Γδ ¡Ñ ¼«úπΓ ßßδ½áΓ∞ß∩ ¡á ½«¬á½∞¡δÑ »ÑαѼѡ¡δÑ
- (αáß»«½«ªÑ¡¡δÑ ó ßΓѬÑ) ¿½¿ ñ¿¡á¼¿τÑ߬¿Ñ »ÑαѼѡ¡δÑ (αẼÑΘÑ¡¡δÑ
- ó ñ¿¡á¼¿τÑ߬¿ αáß»αÑñѽ∩Ѽ«⌐ «í½áßΓ¿ »á¼∩Γ¿), »«ß¬«½∞¬π ¿σ áñαÑßá
- ¡Ñ½∞º∩ óδτ¿ß½¿Γ∞ ¡á φΓá»Ñ ¬«¼»¿½∩µ¿¿.
-
-
-
- B.Pascal 7 & Objects/LR - 84 -
-
- è«¡ßΓá¡Γδ »α«ßΓ«ú« Γ¿»á
- ─────────────────────────────────────────────────────────────────
- Ä»¿ßá¡¿Ñ Γ¿»¿º¿α«óá¡¡«⌐ ¬«¡ßΓá¡Γδ ß »α«ßΓδ¼ Γ¿»«¼ «º¡áτáÑΓ
- π¬áºá¡¿Ñ º¡áτÑ¡¿∩ ¬«¡ßΓá¡Γδ:
-
- const
- Maximum : integer = 9999;
- Factor : real = -0.1;
- Breakchar : char = #3;
-
- èᬠπªÑ π»«¼¿¡á½«ß∞ αá¡ÑÑ, º¡áτÑ¡¿Ñ Γ¿»¿º¿α«óá¡¡«⌐ ¬«¡ßΓá¡Γδ
- ¼«ª¡« ºáñáΓ∞ ß »«¼«Θ∞ε áñαÑß¡«ú« óδαáªÑ¡¿Ñ-¬«¡ßΓá¡Γδ, Γ« ÑßΓ∞ óδ-
- αáªÑ¡¿∩, ó ¬«Γ«α«¼ ¿ß»«½∞ºπεΓß∩ áñαÑß, ß¼ÑΘÑ¡¿Ñ ¿½¿ ßÑú¼Ñ¡Γ ú½«-
- íá½∞¡«⌐ »ÑαѼѡ¡«⌐, Γ¿»¿º¿α«óá¡¡«⌐ ¬«¡ßΓá¡Γδ, »α«µÑñπαδ ¿½¿ Σπ¡¬-
- µ¿¿. ìá»α¿¼Ñα:
-
- var
- Buffer: array[0..1023] of Byte;
- const
- BufferOfs: Word = Ofs(Buffer);
- BufferSeg: Word = Seg(Buffer);
-
- ū߬«½∞¬π Γ¿»¿º¿α«óá¡¡á∩ ¬«¡ßΓá¡Γá Σá¬Γ¿τÑ߬¿ »αÑñßΓáó½∩ÑΓ
- ß«í«⌐ »ÑαѼѡ¡πε ß« º¡áτÑ¡¿Ñ¼ ¬«¡ßΓá¡Γδ, «¡á ¡Ñ ∩ó½∩ÑΓß∩ óºá¿¼«-
- ºá¼Ñ¡∩Ѽ«⌐ ñ½∩ «íδτ¡δσ ¬«¡ßΓá¡Γ. ìá»α¿¼Ñα, «¡á ¡Ñ ¼«ªÑΓ ¿ß»«½∞º«-
- óáΓ∞ß∩ ó «»¿ßá¡¿¿ ñαπú¿σ ¬«¡ßΓá¡Γ ¿½¿ Γ¿»«ó.
-
- const
- Min : integer = 0;
- Max : integer = 99;
- type
- Vector = array[Min..Max] of integer;
-
- Ä»¿ßá¡¿Ñ Vector ∩ó½∩ÑΓß∩ ¡Ññ«»πßΓ¿¼δ¼, »«ß¬«½∞¬π Min ¿ Max
- ∩ó½∩εΓß∩ Γ¿»¿º¿α«óá¡¡δ¼¿ ¬«¡ßΓá¡ΓἿ.
-
-
- è«¡ßΓá¡Γδ ßΓ᫬«ó«ú« Γ¿»á
- ─────────────────────────────────────────────────────────────────
- Ä»¿ßá¡¿Ñ Γ¿»¿º¿α«óá¡¡«⌐ ¬«¡ßΓá¡Γδ ßΓ᫬«ó«ú« Γ¿»á ß«ñÑনΓ
- ¼á¬ß¿¼á½∞¡πε ñ½¿¡π ßΓ᫬¿ ¿ ÑÑ ¡áτá½∞¡«Ñ º¡áτÑ¡¿Ñ:
-
- const
- Heading : string[7] = 'Section';
- NewLine : string[2] = #13#10;
- TrueStr : string[5] = 'Yes';
- FalseStr : string[5] = 'No';
-
- B.Pascal 7 & Objects/LR - 85 -
-
-
- è«¡ßΓá¡Γδ ßΓαπ¬Γπα¡«ú« Γ¿»á
- ─────────────────────────────────────────────────────────────────
-
- Ä»¿ßá¡¿Ñ ¬«¡ßΓá¡Γδ ßΓαπ¬Γπα¡«ú« Γ¿»á «»αÑñѽ∩ÑΓ º¡áτÑ¡¿Ñ
- ¬áªñ«ú« ¬«¼»«¡Ñ¡Γá ßΓαπ¬Γπαδ. Borland Pascal »«ññÑনóáÑΓ «»¿ßá-
- ¡¿∩ ¬«¡ßΓá¡Γ Γ¿»á ¼áßß¿ó, ºá»¿ß∞, ¼¡«ªÑßΓó« ¿ π¬áºáΓѽ∞. è«¡ßΓá¡-
- Γδ Σá⌐½«ó«ú« Γ¿»á ¿ ¬«¡ßΓá¡Γδ Γ¿»á ¼áßß¿ó ¿½¿ ºá»¿ß∞, ß«ñÑαªáΘ¿Ñ
- ¬«¼»«¡Ñ¡Γδ Σá⌐½«ó«ú« Γ¿»á, ¡Ñ ñ«»π߬áεΓß∩.
-
-
-
-
- B.Pascal 7 & Objects/LR - 86 -
-
- è«¡ßΓá¡Γδ Γ¿»á ¼áßß¿ó
- ─────────────────────────────────────────────────────────────────
-
- Ä»¿ßá¡¿Ñ ¬«¡ßΓá¡Γδ Γ¿»á ¼áßß¿ó ß«ñÑαª¿Γ º¡áτÑ¡¿∩ φ½Ñ¼Ñ¡Γ«ó,
- ºá¬½ετÑ¡¡δÑ ó ߬«í¬¿ ¿ αáºñѽѡ¡δÑ ºá»∩Γ묨.
-
- ┌───┐ ┌──────────────┐ ┌───┐
- ¬«¡ßΓá¡Γá-¼áßß¿ó ───>│ ( ├────>│Γ¿»¿º¿α«óá¡¡á∩├──┬─>│ ) ├──>
- └───┘ ^ │ ¬«¡ßΓá¡Γá │ │ └───┘
- │ └──────────────┘ │
- │ ┌───┐ │
- └──────┤ , │<────────┘
- └───┘
-
- Åα¿óÑñѼ »α¿¼Ñα ¬«¡ßΓá¡Γδ Γ¿»á ¼áßß¿ó:
-
- type
- Status = (Active,Passive,Waiting);
- StatusMap = array[Status] of string[7];
- const
- StatStr: StatusMap = ('Active','Passive','Waiting');
-
- é φΓ«¼ »α¿¼ÑαÑ «»αÑñѽ∩ÑΓß∩ ¬«¡ßΓá¡Γá-¼áßß¿ó StarStr, ¬«Γ«-
- αá∩ ¼«ªÑΓ ¿ß»«½∞º«óáΓ∞ß∩ ñ½∩ »αÑ«íαẫóá¡¿∩ º¡áτÑ¡¿⌐ Γ¿»á Status
- ó ß««ΓóÑΓßΓóπεΘ¿Ñ ¿¼ ßΓ᫬«óδÑ »αÑñßΓáó½Ñ¡¿∩. ¥½Ñ¼Ñ¡ΓἿ ¼áßß¿óá
- StarStr ∩ó½∩εΓß∩:
-
- StatStr[Active] = 'Active'
- StatStr[Passive] = 'Passive'
- StatStr[Waiting] = 'Waiting'
-
- Æ¿» φ½Ñ¼Ñ¡Γá ¬«¡ßΓá¡Γδ-¼áßß¿óá ¼«ªÑΓ íδΓ∞ ½εíδ¼, ¬α«¼Ñ Σá⌐-
- ½«ó«ú« Γ¿»á. ô»á¬«óá¡¡δÑ ¬«¡ßΓá¡Γδ ßΓ᫬«ó«ú« Γ¿»á (ß¿¼ó«½∞¡δÑ
- ¼áßß¿óδ) ¼«úπΓ íδΓ∞ «»αÑñÑ½Ñ¡δ ¿ ¬á¬ «ñ¿¡«τ¡δÑ ß¿¼ó«½δ, ¿ ¬á¬
- ßΓ᫬¿. Ä»αÑñѽѡ¿Ñ:
-
- const
- Digits:array[0..9] of
- char=('0','1','2','3','4','5','6','7','8','9');
-
- ¼«ª¡« »αÑñßΓáó¿Γ∞ ó í«½ÑÑ πñ«í¡«¼ ó¿ñÑ:
-
- const
- Digits: array[0..9] of char = '0123456789';
-
- Åα¿ αáºαÑΦÑ¡¿¿ αáßΦ¿αÑ¡¡«ú« ß¿¡Γá¬ß¿ßá (ß »«¼«Θ∞ε ñ¿αÑ¬Γ¿óδ
- ¬«¼»¿½∩Γ«αá {$X+}) ¼áßß¿óδ ß ¡π½Ñó«⌐ íẫ⌐ ¼«úπΓ ¿¡¿µ¿á½¿º¿α«óá-
- Γ∞ß∩ ßΓ᫬«⌐, ¬«Γ«αá∩ ¬«α«τÑ, τѼ «»¿ßá¡¡á∩ ñ½¿¡á ¼áßß¿óá, ¡á»α¿-
- ¼Ñα:
-
- const
- FileName = array[0..79] of Char = 'TEXT.PAS';
-
-
- B.Pascal 7 & Objects/LR - 87 -
-
- é Γᬿσ ß½πτá∩σ «ßΓáóΦ¿Ñß∩ ß¿¼ó«½δ πßΓá¡áó½¿óáεΓß∩ ó NULL
- (#0), ¿ ¼áßß¿ó ß«ñÑαª¿Γ ßΓ᫬π ß ºáóÑαΦáεΘ¿¼ ¡π½Ñ¼.
-
- Åα¿¼Ñτá¡¿Ñ: Å«ñα«í¡ÑÑ « ßΓ᫬áσ ß ºáóÑαΦáεΘ¿¼ ¡π½Ñ¼
- αáß߬áºδóáÑΓß∩ ó â½áóÑ 18.
-
- Åα¿ «»¿ßá¡¿¿ ¬«¡ßΓá¡Γδ Γ¿»á "¼¡«ú«¼Ñα¡δ⌐ ¼áßß¿ó" ¬«¡ßΓá¡Γδ
- ¬áªñ«⌐ αẼÑα¡«ßΓ¿ ºá¬½ετáεΓß∩ ó «Γñѽ∞¡δÑ ß¬«í¬¿ ¿ αáºñѽ∩εΓß∩
- ºá»∩Γ묨. Éáß»«½«ªÑ¡¡δÑ ó ßÑαÑñ¿¡Ñ ¬«¡ßΓá¡Γδ ß««ΓóÑΓßΓóπεΓ ßá¼δ¼
- »αáóδ¼ αẼÑα¡«ßΓ∩¼. Ä»¿ßá¡¿Ñ:
-
- type
- Cube = array[0..1,0..1,0..1] of integer;
- const
- Maze: Cube = (((0,1),(2,3)),((4,5),(6,7)));
-
- ºáñáÑΓ ß½ÑñπεΘ¿Ñ ¡áτá½∞¡δÑ º¡áτÑ¡¿∩ ¼áßß¿óá Maze:
-
- Maze[0, 0, 0] = 0
- Maze[0, 0, 1] = 1
- Maze[0, 1, 0] = 2
- Maze[0, 1, 1] = 3
- Maze[1, 0, 0] = 4
- Maze[1, 0, 1] = 5
- Maze[1, 1, 0] = 6
- Maze[1, 1, 1] = 7
-
-
-
-
- B.Pascal 7 & Objects/LR - 88 -
-
- è«¡ßΓá¡Γδ Γ¿»á ºá»¿ß∞
- ─────────────────────────────────────────────────────────────────
-
- Ä»¿ßá¡¿Ñ ¬«¡ßΓá¡Γδ Γ¿»á ºá»¿ß∞ ß«ñÑαª¿Γ ¿ñÑ¡Γ¿Σ¿¬áΓ«α ¿ º¡á-
- τÑ¡¿Ñ ¬áªñ«ú« »«½∩, ºá¬½ετÑ¡¡δÑ ó ߬«í¬¿ ¿ αáºñѽѡ¡δÑ Γ«τ¬á¼¿ ß
- ºá»∩Γ«⌐.
-
- ¬«¡ßΓá¡Γá-ºá»¿ß∞
- │ ┌───┐ ┌─────────────┐ ┌───┐ ┌──────────────┐ ┌───┐
- └─>│ ( ├───>│¿ñÑ¡Γ¿Σ¿¬áΓ«α├─>│ : ├─>│Γ¿»¿º¿α«óá¡¡á∩├─┬─>│ ) ├─>
- └───┘ ^ │ »«½∩ │ └───┘ │ ¬«¡ßΓá¡Γá │ │ └───┘
- │ └─────────────┘ └──────────────┘ │
- │ ┌───┐ │
- └───────────────────┤ ; │<──────────────────┘
- └───┘
-
- Åα¿óÑñѼ ¡Ñ߬«½∞¬« »α¿¼Ñα«ó ¬«¡ßΓá¡Γ-ºá»¿ßÑ⌐:
-
- type
- Point = record
- x,y: real;
- end;
- Vector = array[0..1] of Point;
- Month =
- (Jan,Feb,Mar,Apr,May,Jun,Jly,Aug,Sep,Oct,Nov,Dec);
- Date = record
- d: 1..31; m: Month; y: 1900..1999;
- end;
- const
- Origin : Point = (x: 0.0; y: 0.0);
- Line : Vector = ((x: -3.1; y: 1.5),(x: 5.8; y: 3.0));
- SomeDay : Date = (d: 2; m: Dec; y: 1960);
-
- Å«½∩ ñ«½ª¡δ π¬áºδóáΓ∞ß∩ ó Γ«¼ ªÑ »«α∩ñ¬Ñ, ¬á¬ «¡¿ ß½ÑñπεΓ ó
- «»¿ßá¡¿¿ Γ¿»á ºá»¿ß∞. àß½¿ ºá»¿ß∞ ß«ñÑαª¿Γ »«½∩ Σá⌐½«ó«ú« Γ¿»á,
- Γ« ñ½∩ φΓ«ú« Γ¿»á ºá»¿ß∞ ¡Ñ½∞º∩ «»¿ßáΓ∞ ¬«¡ßΓá¡Γπ. àß½¿ ºá»¿ß∞
- ß«ñÑαª¿Γ óáα¿á¡Γ, Γ« ¼«ª¡« π¬áºδóáΓ∞ Γ«½∞¬« »«½∩ óδíαá¡¡«ú« óáα¿-
- á¡Γá. àß½¿ óáα¿á¡Γ ß«ñÑαª¿Γ »«½Ñ »α¿º¡á¬á, Γ« Ñú« º¡áτÑ¡¿Ñ ñ«½ª¡«
- íδΓ∞ «»αÑñѽѡ«.
-
-
- B.Pascal 7 & Objects/LR - 89 -
-
-
- è«¡ßΓá¡Γδ «íΩÑ¬Γ¡«ú« Γ¿»á
- ─────────────────────────────────────────────────────────────────
-
- Åα¿ «»¿ßá¡¿¿ ¬«¡ßΓá¡Γδ «íΩÑ¬Γ¡«ú« Γ¿»á ¿ß»«½∞ºπÑΓß∩ ëà ªÑ
- ß¿¡Γá¬ß¿ß, τΓ« ¿ »α¿ «»¿ßá¡¿¿ ¬«¡ßΓá¡Γδ Γ¿»á ºá»¿ß∞. ç¡áτÑ¡¿∩ ñ½∩
- φ½Ñ¼Ñ¡Γ«ó (¬«¼»«¡Ñ¡Γ«ó) ¼ÑΓ«ñá ºáñáóáΓ∞ß∩ ¡Ñ ¼«úπΓ. æ πτÑΓ«¼ »α¿-
- ó«ñ¿¼δσ αá¡ÑÑ «»¿ßá¡¿⌐ «íΩÑ¬Γ¡δσ Γ¿»«ó, »α¿óÑñѼ ¡Ñ¬«Γ«αδÑ »α¿¼Ñ-
- αδ ¬«¡ßΓá¡Γ «íΩÑ¬Γ¡«ú« Γ¿»á:
-
- const
- ZeroPoint: Point = (X: 0; Y: 0)
- ScreenRect: Rect = (A: (X: 0; Y: 0); B: (X: 80; Y: 25);
- CountField: NumField = (X: 5; Y: 20; Len: 4; Name: nil;
- Value: 0; Min: -999; Max: 999);
-
- è«¡ßΓá¡Γδ «íΩÑ¬Γ¡«ú« Γ¿»á, ¬«Γ«αδÑ ß«ñÑαªáΓ ó¿αΓπá½∞¡δÑ ¼Ñ-
- Γ«ñδ, ¡Ñ ΓαÑíπÑΓß∩ ¿¡¿µ¿á½¿º¿α«óáΓ∞ ß »«¼«Θ∞ε ó맮óá ¬«¡ßΓαπ¬Γ«-
- αá. ¥Γá ¿¡¿µ¿á½¿ºáµ¿∩ áóΓ«¼áΓ¿τÑ߬¿ óδ»«½¡∩ÑΓß∩ ¬«¼»¿½∩Γ«α«¼.
-
-
-
-
- B.Pascal 7 & Objects/LR - 90 -
-
- è«¡ßΓá¡Γδ ¼¡«ªÑßΓóÑ¡¡«ú« Γ¿»á
- ─────────────────────────────────────────────────────────────────
-
- Ä»¿ßá¡¿Ñ ¬«¡ßΓá¡Γδ ¼¡«ªÑßΓóÑ¡¡«ú« Γ¿»á ¼«ªÑΓ ß«ñÑαªáΓ∞ ¡Ñß-
- ¬«½∞¬« φ½Ñ¼Ñ¡Γ«ó, ºá¬½ετÑ¡¡δσ ó ¬óáñαáΓ¡δÑ ß¬«í¬¿ ¿ αáºñѽѡ¡δσ
- ºá»∩Γ묨. èáªñδ⌐ φ½Ñ¼Ñ¡Γ Γᬫ⌐ ¬«¡ßΓá¡Γδ »αÑñßΓáó½∩ÑΓ ß«í«⌐ ¬«¡ß-
- Γá¡Γπ ¿½¿ «ΓαѺ«¬ Γ¿»á, ß«ßΓ«∩Θ¿⌐ ¿º ñóπσ ¬«¡ßΓá¡Γ, αáºñѽѡ¡δσ
- ñóπ¼∩ Γ«τ¬á¼¿.
-
- ┌───┐ ┌───┐
- ¬«¡ßΓá¡Γá-¼¡«ªÑßΓó« ─>│ [ ├─┬────────────────────────────>│ ] ├>
- └───┘ │ ┌─────────────────┐ ^ └───┘
- └───>│¬«¡ßΓá¡Γá-φ½Ñ¼Ñ¡Γ├─┬─┘
- ^ └─────────────────┘ │
- │ ┌───┐ │
- └────────┤ , │<────────┘
- └───┘
-
- ┌─────────┐
- ¬«¡ßΓá¡Γá-φ½Ñ¼Ñ¡Γ ────>│¬«¡ßΓá¡Γá├──┬─────────────────────────>
- └─────────┘ │ ┌──┐ ┌─────────┐ ^
- └─>│..├──>│¬«¡ßΓá¡Γá├──┘
- └──┘ └─────────┘
-
- Åα¿óÑñѼ ¡Ñ߬«½∞¬« »α¿¼Ñα«ó ¬«¡ßΓá¡Γ-¼¡«ªÑßΓó:
-
- type
- Digits = set of 0..9;
- Letters = set of 'A'..'Z';
- const
- EvenDigits: Digits = [0,2,4,6,8];
- Vowels : Letters = ['A','E','I','O','U','Y'];
- HexDigits : set of '0'..'z' =
- ['0'..'9','A'..'F','a'..'f'];
-
-
-
-
- B.Pascal 7 & Objects/LR - 91 -
-
- è«¡ßΓá¡Γδ ßß佫τ¡«ú« Γ¿»á
- ─────────────────────────────────────────────────────────────────
-
- Ä»¿ßá¡¿Ñ ¬«¡ßΓá¡Γδ ßß佫τ¡«ú« Γ¿»á ¼«ªÑΓ ß«ñÑαªáΓ∞ Γ«½∞¬«
- º¡áτÑ¡¿Ñ nil (»πßΓ«). Åα¿óÑñѼ ¡Ñ߬«½∞¬« »α¿¼Ñα«ó:
-
- type
- TDirection = (Left, Right, Up, Down);
- TStringPtr = ^String;
- TNodePtr = ^Node;
- TNode = record
- Next: NodePtr;
- Symbol: StringPtr;
- Value: Direction;
- end;
- const
- S1: string[4] = 'DOWN';
- S2: string[2] = 'UP';
- S3: string[5] = 'RIGHT';
- S4: string[4] = 'LEFT';
- N1: Node = (Next: nil; Symbol: @S1; Value: Down);
- N2: Node = (Next: @N1; Symbol: @S2; Value: Up);
- N3: Node = (Next: @N2; Symbol: @S3; Value: Right);
- N2: Node = (Next: @N3; Symbol: @S4; Value: Left);
- DirectionTable: NodePtr = @N4;
-
- àß½¿ αáºαÑΦÑ¡ αáßΦ¿αÑ¡¡δ⌐ ß¿¡Γá¬ß¿ß (π¬áºá¡á ñ¿αÑ¬Γ¿óá ¬«¼-
- »¿½∩Γ«αá {$X+}), Γ¿»¿º¿α«óá¡¡á∩ ¬«¡ßΓá¡Γá Γ¿»á PChar ¼«ªÑΓ ¿¡¿µ¿-
- ὿º¿α«óáΓ∞ß∩ ßΓ᫬«ó«⌐ ¬«¡ßΓá¡Γ«⌐, ¡á»α¿¼Ñα:
-
- const
- Message: PChar = 'Åα«úαá¼¼á ºáóÑαΦÑ¡á';
- Prompt: PChar = 'éóÑñ¿ΓÑ º¡áτÑ¡¿∩: ';
- Digits: array[0..9] of PChar = (
- '쫽∞', 'Äñ¿¡', 'äóá', 'Æα¿', 'ùÑΓδαÑ',
- 'Å∩Γ∞', 'ÿÑßΓ∞', 'æÑ¼∞', 'é«ßѼ∞', 'äÑó∩Γ∞');
-
- ÉѺπ½∞ΓáΓ«¼ íπñÑΓ Γ«, τΓ« π¬áºáΓѽ∞ ΓÑ»Ñα∞ π¬áºδóáÑΓ ¡á «í-
- ½áßΓ∞ »á¼∩Γ¿, ß«ñÑαªáΘπε ¬«»¿ε ßΓ᫬«ó«ú« ½¿ΓÑαá½á ß ºáóÑαΦáεΘ¿¼
- ¡π½Ñ¼. Å«ñα«í¡«ßΓ¿ óδ ¼«ªÑΓÑ ¡á⌐Γ¿ ó â½áóÑ 18 "æΓ᫬¿ ß ºáóÑαΦáε-
- Θ¿¼ ¡π½Ñ¼".
-
-
-
-
- B.Pascal 7 & Objects/LR - 92 -
-
- è«¡ßΓá¡Γδ »α«µÑñπα¡«ú« Γ¿»á
- ─────────────────────────────────────────────────────────────────
-
- è«¡ßΓá¡Γδ »α«µÑñπα¡«ú« Γ¿»á ñ«½ª¡δ «»αÑñѽ∩Γ∞ ¿ñÑ¡Γ¿Σ¿¬áΓ«α
- »α«µÑñπαδ ¿½¿ Σπ¡¬µ¿¿, ß«ó¼ÑßΓ¿¼δ⌐ »« »α¿ßóá¿óá¡¿ε ß Γ¿»«¼ ¬«¡ß-
- Γá¡Γδ.
-
- ┌─────────────────┐
- »α«µÑñπα¡á∩ ¬«¡ßΓá¡Γá ──────┬───>│¬«¡ßΓá¡Γá-φ½Ñ¼Ñ¡Γ├───────────>
- │ └─────────────────┘ ^
- │ ┌─────────────────┐ │
- ├───>│¬«¡ßΓá¡Γá-φ½Ñ¼Ñ¡Γ├───┤
- │ └─────────────────┘ │
- │ ┌───┐ │
- └─────────>│nil├───────────┘
- └───┘
-
- Åα¿óÑñѼ ß½ÑñπεΘ¿⌐ »α¿¼Ñα:
-
- type
- ErrorProc = procedure(ErrorCode: Integer);
-
- procedure DefaultError(ErrorCode: Integer); far;
- begin
- WriteLn('Error ', ErrorCode, '.');
- end;
-
- const
- ErrorHandler: ErrorProc = DefaultError;
-
-
-
-
- B.Pascal 7 & Objects/LR - 93 -
-
- ───────────────────────────────────────────────────────────────────────
- â½áóá 6. éδαáªÑ¡¿∩
- ─────────────────────────────────────────────────────────────────
-
- éδαáªÑ¡¿∩ ß«ßΓ«∩Γ ¿º «»Ñαᵿ⌐ ¿ «»Ñαá¡ñ«ó. ü«½∞Φ¿¡ßΓó« «»Ñ-
- αᵿ⌐ ó ∩ºδ¬Ñ Åá߬á½∞ ∩ó½∩εΓß∩ í¿¡áα¡δ¼¿, Γ« ÑßΓ∞ ß«ñÑαªáΓ ñóá
- «»Ñαá¡ñá. ÄßΓá½∞¡δÑ «»Ñαᵿ¿ ∩ó½∩εΓß∩ π¡áα¡δ¼¿ ¿ ß«ñÑαªáΓ Γ«½∞¬«
- «ñ¿¡ «»Ñαá¡ñ. é í¿¡áα¡δσ «»Ñαᵿ∩σ ¿ß»«½∞ºπÑΓß∩ «íδτ¡«Ñ á½úÑíαá¿-
- τÑ߬«Ñ »αÑñßΓáó½Ñ¡¿Ñ, ¡á»α¿¼Ñα: a+b. é π¡áα¡δσ «»Ñαᵿ∩σ «»Ñαᵿ∩
- óßÑúñá »αÑñΦÑßΓóπÑΓ «»Ñαá¡ñπ, ¡á»α¿¼Ñα: -b.
-
- é í«½ÑÑ ß½«ª¡δσ óδαáªÑ¡¿∩σ »«α∩ñ«¬, ó ¬«Γ«α«¼ óδ»«½¡∩εΓß∩
- «»Ñαᵿ¿, ß««ΓóÑΓßΓóπÑΓ »α¿«α¿ΓÑΓπ «»Ñαᵿ⌐ (ß¼. Æáí½¿µπ 6.1).
-
- æΓáαΦ¿¡ßΓó« «»Ñαᵿ⌐ Æáí½¿µá 6.1
- ┌────────────────────┬─────────────────────┬────────────────────┐
- │ Ä»Ñαᵿ∩ │ Åα¿«α¿ΓÑΓ │ é¿ñ «»Ñαᵿ¿ │
- ├────────────────────┼─────────────────────┼────────────────────┤
- │ @, not │ »Ñαóδ⌐ (óδßΦ¿⌐) │ π¡áα¡á∩ «»Ñαᵿ∩ │
- ├────────────────────┼─────────────────────┼────────────────────┤
- │ *, /, div, mod, │ óΓ«α«⌐ │ «»Ñαᵿ∩ π¼¡«ªÑ¡¿∩,│
- │ and, shl, shr │ │ ñѽѡ¿∩, ßñó¿úá... │
- ├────────────────────┼─────────────────────┼────────────────────┤
- │ +, -, or, xor │ ΓαÑΓ¿⌐ │ «»Ñαᵿ∩ ß½«ªÑ¡¿∩ │
- ├────────────────────┼─────────────────────┼────────────────────┤
- │ =, <>, <, >, │ τÑΓóÑαΓδ⌐ (¡¿ºΦ¿⌐) │ «»Ñαᵿ∩ «Γ¡«ΦÑ¡¿∩ │
- │ <=, >=, in │ │ │
- └────────────────────┴─────────────────────┴────────────────────┘
-
- ä½∩ «»αÑñѽѡ¿¿ ßΓáαΦ¿¡ßΓóá «»Ñαᵿ⌐ ¿¼ÑÑΓß∩ Γα¿ «ß¡«ó¡δσ
- »αáó¿½á:
-
- 1. é«-»Ñαóδσ, «»Ñαá¡ñ, ¡áσ«ñ∩Θ¿⌐ß∩ ¼Ñªñπ ñóπ¼∩ «»Ñαᵿ∩¼¿ ß
- αẽ¿τ¡δ¼¿ »α¿«α¿ΓÑΓἿ, ßó∩ºδóáÑΓß∩ ß «»ÑαᵿÑ⌐, ¿¼Ñε-
- ΘÑ⌐ í«½ÑÑ óδß«¬¿⌐ »α¿«α¿ΓÑΓ.
-
- 2. é«-óΓ«αδσ, «»Ñαᵿ∩, ¡áσ«ñ∩Θá∩ß∩ ¼Ñªñπ ñóπ¼∩ «»Ñαᵿ∩¼¿
- ß αáó¡δ¼¿ »α¿«α¿ΓÑΓἿ, ßó∩ºδóáÑΓß∩ ß Γ«⌐ «»ÑαᵿÑ⌐, ¬«-
- Γ«αá∩ ¡áσ«ñ¿Γß∩ ß½Ñóá «Γ ¡Ñú«.
-
- 3. é-ΓαÑΓ∞¿σ, óδαáªÑ¡¿Ñ, ºá¬½ετÑ¡¡«Ñ ó ߬«í¬¿, »ÑαÑñ óδ»«½-
- ¡Ñ¡¿Ñ¼ óδτ¿ß½∩ÑΓß∩, ¬á¬ «Γñѽ∞¡δ⌐ «»Ñαá¡ñ.
-
- Ä»Ñαᵿ¿ ß αáó¡δ¼ »α¿«α¿ΓÑΓ«¼ «íδτ¡« óδ»«½¡∩εΓß∩ ß½Ñóá-¡á»-
- αáó«, σ«Γ∩ ¿¡«úñá ¬«¼»¿½∩Γ«α »α¿ úÑ¡Ñαᵿ¿ «»Γ¿¼á½∞¡«ú« ¬«ñá ¼«-
- ªÑΓ »ÑαÑπ»«α∩ñ«τ¿Γ∞ «»Ñαá¡ñδ.
-
-
-
-
- B.Pascal 7 & Objects/LR - 94 -
-
- æ¿¡Γá¬ß¿ß óδαáªÑ¡¿⌐
- ─────────────────────────────────────────────────────────────────
-
- Åαáó¿½á, «»αÑñѽ∩εΘ¿Ñ »«α∩ñ«¬ óδ»«½¡Ñ¡¿∩ «»Ñαᵿ⌐, óδΓѬáεΓ
- ¿º ß¿¡Γá¬ß¿ßá óδαáªÑ¡¿⌐, ¬«Γ«αδÑ ßΓα«∩Γß∩ ¿º ¼¡«ª¿ΓѽÑ⌐, ΓÑମó ¿
- »α«ßΓδσ óδαáªÑ¡¿⌐.
-
- î¡«ª¿Γѽ∞ ¿¼ÑÑΓ ß½ÑñπεΘ¿⌐ ß¿¡Γá¬ß¿ß:
-
- ┌───────────────┐
- ¼¡«ª¿Γѽ∞ ───┬──────────────>│ ßßδ½¬á ¡á ├───────────>
- │ │ »ÑαѼѡ¡πε │ ^
- │ └───────────────┘ │
- │ ┌─────────┐ │
- ├────>│¬«¡ßΓá¡Γá├──────────────────────┤
- │ │íѺ º¡á¬á│ │
- │ └─────────┘ │
- │ ┌───┐ ┌─────────┐ ┌───┐ │
- ├────>│ ( ├────>│óδαáªÑ¡¿Ñ│───>│ ) ├───┤
- │ └───┘ └─────────┘ └───┘ │
- │ ┌───┐ ┌─────────┐ │
- ├────>│not├────>│¼¡«ª¿Γѽ∞├────────────┤
- │ └───┘ └─────────┘ │
- │ ┌────┐ ┌─────────┐ │
- ├────>│º¡á¬├───>│¼¡«ª¿Γѽ∞├────────────┤
- │ └────┘ └─────────┘ │
- │ ┌─────────┐ │
- ├────>│ ó맮ó ├──────────────────────┤
- │ │ Σπ¡¬µ¿¿ │ │
- │ └─────────┘ │
- │ ┌───────────┐ │
- ├────>│¬«¡ßΓαπ¬Γ«α├────────────────────┤
- │ │ ¼¡«ªÑßΓóá │ │
- │ └───────────┘ │
- │ ┌───────────┐ │
- ├────>│ áñαÑß¡δ⌐ ├────────────────────┤
- │ │ ¼¡«ª¿Γѽ∞ │ │
- │ └───────────┘ │
- │ ┌──────────────┐ │
- └────>│ »α¿óÑñÑ¡¿Ñ ├─────────────────┘
- │Γ¿»á º¡áτÑ¡¿∩ │
- └──────────────┘
-
- é맮ó Σπ¡¬µ¿¿ á¬Γ¿ó¿º¿απÑΓ Σπ¡¬µ¿ε ¿ »αÑñßΓáó½∩ÑΓ ß«í«⌐ º¡á-
- τÑ¡¿∩, ó«ºóαáΘáѼδÑ Σπ¡¬µ¿Ñ⌐ (ß¼. ñá½ÑÑ ó φΓ«⌐ ú½áóÑ αáºñѽ "éδ-
- º«óδ Σπ¡¬µ¿⌐"). Ä»¿ßáΓѽ∞ ¼¡«ªÑßΓóá »αÑñßΓáó½∩ÑΓ ß«í«⌐ º¡áτÑ¡¿Ñ
- ¼¡«ªÑßΓóÑ¡¡«ú« Γ¿»á (ß¼. αáºñѽ, «ºáú½áó½Ñ¡¡δ⌐, ¬á¬ "Ä»¿ßá¡¿Ñ
- ¼¡«ªÑßΓó"). Åα¿óÑñÑ¡¿Ñ Γ¿»á ¿º¼Ñ¡∩ÑΓ Γ¿» º¡áτÑ¡¿∩ (ß¼. "Åα¿óÑñÑ-
- ¡¿Ñ Γ¿»á").
-
- ÇñαÑß¡δ⌐ ¼¡«ª¿Γѽ∞ óδτ¿ß½∩ÑΓ áñαÑß »ÑαѼѡ¡«⌐, »α«µÑñπαδ,
- Σπ¡¬µ¿¿ ¿½¿ ¼ÑΓ«ñá. æ¼. αáºñѽ "Ä»Ñαᵿ∩ @".
-
-
- B.Pascal 7 & Objects/LR - 95 -
-
- üѺº¡á¬«óá∩ ¬«¡ßΓá¡Γá ¿¼ÑÑΓ ß½ÑñπεΘ¿⌐ ß¿¡Γá¬ß¿ß:
-
- ┌─────────┐
- ¬«¡ßΓá¡Γá íѺ º¡á¬á ───┬────>│ τ¿ß½« ├─────────────>
- │ │íѺ º¡á¬á│ ^
- │ └─────────┘ │
- │ ┌──────────┐ │
- ├────>│ß¿¼ó«½∞¡á∩├────────┤
- │ │ ßΓ᫬á │ │
- │ └──────────┘ │
- │ ┌─────────────┐ │
- ├────>│¿ñÑ¡Γ¿Σ¿¬áΓ«α├─────┤
- │ │ ¬«¡ßΓá¡Γδ │ │
- │ └─────────────┘ │
- │ ┌───┐ │
- └────>│nil├───────────────┘
- └───┘
-
- ìѬ«Γ«αδÑ »α¿¼Ñαδ ¼¡«ª¿ΓѽÑ⌐ ¼«úπΓ ó¬½ετáΓ∞ ó ßÑí∩:
-
- ò { ßßδ½¬á ¡á »ÑαѼѡ¡πε }
- @ò { π¬áºáΓѽ∞ ¡á »ÑαѼѡ¡πε }
- 15 { ¬«¡ßΓá¡Γá íѺ º¡á¬á }
- (ò+Y+Z) { »«ñóδαáªÑ¡¿Ñ }
- SIN(ò/2) { ó맮ó Σπ¡¬µ¿¿ }
- ['0..''9','Ç'..'Z'] { «»¿ßáΓѽ∞ ¼¡«ªÑßΓóá }
- not Done { «Γα¿µá¡¿Ñ íπ½Ñó߬«⌐ »ÑαѼѡ¡«⌐ }
- ßhar(Digit+48) { ¡áº¡áτÑ¡¿Ñ Γ¿»á }
-
-
- B.Pascal 7 & Objects/LR - 96 -
-
- ÆÑα¼δ ¿ß»«½∞ºπεΓß∩ ó «»Ñαᵿ∩σ π¼¡«ªÑ¡¿∩ ¡á ¼¡«ª¿Γѽ∞:
-
- ┌─────────┐
- ΓÑα¼ ────────>│¼¡«ª¿Γѽ∞├───┬──────>
- ^ └─────────┘ │
- │ ┌───┐ │
- ├─────┤ * │<────────┤
- │ └───┘ │
- │ ┌───┐ │
- ├─────┤ / │<────────┤
- │ └───┘ │
- │ ┌───┐ │
- ├─────┤div│<────────│
- │ └───┘ │
- │ ┌───┐ │
- ├─────┤mod│<────────│
- │ └───┘ │
- │ ┌───┐ │
- ├─────┤and│<────────│
- │ └───┘ │
- │ ┌───┐ │
- ├─────┤shl│<────────│
- │ └───┘ │
- │ ┌───┐ │
- └─────┤shr│<────────┘
- └───┘
-
-
- B.Pascal 7 & Objects/LR - 97 -
-
-
- Åα¿óÑñѼ ¡Ñ߬«½∞¬« »α¿¼Ñα«ó ΓÑମó:
-
- ò * Y
- Z / (1 - Z)
- Done or Error
- (ò <= Y) and (Y < Z)
-
- é »α«ßΓδσ óδαáªÑ¡¿∩σ ¬ ΓÑα¼á¼ »α¿¼Ñ¡∩εΓß∩ «»Ñαᵿ¿ ß½«ªÑ¡¿∩
- ¿ »α¿ßóá¿óá¡¿∩ º¡á¬á:
-
- ┌───────┐
- »α«ßΓ«Ñ óδαáªÑ¡¿Ñ ────────>│ ΓÑα¼ ├───┬────>
- ^ └───────┘ │
- │ ┌───┐ │
- ├─────┤ + │<──────┤
- │ └───┘ │
- │ ┌───┐ │
- ├─────┤ - │<──────┤
- │ └───┘ │
- │ ┌───┐ │
- ├─────┤ or│<──────│
- │ └───┘ │
- │ ┌───┐ │
- └─────┤xor│<──────┘
- └───┘
-
- Åα¿óÑñѼ ¡Ñ߬«½∞¬« »α¿¼Ñα«ó »α«ßΓδσ óδαáªÑ¡¿⌐:
-
- ò + Y
- -ò
- Hue1 + Hue2
- I * J + 1
-
-
- B.Pascal 7 & Objects/LR - 98 -
-
-
- é óδαáªÑ¡¿∩σ ¬ »α«ßΓδ¼ óδαáªÑ¡¿∩¼ »α¿¼Ñ¡∩εΓß∩ «»Ñαᵿ¿ «Γ¡«-
- ΦÑ¡¿∩.
-
- ┌─────────┐
- óδαáªÑ¡¿Ñ ────>│ »α«ßΓ«Ñ ├──┬───────────────────────────────>
- │óδαáªÑ¡¿Ñ│ │ ^
- └─────────┘ │ ┌───┐ ┌─────────┐ │
- ├─>│ < ├──────>│ »α«ßΓ«Ñ ├──┘
- │ └───┘ ^ │óδαáªÑ¡¿Ñ│
- │ ┌───┐ │ └─────────┘
- ├─>│<= ├──┤
- │ └───┘ │
- │ ┌───┐ │
- ├─>│ > ├──┤
- │ └───┘ │
- │ ┌───┐ │
- ├─>│>= ├──┤
- │ └───┘ │
- │ ┌───┐ │
- ├─>│ = ├──┤
- │ └───┘ │
- │ ┌───┐ │
- ├─>│<> ├──┤
- │ └───┘ │
- │ ┌───┐ │
- └─>│in ├──┘
- └───┘
-
- Åα¿óÑñѼ ¡Ñ¬«Γ«αδÑ »α¿¼Ñαδ óδαáªÑ¡¿⌐:
-
- ò = 1.5
- Done <> Error
- (I < J) = (J < è)
- C in Huel
-
-
-
- B.Pascal 7 & Objects/LR - 99 -
-
- Ä»Ñαᵿ¿
- ─────────────────────────────────────────────────────────────────
-
- Ä»Ñαᵿ¿ »«ñαáºñѽ∩εΓß∩ ¡á áα¿Σ¼ÑΓ¿τÑ߬¿Ñ «»Ñαᵿ¿, ½«ú¿τÑß-
- ¬¿Ñ «»Ñαᵿ¿, «»Ñαᵿ¿ ß« ßΓα«¬á¼¿, «»Ñαᵿ¿ ¡áñ ¼¡«ªÑßΓóἿ,
- «»Ñαᵿ¿ «Γ¡«ΦÑ¡¿∩ ¿ «»Ñαᵿε @ («»Ñαᵿ∩ »«½πτÑ¡¿∩ áñαÑßá).
-
- Çα¿Σ¼ÑΓ¿τÑ߬¿Ñ «»Ñαᵿ¿
- ─────────────────────────────────────────────────────────────────
-
- é ß½ÑñπεΘÑ⌐ Γáí½¿µÑ »α¿óÑñÑ¡δ Γ¿»δ «»Ñαá¡ñ«ó ¿ αѺπ½∞ΓáΓδ
- ñ½∩ í¿¡áα¡δσ ¿ π¡áα¡δσ áα¿Σ¼ÑΓ¿τÑ߬¿σ «»Ñαᵿ⌐:
-
- ü¿¡áα¡δÑ áα¿Σ¼ÑΓ¿τÑ߬¿Ñ «»Ñαᵿ¿ Æáí½¿µá 6.2
- ┌───────────┬──────────────┬──────────────────┬─────────────────┐
- │ Ä»Ñαᵿ∩ │ äÑ⌐ßΓó¿Ñ │ Æ¿»δ «»Ñαá¡ñ«ó │ Æ¿» αѺπ½∞ΓáΓá │
- ├───────────┼──────────────┼──────────────────┼─────────────────┤
- │ + │ 潫ªÑ¡¿Ñ │ ûѽδ⌐ │ ûѽδ⌐ │
- │ │ │ éÑΘÑßΓóÑ¡¡δ⌐ │ éÑΘÑßΓóÑ¡¡δ⌐ │
- ├───────────┼──────────────┼──────────────────┼─────────────────┤
- │ - │ éδτ¿Γá¡¿Ñ │ ûѽδ⌐ │ ûѽδ⌐ │
- │ │ │ éÑΘÑßΓóÑ¡¡δ⌐ │ éÑΘÑßΓóÑ¡¡δ⌐ │
- ├───────────┼──────────────┼──────────────────┼─────────────────┤
- │ * │ ô¼¡«ªÑ¡¿Ñ │ ûѽδ⌐ │ ûѽδ⌐ │
- │ │ │ éÑΘÑßΓóÑ¡¡δ⌐ │ éÑΘÑßΓóÑ¡¡δ⌐ │
- ├───────────┼──────────────┼──────────────────┼─────────────────┤
- │ / │ äѽѡ¿Ñ │ ûѽδ⌐ │ éÑΘÑßΓóÑ¡¡δ⌐ │
- │ │ │ éÑΘÑßΓóÑ¡¡δ⌐ │ éÑΘÑßΓóÑ¡¡δ⌐ │
- ├───────────┼──────────────┼──────────────────┼─────────────────┤
- │ div │ ûѽ«τ¿ß½Ñ¡¡«Ñ│ │ │
- │ │ ñѽѡ¿Ñ │ ûѽδ⌐ │ ûѽδ⌐ │
- ├───────────┼──────────────┼──────────────────┼─────────────────┤
- │ mod │ ÄßΓáΓ«¬ │ ûѽδ⌐ │ ûѽδ⌐ │
- └───────────┴──────────────┴──────────────────┴─────────────────┘
-
- Åα¿¼Ñτá¡¿Ñ: Ä»Ñαᵿ∩ + ¿ß»«½∞ºπÑΓß∩ ΓᬪÑ, ¬á¬ «»Ñαá-
- µ¿∩ ñ½∩ αáí«Γδ ß« ßΓα«¬á¼¿ ¿ ¼¡«ªÑßΓóἿ. Ä»Ñαᵿ¿ +, - ¿ *
- ¿ß»«½∞ºπεΓß∩ Γá¬ªÑ ñ½∩ «»Ñαᵿ⌐ ¡áñ ¼¡«ªÑßΓóἿ.
-
-
-
- B.Pascal 7 & Objects/LR - 100 -
-
- ô¡áα¡δÑ áα¿Σ¼ÑΓ¿τÑ߬¿Ñ «»Ñαᵿ¿
- Æáí½¿µá 6.3
- ┌───────────┬──────────────┬──────────────────┬─────────────────┐
- │ Ä»Ñαᵿ∩ │ äÑ⌐ßΓó¿Ñ │ Æ¿» «»Ñαá¡ñá │ Æ¿» αѺπ½∞ΓáΓá │
- ├───────────┼──────────────┼──────────────────┼─────────────────┤
- │ + │ æ«σαá¡Ñ¡¿Ñ │ ûѽδ⌐ │ ûѽδ⌐ │
- │ │ º¡á¬á │ éÑΘÑßΓóÑ¡¡δ⌐ │ éÑΘÑßΓóÑ¡¡δ⌐ │
- ├───────────┼──────────────┼──────────────────┼─────────────────┤
- │ - │ ÄΓα¿µá¡¿Ñ │ ûѽδ⌐ │ ûѽδ⌐ │
- │ │ º¡á¬á │ éÑΘÑßΓóÑ¡¡δ⌐ │ éÑΘÑßΓóÑ¡¡δ⌐ │
- └───────────┴──────────────┴──────────────────┴─────────────────┘
-
- ïεíá∩ «»Ñαᵿ∩, ó¬½ετáεΘá∩ «»Ñαá¡ñ, Γ¿» ¬«Γ«α«ú« ∩ó½∩ÑΓß∩
- »«ñ¼¡«ªÑßΓó«¼ »«α∩ñ¬«ó«ú« Γ¿»á, «íαáíáΓδóáÑΓß∩ ΓᬪÑ, ¬á¬ Ñß½¿ íδ
- «¡ íδ½ »«α∩ñ¬«ó«ú« Γ¿»á.
-
- àß½¿ «íá «»Ñαá¡ñá ó «»Ñαᵿ∩σ +, -, *, div ¿½¿ ¼«d ∩ó½∩εΓß∩
- «»Ñαá¡ñἿ µÑ½«ú« Γ¿»á, Γ« Γ¿» αѺπ½∞ΓáΓá íπñÑΓ Γᬿ¼ ªÑ, ¬á¬ «í-
- Θ¿⌐ Γ¿» «í«¿σ «»Ñαá¡ñ«ó. (Ä»αÑñѽѡ¿Ñ «íΘÑú« Γ¿»á ß¼. ó αáºñѽÑ
- "ûѽδ⌐ Γ¿»" ó â½áóÑ 3).
-
- àß½¿ «ñ¿¡ ¿½¿ í«½ÑÑ «»Ñαá¡ñ«ó ó «»Ñαᵿ∩σ +, -, ¿½¿ * ¿¼ÑεΓ
- óÑΘÑßΓóÑ¡¡δ⌐ Γ¿», Γ« Γ¿» αѺπ½∞ΓáΓá íπñÑΓ óÑΘÑßΓóÑ¡¡δ¼, Ñß½¿ ¿ß-
- »«½∞º«óá¡á ñ¿αÑ¬Γ¿óá ¬«¼»¿½∩Γ«αá {$N-}, ¿½¿ Γ¿»«¼ ß »«óδΦÑ¡¡«⌐
- Γ«τ¡«ßΓ∞ε »α¿ ¿ß»«½∞º«óá¡¿¿ ñ¿αÑ¬Γ¿óδ ¬«¼»¿½∩Γ«αá {$N+}.
-
- àß½¿ »α¿ ¿ß»«½∞º«óá¡¿¿ «»Ñαᵿ¿ ß«σαá¡Ñ¡¿∩ º¡á¬á ¿½¿ «»Ñαá-
- µ¿¿ «Γα¿µá¡¿∩ º¡á¬á «»Ñαá¡ñ ¿¼ÑÑΓ µÑ½δ⌐ Γ¿», Γ« αѺπ½∞ΓáΓ íπñÑΓ
- Γ«ªÑ µÑ½«ú« Γ¿»á. àß½¿ «»Ñαá¡ñ óÑΘÑßΓóÑ¡¡«ú« Γ¿»á, Γ« Γ¿» αѺπ½∞-
- ΓáΓá íπñÑΓ óÑΘÑßΓóÑ¡¡δ¼ ¿½¿ Γ¿»«¼ ß »«óδΦÑ¡¡«⌐ Γ«τ¡«ßΓ∞ε
- (extended).
-
- ç¡áτÑ¡¿Ñ óδαáªÑ¡¿∩ σ/π óßÑúñá íπñÑΓ óÑΘÑßΓóÑ¡¡«ú« Γ¿»á
- (real) ¿½¿ ß »«óδΦÑ¡¡«⌐ Γ«τ¡«ßΓ∞ε (extended), ¡Ñºáó¿ß¿¼« «Γ Γ¿»«ó
- «»Ñαá¡ñ«ó. àß½¿ π αáó¡« 0, Γ« αѺπ½∞ΓáΓ íπñÑΓ «Φ¿í«τ¡δ¼.
-
- ç¡áτÑ¡¿Ñ óδαáªÑ¡¿Ñ i div j »αÑñßΓáó½∩ÑΓ ß«í«⌐ ¼áΓѼáΓ¿τÑ߬«Ñ
- τáßΓ¡«Ñ «Γ i/j, «¬απú½Ñ¡¡«Ñ ó ¼Ñ¡∞Φπε ßΓ«α«¡π ñ« º¡áτÑ¡¿∩ µÑ½«ú«
- Γ¿»á. àß½¿ j αáó¡« 0, αѺπ½∞ΓáΓ íπñÑΓ «Φ¿í«τ¡δ¼.
-
- Ä»Ñαᵿ∩ mod ó«ºóαáΘáÑΓ «ßΓáΓ«¬, »«½πτÑ¡¡δ⌐ »πΓѼ ñѽѡ¿∩
- ñóπσ ÑÑ «»Ñαá¡ñ«ó, Γ« ÑßΓ∞:
-
- i mod j = i - (i div j) * j
-
- ç¡á¬ αѺπ½∞ΓáΓá «»Ñαᵿ¿ mod íπñÑΓ ΓѼ ªÑ, τΓ« ¿ º¡á¬ i. àß-
- ½¿ j αáó¡« ¡π½ε, Γ« αѺπ½∞ΓáΓ«¼ íπñÑΓ «Φ¿í¬á.
-
-
-
- B.Pascal 7 & Objects/LR - 101 -
-
- ï«ú¿τÑ߬¿Ñ «»Ñαᵿ¿
- ─────────────────────────────────────────────────────────────────
-
- Æ¿»δ ½«ú¿τÑ߬¿σ «»Ñαᵿ⌐ »«¬áºá¡δ ó Æáí½¿µÑ 6.4.
-
- ï«ú¿τÑ߬¿Ñ «»Ñαᵿ¿ Æáí½¿µá 6.4
- ┌──────────┬─────────────────────┬──────────────┬───────────────┐
- │ Ä»Ñαᵿ∩ │ äÑ⌐ßΓó¿Ñ │Æ¿»δ «»Ñαá¡ñ«ó│ Æ¿» αѺπ½∞ΓáΓá│
- ├──────────┼─────────────────────┼──────────────┼───────────────┤
- │ not │ ÄΓα¿µá¡¿Ñ (í¿Γ«ó«Ñ) │ ûѽδ⌐ │ ûѽδ⌐ │
- │ and │ ê (í¿Γ«ó«Ñ) │ ûѽδ⌐ │ ûѽδ⌐ │
- │ or │ êïê (í¿Γ«ó«Ñ) │ ûѽδ⌐ │ ûѽδ⌐ │
- │ xor │ ê߬½ετáεΘÑÑ êïê │ ûѽδ⌐ │ ûѽδ⌐ │
- │ │ (í¿Γ«ó«Ñ) │ │ │
- │ shl │ æñó¿ú ó½Ñó« │ ûѽδ⌐ │ ûѽδ⌐ │
- │ shr │ æñó¿ú ó»αáó« │ ûѽδ⌐ │ ûѽδ⌐ │
- └──────────┴─────────────────────┴──────────────┴───────────────┘
-
- Åα¿¼Ñτá¡¿Ñ: Ä»Ñαᵿ∩ not ∩ó½∩ÑΓß∩ π¡áα¡«⌐ «»ÑαᵿÑ⌐.
-
- àß½¿ «»Ñαá¡ñ«¼ «»Ñαᵿ¿ not ∩ó½∩ÑΓß∩ «»Ñαá¡ñ µÑ½«ú« Γ¿»á, Γ«
- αѺπ½∞ΓáΓ íπñÑΓ Γá¬ªÑ µÑ½«ú« Γ¿»á.
-
- àß½¿ «íá «»Ñαá¡ñá ó «»Ñαᵿ∩σ or, and ¿½¿ xor µÑ½«ú« Γ¿»á,
- Γ« Γ¿» αѺπ½∞ΓáΓá íπñÑΓ Γᬿ¼ ªÑ, ¬á¬ Γ¿» «í«¿σ «»Ñαá¡ñ«ó.
-
- Ä»Ñαᵿ¿ i shl j ¿ i shr j ßñó¿úáεΓ º¡áτÑ¡¿Ñ i ó½Ñó« ¿½¿
- ó»αáó« ¡á j í¿Γ«ó. Æ¿» αѺπ½∞ΓáΓá íπñÑΓ Γᬿ¼ ªÑ, ¬á¬ Γ¿» i.
-
-
- üπ½Ñó߬¿Ñ «»Ñαᵿ¿
- ─────────────────────────────────────────────────────────────────
-
- Æ¿»δ «»Ñαá¡ñ«ó ¿ αѺπ½∞ΓáΓ ñ½∩ íπ½Ñó߬¿σ «»Ñαᵿ⌐ »«¬áºá¡δ ó
- Æáí½¿µÑ 6.5.
-
- Æáí½¿µá 6.5 üπ½Ñó߬¿Ñ «»Ñαᵿ¿
- ┌──────────┬──────────────────┬─────────────────┬───────────────┐
- │ Ä»Ñαᵿ∩ │ äÑ⌐ßΓó¿Ñ │ Æ¿»δ «»Ñαá¡ñ«ó │ Æ¿» αѺπ½∞ΓáΓá│
- ├──────────┼──────────────────┼─────────────────┼───────────────┤
- │ not │ ÄΓα¿µá¡¿Ñ │ üπ½Ñó߬¿⌐ │ üπ½Ñó߬¿⌐ │
- │ and │ ï«ú¿τÑ߬«Ñ ê │ üπ½Ñó߬¿⌐ │ üπ½Ñó߬¿⌐ │
- │ or │ ï«ú¿τÑ߬«Ñ êïê │ üπ½Ñó߬¿⌐ │ üπ½Ñó߬¿⌐ │
- │ xor │ ï«ú¿τÑ߬«Ñ │ │ │
- │ │ ¿ß¬½ετáεΘÑÑ êïê │ üπ½Ñó߬¿⌐ │ üπ½Ñó߬¿⌐ │
- └──────────┴──────────────────┴─────────────────┴───────────────┘
-
- Åα¿¼Ñτá¡¿Ñ: Ä»Ñαᵿ∩ not ∩ó½∩ÑΓß∩ π¡áα¡«⌐ «»ÑαᵿÑ⌐.
-
- ÉѺπ½∞ΓáΓδ φΓ¿σ «»Ñαᵿ⌐ ß««ΓóÑΓßΓóπεΓ «íδτ¡«⌐ íπ½Ñó«⌐ ½«ú¿-
- ¬Ñ. ìá»α¿¼Ñα, óδαáªÑ¡¿Ñ a and b ∩ó½∩ÑΓß∩ ¿ßΓ¿¡¡δ¼ (»α¿¡¿¼áÑΓ º¡á-
- τÑ¡¿Ñ ÆruÑ) Γ«½∞¬« ó Γ«¼ ß½πτáÑ, Ñß½¿ «íá «»Ñαá¡ñá a ¿ b ¿¼ÑεΓ
- ¿ßΓ¿¡¡«Ñ º¡áτÑ¡¿Ñ (ÆruÑ).
-
- B.Pascal 7 & Objects/LR - 102 -
-
-
- é Borland Pascal »«ññÑনóáεΓß∩ ñóÑ αẽ¿τ¡δÑ ¼«ñѽ¿ úÑ¡Ñαá-
- µ¿¿ ¬«ñá ñ½∩ «»Ñαᵿ⌐ or ¿ and - »«½¡«Ñ óδτ¿ß½Ñ¡¿Ñ ¿ óδτ¿ß½Ñ¡¿Ñ
- »« ¬«α«Γ¬«⌐ ßσÑ¼Ñ (τáßΓ¿τ¡«Ñ óδτ¿ß½Ñ¡¿Ñ).
-
- Åα¿ »«½¡«¼ óδτ¿ß½Ñ¡¿¿ »«ñαáºπ¼ÑóáÑΓß∩, τΓ« ¬áªñδ⌐ «»Ñαá¡ñ
- íπ½Ñó߬«ú« óδαáªÑ¡¿∩, »«ßΓα«Ñ¡¡δ⌐ ß »«¼«Θ∞ε «»Ñαᵿ⌐ or ¿ and,
- óßÑúñá íπñÑΓ óδτ¿ß½∩Γ∞ß∩, ñáªÑ Ñß½¿ αѺπ½∞ΓáΓ óßÑú« óδαáªÑ¡¿∩ πªÑ
- ¿ºóÑßΓÑ¡. ¥Γá ¼«ñѽ∞ »«½Ñº¡á ó Γ«¼ ß½πτáÑ, ¬«úñá «ñ¿¡ ¿½¿ í«½ÑÑ
- «»Ñαá¡ñ«ó ó óδαáªÑ¡¿¿ »αÑñßΓáó½∩εΓ ß«í«⌐ Σπ¡¬µ¿¿ ß »«í«τ¡δ¼¿ φΣ-
- ΣѬΓἿ, ¬«Γ«αδÑ ¿º¼Ñ¡∩εΓ ß¼δß½ »α«úαá¼¼δ.
-
- éδτ¿ß½Ñ¡¿Ñ »« ¬«α«Γ¬«⌐ ßσÑ¼Ñ «íÑß»Ñτ¿óáÑΓ ßΓα«ú«Ñ óδτ¿ß½Ñ¡¿Ñ
- ß½Ñóá ¡á»αáó«. ¥Γ« óδτ¿ß½Ñ¡¿Ñ »αѬαáΘáÑΓß∩, ¬á¬ Γ«½∞¬« αѺπ½∞ΓáΓ
- óßÑú« óδαáªÑ¡¿∩ ßΓá¡«ó¿Γß∩ «τÑó¿ñÑ¡. é« ¼¡«ú¿σ ß½πτá∩σ φΓá ¼«ñѽ∞
- πñ«í¡á, »«ß¬«½∞¬π «¡á «íÑß»Ñτ¿óáÑΓ ¼¿¡¿¼á½∞¡«Ñ óαѼ∩ óδ»«½¡Ñ¡¿∩
- ¿, ¬á¬ »αá󿽫, ¼¿¡¿¼á½∞¡δ⌐ «íΩѼ ¬«ñá. éδτ¿ß½Ñ¡¿Ñ »« ¬«α«Γ¬«⌐
- ßσÑ¼Ñ ñѽáÑΓ Γá¬ªÑ ó«º¼«ª¡δ¼¿ Γá¬¿Ñ ¬«¡ßΓαπ¬µ¿¿, ¬«Γ«αδÑ ó »α«-
- Γ¿ó¡«¼ ß½πτáÑ í뫨 íδ ¡Ññ«»πßΓ¿¼δ, ¡á»α¿¼Ñα:
-
- while (I<=Lenght(S)) and (S[I]<>' ') do
- Inc(I);
- while (P<>nil) and (P^.Value<>5) do
- P:=P^.Next;
-
- é «í«¿σ ß½πτá∩σ, Ñß½¿ αѺπ½∞ΓáΓ«¼ »Ñαó«ú« óδτ¿ß½Ñ¡¿∩ íπñÑΓ
- º¡áτÑ¡¿Ñ False, óδτ¿ß½Ñ¡¿Ñ óΓ«α«ú« óδαáªÑ¡¿∩ ¡Ñ óδ»«½¡∩ÑΓß∩.
-
- æσѼπ óδτ¿ß½Ñ¡¿∩ ¼«ª¡« ºáñáóáΓ∞ ß »«¼«Θ∞ε ñ¿αÑ¬Γ¿óδ ¬«¼»¿½∩-
- Γ«αá $B. ç¡áτÑ¡¿Ñ¼ »« π¼«½τá¡¿ε ∩ó½∩ÑΓß∩ ß«ßΓ«∩¡¿Ñ {$B-} (»«¬á
- «¡« ¡Ñ íπñÑΓ ¿º¼Ñ¡Ñ¡« ß »«¼«Θ∞ε "¼Ñ¡ε" 󫺼«ª¡«ßΓÑ⌐ ¬«¼»¿½∩Γ«αá).
- é φΓ«¼ ß½πτáÑ úÑ¡Ñα¿απÑΓß∩ ¬«ñ ß óδτ¿ß½Ñ¡¿Ñ¼ »« ¬«α«Γ¬«⌐ ßσѼÑ. é
- ß½πτáÑ ñ¿αÑ¬Γ¿óδ {$B+} úÑ¡Ñα¿απÑΓß∩ ¬«ñ ß »«½¡δ¼ óδτ¿ß½Ñ¡¿Ñ¼.
-
- ū߬«½∞¬π ó ßΓá¡ñáαΓ¡«¼ Åá߬á½Ñ ¡Ñ «»αÑñѽ∩ÑΓß∩, ¬á¬πε ßσѼπ
- ß½ÑñπÑΓ ¿ß»«½∞º«óáΓ∞ ñ½∩ óδτ¿ß½Ñ¡¿∩ íπ½Ñó߬¿σ óδαáªÑ¡¿⌐, Γ« »α«ú-
- αá¼¼δ, ºáó¿ß∩Θ¿Ñ «Γ ñÑ⌐ßΓó¿∩ ¬á¬«⌐-½¿í« ¬«¡¬αÑΓ¡«⌐ ßσѼδ, ó ñÑ⌐ß-
- Γó¿Γѽ∞¡«ßΓ¿ ¡Ñ ∩ó½∩εΓß∩ »ÑαÑ¡«ß¿¼δ¼¿. Äñ¡á¬«, Ñß½¿ »«ªÑαΓó«óáΓ∞
- »ÑαÑ¡«ß¿¼«ßΓ∞ε, Γ« «τÑ¡∞ τáßΓ« ¼«ª¡« »«½πτ¿Γ∞ º¡áτ¿Γѽ∞¡δ⌐ óδ¿ú-
- αδΦ ó« óαѼѡ¿ óδ»«½¡Ñ¡¿∩ ¿ »α«ßΓ«ΓÑ, ¬«Γ«απε »«ºó«½∩ÑΓ »«½πτ¿Γ∞
- óδτ¿ß½Ñ¡¿Ñ »« ¬«α«Γ¬«⌐ ßσѼÑ.
-
-
-
-
- B.Pascal 7 & Objects/LR - 103 -
-
- Ä»Ñαᵿ∩ ß« ßΓα«¬á¼¿
- ─────────────────────────────────────────────────────────────────
-
- Æ¿»δ «»Ñαá¡ñ«ó ¿ αѺπ½∞ΓáΓδ ñ½∩ «»Ñαᵿ¿ ß« ßΓα«¬á¼¿ »«¬áºá-
- ¡δ ó Æáí½¿µÑ 6.6.
-
- Ä»Ñαᵿ¿ ß« ßΓα«¬á¼¿ Æáí½¿µá 6.6
- ┌───────────┬──────────────┬─────────────────────┬──────────────┐
- │ Ä»Ñαᵿ∩ │ äÑ⌐ßΓó¿Ñ │ Æ¿»δ «»Ñαá¡ñ«ó │Æ¿» αѺπ½∞ΓáΓá│
- ├───────────┼──────────────┼─────────────────────┼──────────────┤
- │ + │ è«¡¬áΓѡᵿ∩ │ æΓ᫬«óδ⌐, │ æΓ᫬«óδ⌐ │
- │ │ │ ß¿¼ó«½∞¡δ⌐ ¿½¿ │ │
- │ │ │π»á¬«óá¡¡δ⌐ ßΓ᫬«óδ⌐│ │
- └───────────┴──────────────┴─────────────────────┴──────────────┘
-
- Borland Pascal »«ºó«½∩ÑΓ ¿ß»«½∞º«óáΓ∞ «»Ñαᵿε + ñ½∩ «íΩÑñ¿-
- ¡Ñ¡¿∩ ñóπσ ßΓ᫬«óδσ «»Ñαá¡ñ«ó. ÉѺπ½∞ΓáΓ«¼ «»Ñαᵿ¿ s + t, úñÑ s
- ¿ t ¿¼ÑεΓ ßΓ᫬«óδ⌐ Γ¿», ß¿¼ó«½∞¡δ⌐ Γ¿» (Char) ¿½¿ π»á¬«óá¡¡δ⌐
- ßΓ᫬«óδ⌐ Γ¿», íπñÑΓ ¬«¡¬áΓѡᵿ∩ s ¿ t. ÉѺπ½∞ΓáΓ íπñÑΓ ß«ó¼Ñß-
- Γ¿¼ ß ½εíδ¼ ßΓ᫬«óδ¼ Γ¿»«¼ (¡« ¡Ñ ß ß¿¼ó«½∞¡δ¼ Char ¿ ¡Ñ ß π»á-
- ¬«óá¡¡δ¼ ßΓ᫬«óδ¼ Γ¿»«¼). àß½¿ ñ½¿¡á αѺπ½∞Γ¿απεΘÑ⌐ ßΓ᫬¿ »αÑ-
- óδΦáÑΓ 255 ß¿¼ó«½«ó, Γ« «¡á πßѬáÑΓß∩ ñ« 255 ß¿¼ó«½«ó.
-
- B.Pascal 7 & Objects/LR - 104 -
-
-
- Ä»Ñαᵿ¿ ¡áñ ß¿¼ó«½∞¡δ¼¿ π¬áºáΓѽ∩¼¿
- ─────────────────────────────────────────────────────────────────
-
- ÉáßΦ¿αÑ¡¡δ⌐ ß¿¡Γá¬ß¿ß (αáºαÑΦÑ¡¡δ⌐ »« ñ¿αÑ¬Γ¿óÑ ¬«¼»¿½∩Γ«αá
- {$X+}) »«ññÑনóáÑΓ ¡Ñ߬«½∞¬« «»Ñαᵿ⌐ ß π¬áºáΓѽ∩¼¿ ¡á PChar.
- ä½∩ πóѽ¿τÑ¡¿∩ ¿ π¼Ñ¡∞ΦÑ¡¿∩ ß¼ÑΘÑ¡¿∩ π¬áºáΓѽ∩ ¼«ª¡« ¿ß»«½∞º«óáΓ∞
- «»Ñαᵿ¿ + ¿ -. î¿¡πß ¼«ª¡« Γá¬ªÑ ¿ß»«½∞º«óáΓ∞ ñ½∩ óδτ¿ß½Ñ¡¿∩
- αáßßΓ«∩¡¿∩ (αạ«ßΓ¿) ¼Ñªñπ ñóπ¼∩ ß¿¼ó«½∞¡δ¼¿ π¬áºáΓѽ∩¼¿. àß½¿ P
- ¿ Q - φΓ« º¡áτÑ¡¿∩ Γ¿»á PChar, á I - º¡áτÑ¡¿Ñ Γ¿»á Word, Γ« ñ«-
- »πßΓ¿¼δ ß½ÑñπεΘ¿Ñ ¬«¡ßΓαπ¬µ¿¿:
-
- ä«»πßΓ¿¼δÑ ¬«¡ßΓαπ¬µ¿¿ PChar Æáí½¿µá 6.7
- ┌───────────────┬───────────────────────────────────────────────┐
- │ Ä»Ñαᵿ∩ │ ÉѺπ½∞ΓáΓ │
- ├───────────────┼───────────────────────────────────────────────┤
- │ P + I │ 潫ªÑ¡¿Ñ I ß« ß¼ÑΘÑ¡¿Ñ¼ P. │
- │ I + P │ 潫ªÑ¡¿Ñ I ß« ß¼ÑΘÑ¡¿Ñ¼ P. │
- │ P - I │ éδτ¿Γá¡¿Ñ I ¿º ß¼ÑΘÑ¡¿∩ P. │
- │ P - Q │ éδτ¿ΓáÑΓ ß¼ÑΘÑ¡¿Ñ Q ¿º ß¼ÑΘÑ¡¿∩ P. │
- └───────────────┴───────────────────────────────────────────────┘
-
- Ä»Ñαᵿ¿ P + I ¿ I + P ߬½áñδóáÑΓ I c áñαÑß«¼, ºáñá¡¡δ¼ P,
- ß«ºñáóá∩ π¬áºáΓѽ∞, ßßδ½áεΘ¿⌐ß∩ ¡á I ß¿¼ó«½«ó »«ß½Ñ P. Ä»Ñαᵿ∩ P
- - I óδτ¿ΓáÑΓ I ¿º áñαÑßá, ºáñá¡¡«ú« P, ß«ºñáóá∩ π¬áºáΓѽ∞, ßßδ½á-
- εΘ¿⌐ß∩ ¡á I ß¿¼ó«½«ó »ÑαÑñ P.
-
- Ä»Ñαᵿ∩ P - Q óδτ¿ΓáÑΓ αáßßΓ«∩¡¿Ñ ¼Ñªñπ Q (¼½áñΦ¿⌐ áñαÑß) ¿
- P (ßΓáαΦ¿⌐ áñαÑß), ß«ºñáóá∩ ó αѺπ½∞ΓáΓÑ º¡áτÑ¡¿Ñ Γ¿»á Word, »«-
- ¬áºδóáεΘÑÑ τ¿ß½« ß¿¼ó«½«ó ¼Ñªñπ Q ¿ P. ¥Γá «»Ñαᵿ∩ »«ñαáºπ¼Ñóá-
- ÑΓ, τΓ« P ¿ Q ßßδ½áεΓß∩ ¡á «ñ¿¡ ß¿¼ó«½∞¡δ⌐ ¼áßß¿ó. àß½¿ ñóá ß¿¼-
- ó«½∞¡δ⌐ π¬áºáΓѽ∩ ßßδ½áεΓß∩ ¡á αạδÑ ¼áßß¿óδ, Γ« αѺπ½∞ΓáΓ íπñÑΓ
- ¡Ñ «»αÑñѽѡ.
-
-
-
- B.Pascal 7 & Objects/LR - 105 -
-
- Ä»Ñαᵿ¿ ¡áñ ¼¡«ªÑßΓóἿ
- ─────────────────────────────────────────────────────────────────
-
- Æ¿»δ «»Ñαá¡ñ«ó ñ½∩ «»Ñαᵿ⌐ ¡áñ ¼¡«ªÑßΓóἿ »«¬áºá¡δ ó Æáí-
- ½¿µÑ 6.7.
-
- Ä»Ñαᵿ¿ ¡áñ ¼¡«ªÑßΓóἿ Æáí½¿µá 6.7
- ┌───────────────┬─────────────┬─────────────────────────────────┐
- │ Ä»Ñαᵿ∩ │ äÑ⌐ßΓó¿Ñ │ Æ¿»δ «»Ñαá¡ñ«ó │
- ├───────────────┼─────────────┼─────────────────────────────────┤
- │ + │ ÄíΩÑñ¿¡Ñ¡¿Ñ │ î¡«ªÑßΓóá ß ß«ó¼ÑßΓ¿¼δ¼¿ Γ¿»á¼¿ │
- │ - │ Éạ«ßΓ∞ │ î¡«ªÑßΓóá ß ß«ó¼ÑßΓ¿¼δ¼¿ Γ¿»á¼¿ │
- │ * │ ÅÑαÑßÑτÑ¡¿Ñ │ î¡«ªÑßΓóá ß ß«ó¼ÑßΓ¿¼δ¼¿ Γ¿»á¼¿ │
- └───────────────┴─────────────┴─────────────────────────────────┘
-
- ÉѺπ½∞ΓáΓδ «»Ñαᵿ⌐ ß««ΓóÑΓßΓóπεΓ »αáó¿½á¼ ½«ú¿¬¿ αáí«Γδ ß
- ¼¡«ªÑßΓóἿ:
-
- 1. Å«α∩ñ¬«ó«Ñ º¡áτÑ¡¿Ñ c ß«ñÑনΓß∩ ó a+b Γ«½∞¬« Γ«úñá,
- ¬«úñá «¡« ß«ñÑনΓß∩ ó a ¿½¿ ó b.
-
- 2. Å«α∩ñ¬«ó«Ñ º¡áτÑ¡¿Ñ c ß«ñÑনΓß∩ ó a-b Γ«½∞¬« Γ«úñá,
- ¬«úñá «¡« ß«ñÑনΓß∩ ó a ¿ ¡Ñ ß«ñÑনΓß∩ ó b.
-
- 3. Å«α∩ñ¬«ó«Ñ º¡áτÑ¡¿Ñ c ß«ñÑনΓß∩ ó a*b Γ«½∞¬« Γ«úñá,
- ¬«úñá «¡ ß«ñÑনΓß∩ ó «í«¿σ ¼¡«ªÑßΓóáσ a ¿ b.
-
- àß½¿ ¡á¿¼Ñ¡∞Φ¿¼ »«α∩ñ¬«óδ¼ º¡áτÑ¡¿Ñ¼, ¬«Γ«α«Ñ ∩ó½∩ÑΓß∩ τ½Ñ-
- ¡«¼ αѺπ½∞ΓáΓá «»Ñαᵿ⌐ ¡áñ ¼¡«ªÑßΓóἿ, ∩ó½∩ÑΓß∩ a, á ¡á¿í«½∞Φ¿¼
- - b, Γ« Γ¿»«¼ αѺπ½∞ΓáΓá íπñÑΓ ¼¡«ªÑßΓó« a..b.
-
-
-
- B.Pascal 7 & Objects/LR - 106 -
-
- Ä»Ñαᵿ¿ «Γ¡«ΦÑ¡¿∩
- ─────────────────────────────────────────────────────────────────
-
- Æ¿»δ «»Ñαá¡ñ«ó ¿ αѺπ½∞ΓáΓδ «»Ñαᵿ⌐ «Γ¡«ΦÑ¡¿∩ »α¿óÑñÑ¡δ ó
- Æáí½¿µÑ 6.8.
-
- Æáí½¿µá 6.8 Ä»Ñαᵿ¿ «Γ¡«ΦÑ¡¿∩
- ┌─────────┬────────────┬────────────────────────┬───────────────┐
- │ Ä»Ñαᵿ∩│ äÑ⌐ßΓó¿Ñ │ Æ¿»δ «»Ñαá¡ñ«ó │ Æ¿» αѺπ½∞ΓáΓá│
- ├─────────┼────────────┼────────────────────────┼───────────────┤
- │ = │ Éáó¡« │ æ«ó¼ÑßΓ¿¼δ⌐ »α«ßΓ«⌐, │ üπ½Ñó߬¿⌐ │
- │ │ │ π¬áºáΓѽ∞, ¼¡«ªÑßΓóÑ¡- │ │
- │ │ │ ¡δ⌐ ßΓ᫬«óδ⌐ ¿½¿ π»á- │ │
- │ │ │ ¬«óá¡¡δ⌐ ßΓ᫬«óδ⌐ │ │
- ├─────────┼────────────┼────────────────────────┼───────────────┤
- │ <> │ ìÑ αáó¡« │ æ«ó¼ÑßΓ¿¼δ⌐ »α«ßΓ«⌐, │ üπ½Ñó߬¿⌐ │
- │ │ │ π¬áºáΓѽ∞, ¼¡«ªÑßΓóÑ¡- │ │
- │ │ │ ¡δ⌐, ßΓ᫬«óδ⌐ ¿½¿ π»á-│ │
- │ │ │ ¬«óá¡¡δ⌐ ßΓ᫬«óδ⌐ │ │
- ├─────────┼────────────┼────────────────────────┼───────────────┤
- │ < │ îÑ¡∞ΦÑ τѼ │ æ«ó¼ÑßΓ¿¼δ⌐ »α«ßΓ«⌐, │ üπ½Ñó߬¿⌐ │
- │ │ │ π¬áºáΓѽ∞, ¼¡«ªÑßΓóÑ¡- │ │
- │ │ │ ¡δ⌐, ßΓ᫬«óδ⌐ ¿½¿ π»á-│ │
- │ │ │ ¬«óá¡¡δ⌐ ßΓ᫬«óδ⌐ │ │
- ├─────────┼────────────┼────────────────────────┼───────────────┤
- │ > │ ü«½∞ΦÑ τѼ │ æ«ó¼ÑßΓ¿¼δ⌐ »α«ßΓ«⌐, │ üπ½Ñó߬¿⌐ │
- │ │ │ π¬áºáΓѽ∞, ¼¡«ªÑßΓóÑ¡- │ │
- │ │ │ ¡δ⌐ ßΓ᫬«óδ⌐ ¿½¿ π»á- │ │
- │ │ │ ¬«óá¡¡δ⌐ ßΓ᫬«óδ⌐ │ │
- ├─────────┼────────────┼────────────────────────┼───────────────┤
- │ <= │ îÑ¡∞ΦÑ │ æ«ó¼ÑßΓ¿¼δ⌐ »α«ßΓ«⌐, │ üπ½Ñó߬¿⌐ │
- │ │ ¿½¿ αáó¡« │ π¬áºáΓѽ∞, ¼¡«ªÑßΓóÑ¡- │ │
- │ │ │ ¡δ⌐ ßΓ᫬«óδ⌐ ¿½¿ π»á- │ │
- │ │ │ ¬«óá¡¡δ⌐ ßΓ᫬«óδ⌐ │ │
- ├─────────┼────────────┼────────────────────────┼───────────────┤
- │ >= │ ü«½∞ΦÑ │ æ«ó¼ÑßΓ¿¼δ⌐ »α«ßΓ«⌐, │ üπ½Ñó߬¿⌐ │
- │ │ ¿½¿ αáó¡« │ π¬áºáΓѽ∞, ¼¡«ªÑßΓóÑ¡- │ │
- │ │ │ ¡δ⌐ ßΓ᫬«óδ⌐ ¿½¿ π»á- │ │
- │ │ │ ¬«óá¡¡δ⌐ ßΓ᫬«óδ⌐ │ │
- ├─────────┼────────────┼────────────────────────┼───────────────┤
- │ <= │Å«ñ¼¡«ªÑßΓó«│ î¡«ªÑßΓóá ß«ó¼ÑßΓ¿¼δσ │ üπ½Ñó߬¿⌐ │
- │ │ │ Γ¿»«ó │ │
- ├─────────┼────────────┼────────────────────────┼───────────────┤
- │ >= │ìáñ¼¡«ªÑßΓó«│ î¡«ªÑßΓóá ß«ó¼ÑßΓ¿¼δσ │ üπ½Ñó߬¿⌐ │
- │ │ │ Γ¿»«ó │ │
- ├─────────┼────────────┼────────────────────────┼───────────────┤
- │ in │ ¥½Ñ¼Ñ¡Γ │ ïÑóδ⌐ «»Ñαá¡ñ: ½εí«⌐ │ üπ½Ñó߬¿⌐ │
- │ │ ¼¡«ªÑßΓóá │ »ÑαÑτ¿ß½¿¼δ⌐ Γ¿» t; │ │
- │ │ │ »αáóδ⌐: ¼¡«ªÑßΓó«, │ │
- │ │ │ ß«ó¼ÑßΓ¿¼«Ñ ß t. │ │
- └─────────┴────────────┴────────────────────────┴───────────────┘
-
-
-
- B.Pascal 7 & Objects/LR - 107 -
-
- æαáó¡Ñ¡¿Ñ »α«ßΓδσ Γ¿»«ó
- ─────────────────────────────────────────────────────────────────
-
- è«úñá «»Ñαᵿ¿ =, <>, <, >, >= ¿½¿ <= »α¿¼Ñ¡∩εΓß∩ ñ½∩ «»Ñ-
- αá¡ñ«ó »α«ßΓδσ Γ¿»«ó, Γ« φΓ« ñ«½ª¡δ íδΓ∞ ß«ó¼ÑßΓ¿¼δÑ Γ¿»δ. Äñ¡á-
- ¬«, Ñß½¿ «ñ¿¡ «»Ñαá¡ñ ¿¼ÑÑΓ óÑΘÑßΓóÑ¡¡δ⌐ Γ¿», Γ« ñαπú«⌐ ¼«ªÑΓ
- íδΓ∞ µÑ½«ú« Γ¿»á.
-
-
- æαáó¡Ñ¡¿Ñ ßΓ᫬
- ─────────────────────────────────────────────────────────────────
-
- Ä»Ñαᵿ¿ «Γ¡«ΦÑ¡¿∩ =, <>, <, >, >= ¿½¿ <= ¼«úπΓ »α¿¼Ñ¡∩Γß∩
- ñ½∩ ßαáó¡Ñ¡¿∩ ßΓ᫬ ß«ú½áß¡« »«α∩ñ¬π αáßΦ¿αÑ¡¡«ú« ¡áí«αá ß¿¼ó«½«ó
- ¬«ñá ASæII. ïεíδÑ ñóá º¡áτÑ¡¿∩ ßΓ᫬«óδσ ñá¡¡δσ ¼«ª¡« ßαáó¡¿Γ∞,
- »«ß¬«½∞¬π óßÑ º¡áτÑ¡¿∩ ßΓ᫬«óδσ ñá¡¡δσ ß«ó¼ÑßΓ¿¼δ.
-
- ç¡áτÑ¡¿∩ ß¿¼ó«½∞¡«ú« Γ¿»á ß«ó¼ÑßΓ¿¼δ ß« º¡áτÑ¡¿∩¼¿ ßΓ᫬«ó«-
- ú« Γ¿»á, ¿ »α¿ ¿σ ßαáó¡Ñ¡¿¿ ß¿¼ó«½∞¡«Ñ º¡áτÑ¡¿Ñ «íαáíáΓδóáÑΓß∩
- ¬á¬ ßΓ᫬«ó«Ñ º¡áτÑ¡¿Ñ ß ñ½¿¡«⌐ 1. è«úñá ß« º¡áτÑ¡¿Ñ¼ ßΓ᫬«ó«ú«
- Γ¿»á ßαáó¡¿óáÑΓß∩ π»á¬«óá¡¡«Ñ ßΓ᫬«ó«Ñ º¡áτÑ¡¿Ñ ¿º N φ½Ñ¼Ñ¡Γ«ó,
- Γ« «¡« «íαáíáΓδóáÑΓß∩, ¬á¬ º¡áτÑ¡¿Ñ ßΓ᫬«ó«ú« Γ¿»á ñ½¿¡«⌐ N.
-
-
- æαáó¡Ñ¡¿Ñ π»á¬«óá¡¡δσ ßΓ᫬
- ─────────────────────────────────────────────────────────────────
-
- Ä»Ñαᵿ¿ «Γ¡«ΦÑ¡¿∩ =, <>, <, >, >= ¿½¿ <= ¼«úπΓ »α¿¼Ñ¡∩Γß∩
- Γá¬ªÑ ñ½∩ ñóπσ π»á¬«óá¡¡δσ º¡áτÑ¡¿⌐ ßΓ᫬«ó«ú« Γ¿»á, Ñß½¿ «¡¿ ß«-
- ñÑαªáΓ «ñ¿¡á¬«ó«Ñ τ¿ß½« φ½Ñ¼Ñ¡Γ«ó. àß½¿ τ¿ß½« φ½Ñ¼Ñ¡Γ«ó αáó¡« n,
- Γ« «»Ñαᵿ∩ ß««ΓóÑΓßΓóπÑΓ ßαáó¡Ñ¡¿ε ñóπσ ßΓ᫬, ¬áªñá∩ ¿º ¬«Γ«αδσ
- ¿¼ÑÑΓ ñ½¿¡π n.
-
-
- æαáó¡Ñ¡¿Ñ π¬áºáΓѽÑ⌐
- ─────────────────────────────────────────────────────────────────
-
- Ä»Ñαᵿ¿ = ¿ <> ¼«úπΓ ¿ß»«½∞º«óáΓ∞ß∩ ñ½∩ ßαáó¡Ñ¡¿∩ «»Ñαá¡ñ«ó
- Γ¿»á π¬áºáΓѽ∞. äóá π¬áºáΓѽ∩ αáó¡δ Γ«½∞¬« ó Γ«¼ ß½πτáÑ, Ñß½¿ «¡¿
- ßßδ½áεΓß∩ ¡á «ñ¿¡ ¿ ëà ªÑ «íΩѬΓ.
-
-
-
- B.Pascal 7 & Objects/LR - 108 -
-
- æαáó¡Ñ¡¿Ñ ß¿¼ó«½∞¡δσ π¬áºáΓѽÑ⌐
- ─────────────────────────────────────────────────────────────────
-
- Åα¿ αáºαÑΦÑ¡¿¿ »« ñ¿αÑ¬Γ¿óÑ ¬«¼»¿½∩Γ«αá {$X+} αáßΦ¿αÑ¡¡«ú«
- ß¿¡Γá¬ß¿ßá «»Ñαᵿ¿ =, <>, <, >, >= ¿½¿ <= ¼«úπΓ »α¿¼Ñ¡∩Γß∩ ¬
- º¡áτÑ¡¿∩¼ PChar. çá¼ÑΓ¿¼, «ñ¡á¬«, τΓ« φΓ¿ «»Ñαᵿ¿ «Γ¡«ΦÑ¡¿∩
- »αÑñ»«½áúáεΓ, τΓ« ñóá ßαáó¡¿óáѼδÑ π¬áºáΓѽ∩ ßßδ½áεΓß∩ ¡á «ñ¿¡ ¿
- ëà ªÑ ß¿¼ó«½∞¡δ⌐ ¼áßß¿ó.. Å« φΓ«⌐ »α¿τ¿¡Ñ ó ßαáó¡Ñ¡¿¿ πτáßΓóπεΓ
- Γ«½∞¬« ß¼ÑΘÑ¡¿∩ ñóπσ º¡áτÑ¡¿⌐-π¬áºáΓѽÑ⌐. àß½¿ π¬áºáΓѽ¿ ßßδ½áεΓ-
- ß∩ ¡á αạδÑ ß¿¼ó«½∞¡δÑ ¼áßß¿óδ, αѺπ½∞ΓáΓ íπñÑΓ ¡Ñ «»αÑñѽѡ.
-
-
- æαáó¡Ñ¡¿Ñ ¼¡«ªÑßΓó
- ─────────────────────────────────────────────────────────────────
-
- àß½¿ «»Ñαá¡ñἿ ∩ó½∩εΓß∩ ¼¡«ªÑßΓóá a ¿ b, Γ« »α¿ ¿σ ßαáó¡Ñ-
- ¡¿¿ »«½πτáεΓß∩ ß½ÑñπεΘ¿Ñ αѺπ½∞ΓáΓδ:
-
- 1. éδαáªÑ¡¿Ñ a=b ¿ßΓ¿¡¡« (= True) Γ«½∞¬« ¬«úñá a ¿ b ß«ñÑα-
- ªáΓ «ñ¡¿ ¿ ΓÑ ªÑ φ½Ñ¼Ñ¡Γδ, ó »α«Γ¿ó¡«¼ ß½πτáÑ a<>b.
-
- 2. éδαáªÑ¡¿Ñ a = b ¿ßΓ¿¡¡«, ¬«úñá ¬áªñδ⌐ φ½Ñ¼Ñ¡Γ ¼¡«ªÑßΓóá
- á ∩ó½∩ÑΓß∩ Γá¬ªÑ φ½Ñ¼Ñ¡Γ«¼ ¼¡«ªÑßΓóá b.
-
- 3. éδαáªÑ¡¿Ñ a = b ¿ßΓ¿¡¡«, ¬«úñá ¬áªñδ⌐ φ½Ñ¼Ñ¡Γ ¼¡«ªÑßΓóá
- b ∩ó½∩ÑΓß∩ Γá¬ªÑ φ½Ñ¼Ñ¡Γ«¼ ¼¡«ªÑßΓóá a.
-
-
- Åα«óÑα¬á ¡á »α¿¡áñ½Ñª¡«ßΓ∞ ¬ ¼¡«ªÑßΓóπ
- ─────────────────────────────────────────────────────────────────
-
- Ä»Ñαᵿ∩ in ó«ºóαáΘáÑΓ ¿ßΓ¿¡¡«Ñ º¡áτÑ¡¿Ñ (True), ¬«úñá º¡á-
- τÑ¡¿Ñ φ½Ñ¼Ñ¡Γá »«α∩ñ¬«ó«ú« Γ¿»á ∩ó½∩ÑΓß∩ φ½Ñ¼Ñ¡Γ«¼ «»Ñαá¡ñá ¼¡«-
- ªÑßΓóÑ¡¡«ú« Γ¿»á, ó »α«Γ¿ó¡«¼ ß½πτáÑ «¡ ó«ºóαáΘáÑΓ º¡áτÑ¡¿Ñ
- False.
-
-
-
- B.Pascal 7 & Objects/LR - 109 -
-
- Ä»Ñαᵿ∩ @
- ─────────────────────────────────────────────────────────────────
-
- Ä»Ñαᵿ∩ @ ¿ß»«½∞ºπÑΓß∩ ó áñαÑß¡«¼ ¬«φΣΣ¿µ¿Ñ¡ΓÑ ñ½∩ óδτ¿ß½Ñ-
- ¡¿∩ áñαÑßá »ÑαѼѡ¡«⌐, »α«µÑñπαδ, Σπ¡¬µ¿¿ ¿½¿ ¼ÑΓ«ñá. é Æáí½¿µÑ
- 6.9 »«¬áºá¡ «»Ñαá¡ñ ¿ Γ¿»δ αѺπ½∞ΓáΓá.
-
- áñαÑß¡δ⌐ ¬«φΣΣ¿µ¿Ñ¡Γ
- │ ┌───┐ ┌──────────────────────┐
- └──│ @ ├──┬─────│ ßßδ½¬á ¡Ñ »ÑαѼѡ¡πε ├───────────────────────>
- └───┘ │ └──────────────────────┘ ^
- │ ┌─────────────────────────┐ │
- ├────>│ ¿ñÑ¡Γ¿Σ¿¬áΓ«α »α«µÑñπαδ ├───────────┤
- │ └─────────────────────────┘ │
- │ ┌───────────────────────┐ │
- ├────>│ ¿ñÑ¡Γ¿Σ¿¬áΓ«α Σπ¡¬µ¿¿ ├─────────────┤
- │ └───────────────────────┘ │
- │ ┌─────────────────────────────────┐ │
- └────>│ πΓ«τ¡Ñ¡¡δ⌐ ¿ñÑ¡Γ¿Σ¿¬áΓ«α ¼ÑΓ«ñá ├───┘
- └─────────────────────────────────┘
-
- Ä»Ñαᵿ∩ ß«ºñá¡¿∩ π¬áºáΓѽ∩ Æáí½¿µá 6.9
- ┌────────────┬───────────┬───────────────────────┬──────────────┐
- │ Ä»Ñαᵿ∩ │ äÑ⌐ßΓó¿Ñ │ Æ¿»δ «»Ñαá¡ñ«ó │Æ¿» αѺπ½∞ΓáΓá│
- ├────────────┼───────────┼───────────────────────┼──────────────┤
- │ @ │ Å«½πτÑ¡¿Ñ │ æßδ½¬á ¡á »ÑαѼѡ¡πε, │ ô¬áºáΓѽ∞ │
- │ │ π¬áºáΓѽ∩ │ »α«µÑñπαπ ¿½¿ ¿ñÑ¡Γ¿- │ (ß«ó¼ÑßΓ¿- │
- │ │ │ Σ¿¬áΓ«α Σπ¡¬µ¿¿. │ ¼δ⌐ ß nil) │
- └────────────┴───────────┴───────────────────────┴──────────────┘
-
- Ä»Ñαᵿ∩ @ ó«ºóαáΘáÑΓ áñαÑß «»Ñαá¡ñá, Γ« ÑßΓ∞ ßΓα«¿Γ º¡áτÑ-
- ¡¿Ñ-π¬áºáΓѽ∞, ßßδ½áεΘÑÑß∩ ¡á φëà «»Ñαá¡ñ.
-
-
-
-
- B.Pascal 7 & Objects/LR - 110 -
-
- êß»«½∞º«óá¡¿Ñ «»Ñαᵿ¿ @ ñ½∩ »ÑαѼѡ¡«⌐
- ─────────────────────────────────────────────────────────────────
-
- êß»«½∞º«óá¡¿Ñ «»Ñαᵿ¿ @ ñ½∩ «íδτ¡«⌐ »ÑαѼѡ¡«⌐ (¡Ñ »áαá¼ÑΓ-
- αá) ¡Ñ óδºδóáÑΓ ¡¿¬á¬¿σ ß½«ª¡«ßΓÑ⌐. Åα¿¼Ñ¡Ñ¡¿Ñ @ ¬ ßßδ½¬Ñ ¡á »Ñ-
- αѼѡ¡πε ó«ºóαáΘáÑΓ π¬áºáΓѽ∞ ¡á »ÑαѼѡ¡πε. éóÑñѼ «»¿ßá¡¿∩:
-
- type
- TwoChar = array[0..1] of char;
- var
- Int: integer;
- TwoCharPtr: ^TwoChar;
-
- Γ«úñá «»ÑαáΓ«α:
-
- TwoCharPtr := @Int;
-
- »α¿ó«ñ¿Γ ¬ Γ«¼π, τΓ« TwoCharPtr ñ½∩ »«½πτÑ¡¿∩ ßß佬¿ ¡á
- TwoCharPtr^ ßΓá¡«ó¿Γß∩ »«óΓ«α¡«⌐ ¿¡ΓÑα»αÑΓᵿÑ⌐ º¡áτÑ¡¿∩ Int, ¬á¬
- Ñß½¿ íδ «¡« í佫 ß¿¼ó«½∞¡δ¼ ¼áßß¿ó«¼ array[0..1].
-
- Æ¿» »«½πτáѼ«ú« ó αѺπ½∞ΓáΓÑ π¬áºáΓѽ∞ π»αáó½∩ÑΓß∩ ñ¿αÑ¬Γ¿-
- ó«⌐ ¬«¼»¿½∩Γ«αá $T: ó ß«ßΓ«∩¡¿¿ {$T-} (»« π¼«½τá¡¿ε) Γ¿»«¼ αÑ-
- ºπ½∞ΓáΓá íπñÑΓ Pointer. äαπú¿¼¿ ß½«óἿ, αѺπ½∞ΓáΓ «¼ ∩ó½∩ÑΓß∩
- ¡ÑΓ¿»¿º¿α«óá¡¡δ⌐ π¬áºáΓѽ∞, ß«ó¼ÑßΓ¿¼δ⌐ ß« óßѼ¿ ñαπú¿¼¿ Γ¿»á¼¿
- π¬áºáΓѽÑ⌐. é ß«ßΓ«∩¡¿¿ {$T+} Γ¿»«¼ αѺπ½∞ΓáΓá íπñÑΓ ^T, úñÑ T -
- Γ¿» ßß佬¿ ¡á »ÑαѼѡ¡πε. Æ« ÑßΓ∞ Γ¿» αѺπ½∞ΓáΓá íπñÑΓ ß«ó¼ÑßΓ¿¼
- ß« óßѼ¿ ñαπú¿¼¿ π¬áºáΓѽ∩¼¿ ¡á Γ¿» φΓ«⌐ »ÑαѼѡ¡«⌐.
-
- Åα¿¼Ñτá¡¿Ñ: è ¿ß»«½∞º«óá¡¿ε «»Ñαᵿ¿ @ ß »α«µÑñπα¡δ¼
- Γ¿»«¼ »α¿¼Ñ¡∩εΓß∩ ߻ѵ¿á½∞¡δÑ »αáó¿½á. æ¼. ¡¿ªÑ αáºñѽ
- "Åα«µÑñπα¡δ⌐ Γ¿»δ ó óδαáªÑ¡¿∩σ".
-
-
-
-
- B.Pascal 7 & Objects/LR - 111 -
-
- êß»«½∞º«óá¡¿Ñ «»Ñαᵿ¿ @
- ñ½∩ »α«µÑñπαδ ¿½¿ Σπ¡¬µ¿¿ ¿½¿ ¼ÑΓ«ñá
- ─────────────────────────────────────────────────────────────────
-
- éδ ¼«ªÑΓÑ »α¿¼Ñ¡∩Γ∞ «»Ñαᵿε @ ¬ »α«µÑñπαÑ, Σπ¡¬µ¿¿ ¿½¿ ¼Ñ-
- Γ«ñπ. Åα¿ φΓ«¼ óδ »«½πτ¿ΓÑ π¬áºáΓѽ∞ ¡á Γ«τ¬π óσ«ñá »«ñ»α«úαá¼¼δ.
- ìѺáó¿ß¿¼« «Γ ß«ßΓ«∩¡¿∩ $T, Γ¿»«¼ »«½πτÑ¡¡«ú« ó αѺπ½∞ΓáΓÑ π¬áºá-
- Γѽ∩ óßÑúñá íπñÑΓ Pointer. äαπú¿¼¿ ß½«óἿ, αѺπ½∞ΓáΓ«¼ óßÑúñá
- ∩ó½∩ÑΓß∩ ¡ÑΓ¿»¿º¿α«óá¡¡δ⌐ π¬áºáΓѽ∞, ß«ó¼ÑßΓ¿¼δ⌐ ß« óßѼ¿ ñαπú¿¼¿
- ßß佫τ¡δ¼¿ Γ¿»á¼¿.
-
- Åα¿ »α¿¼Ñ¡Ñ¡¿¿ «»Ñαᵿ¿ @ ¬ ¼ÑΓ«ñπ ¼ÑΓ«ñ ñ«½ªÑ¡ ºáñáóáΓ∞ß∩ ß
- »«¼«Θ∞ε πΓ«τ¡Ñ¡¡«ú« ¿ñÑ¡Γ¿Σ¿¬áΓ«αá (¿ñÑ¡Γ¿Σ¿¬áΓ«αá «íΩÑ¬Γ¡«ú« Γ¿-
- »á, ºá ¬«Γ«αδ¼ ß½ÑñπÑΓ Γ«τ¬á ¿ ¿ñÑ¡Γ¿Σ¿¬áΓ«α ¼ÑΓ«ñá).
-
-
- é맮óδ Σπ¡¬µ¿¿
- ─────────────────────────────────────────────────────────────────
-
- é맮óδ Σπ¡¬µ¿¿ »α¿ó«ñ∩Γ ¬ á¬Γ¿ó¿ºáµ¿¿ Σπ¡¬µ¿¿, ºáñá¡¡«⌐ ß
- »«¼«Θ∞ε ¿ñÑ¡Γ¿Σ¿¬áΓ«αá Σπ¡¬µ¿¿. êñÑ¡Γ¿Σ¿¬áΓ«α«¼ Σπ¡¬µ¿¿ ∩ó½∩ÑΓß∩
- ½εí«⌐ ¿ñÑ¡Γ¿Σ¿¬áΓ«α, ¿ß»«½∞º«óá¡¡δ⌐ ñ½∩ «í«º¡áτÑ¡¿∩ Σπ¡¬µ¿¿.
-
- àß½¿ ó ß««ΓóÑΓßΓóπεΘѼ «»¿ßá¡¿¿ Σπ¡¬µ¿¿ ß«ñÑনΓß∩ ß»¿ß«¬
- Σ«α¼á½∞¡δσ »áαá¼ÑΓα«ó Γ« ó ó맮óÑ Σπ¡¬µ¿¿ ñ«½ªÑ¡ ß«ñÑαªáΓ∞ß∩ ß»¿-
- ß«¬ Σá¬Γ¿τÑ߬¿σ »áαá¼ÑΓα«ó. èáªñδ⌐ »áαá¼ÑΓα »«ñßΓáó½∩ÑΓß∩ ó¼ÑßΓ«
- ß««ΓóÑΓßΓóπεΘÑú« Σ«α¼á½∞¡«ú« »áαá¼ÑΓαá ó ß««ΓóÑΓßΓó¿¿ ß ¡áí«α«¼
- »αáó¿½, ¬«Γ«αδ⌐ óó«ñ¿Γß∩ ó â½áóÑ 9 ("Åα«µÑñπαδ ¿ Σπ¡¬µ¿¿").
-
- Åα¿¼Ñτá¡¿Ñ: æ¼. óδΦÑ αáºñѽδ "Ç¬Γ¿ó¿ºáµ¿∩ ¼ÑΓ«ñ«ó",
- "Ç¬Γ¿ó¿ºáµ¿∩ πΓ«τ¡Ñ¡¡δσ ¼ÑΓ«ñ«ó" ¿ "Åα«µÑñπα¡δÑ Γ¿»δ".
-
- ┌─────────────┐
- ó맮ó Σπ¡¬µ¿¿ ─┬─>│¿ñÑ¡Γ¿Σ¿¬áΓ«α├─┬┬───────────────────────────>
- │ │ Σπ¡¬µ¿¿ │ ││ ^
- │ └─────────────┘ ││ ┌──────────────────┐ │
- │ ┌─────────────┐ │└──>│ß»¿ß«¬ Σá¬Γ¿τÑ߬¿σ├──┘
- ├─>│ ñÑß¿ú¡áΓ«α ├─┤ │ »áαá¼ÑΓα«ó │
- │ │ ¼ÑΓ«ñá │ │ └──────────────────┘
- │ └─────────────┘ │
- │ ┌─────────────┐ │
- │ │ πΓ«τ¡Ñ¡¡δ⌐ │ │
- ├─>│ ñÑß¿ú¡áΓ«α ├─┤
- │ │ ¼ÑΓ«ñá │ │
- │ └─────────────┘ │
- │ ┌─────────────┐ │
- └─>│ ßßδ½¬á ¡á ├─┘
- │ »ÑαѼѡ¡πε │
- └─────────────┘
-
-
- B.Pascal 7 & Objects/LR - 112 -
-
-
- ┌───┐ ┌───────────┐ ┌───┐
- ß»¿ß«¬ Σá¬Γ¿τÑ߬¿σ ────>│ ( ├─────>│Σá¬Γ¿τÑ߬¿⌐├──┬─>│ ) ├───>
- »áαá¼ÑΓα«ó └───┘ ^ │ »áαá¼ÑΓα │ │ └───┘
- │ └───────────┘ │
- │ ┌───┐ │
- └───┤ , │<────────┘
- └───┘
-
- ┌────────────┐
- Σá¬Γ¿τÑ߬¿⌐ »áαá¼ÑΓα ──┬──>│ óδαáªÑ¡¿Ñ ├────────>
- │ └────────────┘ ^
- │ ┌────────────┐ │
- └──>│ ßßδ½¬á ¡á ├───┘
- │ »ÑαѼѡ¡πε │
- └────────────┘
-
- Åα¿óÑñѼ ¡Ñ¬«Γ«αδÑ »α¿¼Ñαδ ó맮ó«ó Σπ¡¬µ¿⌐:
-
- Sum(A,63)
- Maximum(147,J)
- Sin(X+Y)
- Eof(F)
- Volume(Radius, Height)
-
- é αѪ¿¼Ñ αáßΦ¿αÑ¡¡«ú« ß¿¡Γá¬ß¿ßá ($X+) ó맮óδ Σπ¡¬µ¿⌐ ¼«ª¡«
- ¿ß»«½∞º«óáΓ∞ ó ¬áτÑßΓóÑ «»ÑαáΓ«α«ó, Γ« ÑßΓ∞ αѺπ½∞ΓáΓ ó맮óá
- Σπ¡¬µ¿¿ ¼«ªÑΓ «ΓíαáßδóáΓ∞ß∩.
-
-
-
- B.Pascal 7 & Objects/LR - 113 -
-
- Ä»¿ßáΓѽ¿ ¼¡«ªÑßΓóá
- ─────────────────────────────────────────────────────────────────
-
- Ä»¿ßáΓѽ∞ ¼¡«ªÑßΓóá «»αÑñѽ∩ÑΓ º¡áτÑ¡¿∩ ¼¡«ªÑßΓóÑ¡¡«ú« Γ¿»á
- ¿ »«½πτáÑΓß∩ »πΓѼ ºá»¿ß¿ óδαáªÑ¡¿⌐, ºá¬½ετÑ¡¡δσ ó ¬óáñαáΓ¡δÑ
- ߬«í¬¿ ([]). èáªñ«Ñ óδαáªÑ¡¿Ñ «»αÑñѽ∩ÑΓ º¡áτÑ¡¿Ñ ¼¡«ªÑßΓóá.
-
- ┌───┐ ┌───┐
- «»¿ßáΓѽ∞ ───>│ [ ├──┬────────────────────────>│ ] ├───>
- ¼¡«ªÑßΓóá └───┘ │ ┌────────────┐ ^ └───┘
- └───>│ úαπ»»á ├──┬─┘
- ^ │ φ½Ñ¼Ñ¡Γ«ó │ │
- │ └────────────┘ │
- │ ┌───┐ │
- └────┤ , │<────────┘
- └───┘
-
- ┌───────────┐
- úαπ»»á φ½Ñ¼Ñ¡Γ«ó ──>│ óδαáªÑ¡¿Ñ ├──┬───────────────────────────>
- └───────────┘ │ ^
- │ ┌──┐ ┌───────────┐ │
- └─>│..├──>│ óδαáªÑ¡¿Ñ ├─┘
- └──┘ └───────────┘
-
- Äí«º¡áτÑ¡¿Ñ [ ] «º¡áτáÑΓ »πßΓ«Ñ ¼¡«ªÑßΓó«, Γ¿» ¬«Γ«α«ú« ß«ó-
- ¼ÑßΓ¿¼ »« »α¿ßóá¿óá¡¿ε ß Γ¿»«¼ ½εí«ú« ¼¡«ªÑßΓóá. ïεíá∩ úαπ»»á
- φ½Ñ¼Ñ¡Γ«ó, «»¿ßá¡¡á∩, ¬á¬ σ..π, «íΩ∩ó½∩ÑΓ φ½Ñ¼Ñ¡ΓἿ ¼¡«ªÑßΓóá
- óßÑ º¡áτÑ¡¿∩ ó ñ¿á»áº«¡Ñ σ..π. àß½¿ σ í«½∞ΦÑ, τѼ π, Γ« σ..π ¡Ñ
- «»¿ßδóáÑΓ ¡¿¬á¬¿σ φ½Ñ¼Ñ¡Γ«ó ¿ [x..y] «í«º¡áτáÑΓ »πßΓ«Ñ ¼¡«ªÑßΓó«.
-
- é ¬«¡¬αÑΓ¡«¼ «»¿ßáΓÑ½Ñ ¼¡«ªÑßΓóá óßÑ º¡áτÑ¡¿∩ óδαáªÑ¡¿∩ ó
- úαπ»»áσ φ½Ñ¼Ñ¡Γ«ó ñ«½ª¡δ íδΓ∞ «ñ¡«ú« »«α∩ñ¬«ó«ú« Γ¿»á.
-
- Åα¿óÑñѼ ¡Ñ¬«Γ«αδÑ »α¿¼Ñαδ «»¿ßáΓѽÑ⌐ ¼¡«ªÑßΓó:
-
- [red, C, green]
- [1,5,10..K mod 12, 13, 23]
- ['A'..'Z', 'a'..'z', Chr(Digit+48)]
-
-
-
- B.Pascal 7 & Objects/LR - 114 -
-
- Åα¿óÑñÑ¡¿Ñ Γ¿»á º¡áτÑ¡¿⌐
- ─────────────────────────────────────────────────────────────────
-
- Æ¿» óδαáªÑ¡¿∩ ¼«ª¡« ¿º¼Ñ¡¿Γ∞ ¡á ñαπú«⌐ Γ¿» ß »«¼«Θ∞ε »α¿óÑ-
- ñÑ¡¿∩ Γ¿»á º¡áτÑ¡¿⌐.
-
- ┌─────────────┐ ┌───┐ ┌─────────┐ ┌───┐
- »α¿óÑñÑ¡¿Ñ ───>│¿ñÑ¡Γ¿Σ¿¬áΓ«α├──>│ ( ├──>│óδαáªÑ¡¿Ñ├──>│ ) ├─>
- Γ¿»á º¡áτÑ¡¿∩ │ Γ¿»á │ └───┘ └─────────┘ └───┘
- └─────────────┘
-
- Æ¿» óδαáªÑ¡¿∩ ¿ ºáñáóáѼδ⌐ Γ¿» ñ«½ª¡δ «íá ¿¼ÑΓ∞ »ÑαÑτ¿ß½¿¼δ⌐
- Γ¿» ¿½¿ Γ¿» π¬áºáΓѽÑ⌐. ä½∩ »ÑαÑτ¿ß½¿¼δσ Γ¿»«ó αѺπ½∞Γ¿απεΘÑÑ
- º¡áτÑ¡¿Ñ »«½πτáÑΓß∩ »πΓѼ »αÑ«íαẫóá¡¿∩ óδαáªÑ¡¿∩ (¿ 󫺼«ª¡«⌐
- »α«óÑન ¡á ¡áσ«ªñÑ¡¿Ñ ó ñ«»πßΓ¿¼δσ úαá¡¿µáσ). ÅαÑ«íαẫóá¡¿Ñ ¼«-
- ªÑΓ »α¿óÑßΓ¿ ¬ πßÑτÑ¡¿ε ¿½¿ πóѽ¿τÑ¡¿ε αẼÑαá ¿ßσ«ñ¡«ú« º¡áτÑ¡¿∩
- ó Γ«¼ ß½πτáÑ, Ñß½¿ ó¡«ó∞ «»αÑñѽ∩Ѽδ⌐ Γ¿» «Γ½¿τáÑΓß∩ «Γ Γ¿»á óδ-
- αáªÑ¡¿∩. é Γ«¼ ß½πτáÑ, ¬«úñá º¡áτÑ¡¿Ñ αáßΦ¿α∩ÑΓß∩, Ñú« º¡á¬ óßÑú-
- ñá ß«σαá¡∩ÑΓß∩. Æá¬¿¼ «íαẫ¼, º¡áτÑ¡¿Ñ ∩ó½∩ÑΓß∩ αáßΦ¿α∩Ñ¼δ¼ »«
- º¡á¬π.
-
- æ¿¡Γá¬ß¿ß »α¿óÑñÑ¡¿∩ Γ¿»á º¡áτÑ¡¿⌐ »«τΓ¿ ß«ó»áñáÑΓ ß ß¿¡Γá¬-
- ߿߫¼ »α¿óÑñÑ¡¿∩ Γ¿»á »ÑαѼѡ¡δσ (ß¼. αáºñѽ "Åα¿óÑñÑ¡¿Ñ Γ¿»á »Ñ-
- αѼѡ¡δσ" ó â½áóÑ 5). Äñ¡á¬« »α¿ »α¿óÑñÑ¡¿¿ Γ¿»á º¡áτÑ¡¿⌐ «»Ñαá-
- µ¿¿ »α«¿ºó«ñ∩Γß∩ ß« º¡áτÑ¡¿∩¼¿, á ¡Ñ ß »ÑαѼѡ¡δ¼¿ ¿, Γᬿ¼
- «íαẫ¼, ¼«úπΓ ¡Ñ πτáßΓó«óáΓ∞ ó ßß佬áσ ¡á »ÑαѼѡ¡δÑ. Æ« ÑßΓ∞ ºá
- »α¿óÑñÑ¡¿Ñ¼ Γ¿»á º¡áτÑ¡¿∩ ¡Ñ «í∩ºáΓѽ∞¡« ß½ÑñπεΓ ¬óá½¿Σ¿¬áΓ«αδ. é
- τáßΓ¡«ßΓ¿, »α¿óÑñÑ¡¿Ñ Γ¿»á º¡áτÑ¡¿⌐ ¡Ñ ñ«½ª¡« óßΓαÑτáΓ∞ß∩ ó ½Ñó«⌐
- τáßΓ¿ «»ÑαáΓ«αá »α¿ßóá¿óá¡¿∩.
-
- ìѬ«Γ«αδÑ »α¿¼Ñαδ »α¿óÑñÑ¡¿∩ Γ¿»á º¡áτÑ¡¿⌐ ó¬½ετáεΓ ó ßÑí∩:
-
- Intereg('A')
- Char(48)
- Boolean(0)
- Color(2)
- IntPtr(@Buffer)
- BytePtr(Ptr($40,$49))
-
-
-
- B.Pascal 7 & Objects/LR - 115 -
-
- Åα«µÑñπα¡δÑ Γ¿»δ ó óδαáªÑ¡¿∩σ
- ─────────────────────────────────────────────────────────────────
-
- é «íΘѼ ß½πτáÑ ¿ß»«½∞º«óá¡¿Ñ »α«µÑñπα¡«⌐ »ÑαѼѡ¡«⌐ ó «»Ñαá-
- Γ«αÑ ¿½¿ óδαáªÑ¡¿¿ «º¡áτáÑΓ ó맮ó »α«µÑñπαδ ¿½¿ Σπ¡¬µ¿¿, σαá¡∩-
- ΘÑ⌐ß∩ ó φΓ«⌐ »ÑαѼѡ¡«⌐. Äñ¡á¬«, ¿¼ÑÑΓß∩ ¿ß¬½ετÑ¡¿Ñ. è«úñá ¬«¼»¿-
- ½∩Γ«α ó¿ñ¿Γ, τΓ« »α«µÑñπα¡á∩ »ÑαѼѡ¡á∩ ¡áσ«ñ¿Γß∩ ó ½Ñó«⌐ τáßΓ¿
- «»ÑαáΓ«αá »α¿ßóá¿óá¡¿∩, «¡ º¡áÑΓ, τΓ« »αáóá∩ τáßΓ∞ ñ«½ª¡á »αÑñß-
- Γáó½∩Γ∞ ß«í«⌐ »α«µÑñπα¡«Ñ º¡áτÑ¡¿Ñ. Éáßß¼«Γα¿¼ ó ¬áτÑßΓóÑ »α¿¼Ñαá
- ß½ÑñπεΘπε »α«úαá¼¼π:
-
- type
- IntFunc = function: Integer;
- var
- F: IntFunc;
- N: Integer;
-
- function ReadInt: Integer; far;
- var
- I: Integer;
- begin
- Read(I);
- ReadInt := I;
- end;
- begin
- F := ReadInt; { »α¿ßóá¿óá¡¿Ñ »α«µÑñπα¡«ú« º¡áτÑ¡¿∩ }
- N := ReadInt; { »α¿ßóá¿óá¡¿Ñ αѺπ½∞ΓáΓá Σπ¡¬µ¿¿ }
- end.
-
- ÅÑαóδ⌐ «»ÑαáΓ«α «ß¡«ó¡«⌐ »α«úαá¼¼δ »α¿ßóá¿óáÑΓ »α«µÑñπα¡«Ñ
- º¡áτÑ¡¿Ñ (áñαÑß »α«µÑñπαδ) ReadInt »α«µÑñπα¡«⌐ »ÑαѼѡ¡«⌐ F, óΓ«-
- α«⌐ «»ÑαáΓ«α óδºδóáÑΓ ReadInt ¿ »α¿ßóá¿óáÑΓ N ó«ºóαáΘáѼ«Ñ º¡áτÑ-
- ¡¿Ñ. Éẽ¿τ¿Ñ ¼Ñªñπ »«½πτÑ¡¿Ñ¼ »α«µÑñπα¡«ú« º¡áτÑ¡¿∩ ¿½¿ ó맮ó«¼
- Σπ¡¬µ¿¿ «ßπΘÑßΓó½∩ÑΓß∩ »« Γ¿»π »ÑαѼѡ¡«⌐, ¬«Γ«α«⌐ »α¿ßóá¿óáÑΓß∩
- º¡áτÑ¡¿Ñ (F ¿½¿ N).
-
- è ß«ªá½Ñ¡¿ε, ÑßΓ∞ ß¿Γπᵿ¿, ¬«úñá ¬«¼»¿½∩Γ«α ¡Ñ ¼«ªÑΓ «»αÑ-
- ñѽ¿Γ∞ ¿º ¬«¡ΓѬßΓá ªÑ½áѼ«Ñ ñÑ⌐ßΓó¿Ñ. ìá»α¿¼Ñα, ó ß½ÑñπεΘѼ «»Ñ-
- αáΓ«αÑ ñ½∩ ¬«¼»¿½∩Γ«αá ¡Ñ «τÑó¿ñ¡«, τΓ« ¡πª¡« ßñѽáΓ∞: ßαáó¡¿Γ∞
- »α«µÑñπα¡«Ñ º¡áτÑ¡¿Ñ ó F ß »α«µÑñπα¡δ¼ º¡áτÑ¡¿Ñ¼ ReadInt, τΓ«íδ
- «»αÑñѽ¿Γ∞, τΓ« F π¬áºδóáÑΓ ó ñá¡¡δ⌐ ¼«¼Ñ¡Γ ¡á ReadInt, ¿½¿ óδº-
- óáΓ∞ F ¿ ReadInt, á ºáΓѼ ßαáó¡¿Γ∞ ó«ºóαáΘáѼδÑ º¡áτÑ¡¿∩:
-
- if F = ReadInt then
- WriteLn('Equal');
-
- Äñ¡á¬«, ßΓá¡ñáαΓ¡δ⌐ ß¿¡Γá¬ß¿ß Åá߬á½∩ «»αÑñѽ∩ÑΓ, τΓ« óσ«ª-
- ñÑ¡¿Ñ ó óδαáªÑ¡¿Ñ ¿ñÑ¡Γ¿Σ¿¬áΓ«αá Σπ¡¬µ¿¿ «º¡áτáÑΓ ó맮ó φΓ«⌐
- Σπ¡¬µ¿¿, »«φΓ«¼π ó αѺπ½∞ΓáΓÑ »αÑñδñπΘÑú« «»ÑαáΓ«αá íπñÑΓ óδ»«½-
- ¡Ñ¡ ó맮ó F ¿ ReadInt, á ºáΓѼ íπñπΓ ßαáó¡¿óáΓ∞ß∩ ó«ºóαáΘáѼδÑ
- º¡áτÑ¡¿∩. ùΓ«íδ ßαáó¡¿Γ∞ »α«µÑñπα¡«Ñ º¡áτÑ¡¿Ñ ó F ß »α«µÑñπα¡δ¼
- º¡áτÑ¡¿Ñ¼ ó ReadInt, ¡πª¡« ¿ß»«½∞º«óáΓ∞ ß½ÑñπεΘπε ¬«¡ßΓαπ¬µ¿ε:
-
-
- B.Pascal 7 & Objects/LR - 116 -
-
- if @F = @ReadInt then
- WriteLn('Equal');
-
- Åα¿ »α¿¼Ñ¡Ñ¡¿¿ ¬ »α«µÑñπα¡«⌐ »ÑαѼѡ¡«⌐, ¿ñÑ¡Γ¿Σ¿¬áΓ«απ »α«-
- µÑñπαδ ¿½¿ Σπ¡¬µ¿¿ «»Ñαᵿ¿ »«½πτÑ¡¿∩ áñαÑßá @, φΓá «»Ñαᵿ∩ »αÑ-
- ñ«ΓóαáΘáÑΓ óδº«ó ¬«¼»¿½∩Γ«α«¼ »α«µÑñπαδ ¿ ó Γ« ªÑ óαѼ∩ »αÑ«íαá-
- ºπÑΓ áαúπ¼Ñ¡Γ ó π¬áºáΓѽ∞. Æá¬¿¼ «íαẫ¼, @F »αÑ«íαáºπÑΓ F ó ¡Ñ-
- Γ¿»¿º«óá¡¡δ⌐ π¬áºáΓѽ∞-»ÑαѼѡ¡πε, ¬«Γ«αá∩ ß«ñÑαª¿Γ áñαÑß
- ReadInt. ä½∩ «»αÑñѽѡ¿∩ Γ«ú«, τΓ« F ßßδ½áÑΓß∩ ¡á ReadInt ¼«ª¡«
- ßαáó¡¿Γ∞ ñóá º¡áτÑ¡¿∩-π¬áºáΓѽ∩.
-
- Ä»Ñαᵿ∩ @ τáßΓ« ¿ß»«½∞ºπÑΓß∩ »α¿ »α¿ßóá¿óá¡¿¿ »α«µÑñπα¡«⌐
- »ÑαѼѡ¡«⌐ ¡ÑΓ¿»¿º¿α«óá¡¡«ú« º¡áτÑ¡¿∩-π¬áºáΓѽ∩. ìá»α¿¼Ñα, «»αÑ-
- ñѽѡ¡á∩ ó Windows (ó ¼«ñπ½Ñ WinProcs) Σπ¡¬µ¿∩ GetProcAddress
- ó«ºóαáΘáÑΓ áñαÑß φ¬ß»«αΓ¿απѼ«⌐ Σπ¡¬µ¿¿ ó DLL ¬á¬ ¡ÑΓ¿»¿º¿α«óá¡-
- ¡«⌐ º¡áτÑ¡¿Ñ-π¬áºáΓѽ∞. æ »«¼«Θ∞ε «»Ñαᵿ¿ @ ó맮ó GetProcAddress
- ¼«ª¡« »α¿ßó«¿Γ∞ »α«µÑñπα¡«⌐ »ÑαѼѡ¡«⌐:
-
- type
- TStrComp = function(Str1, Str2: PChar): Integer;
- var
- StrComp: TStrComp:
- .
- .
- .
- begin
- .
- .
- .
- @StrComp := GetProcAddress(KernelHandle, 'Lstrcmpi');
- .
- .
- .
- end.
-
- ùΓ«íδ »«½πτ¿Γ∞ áñαÑß ó »á¼∩Γ¿ »α«µÑñπα¡«⌐ »ÑαѼѡ¡«⌐, á ¡Ñ
- áñαÑß, ó ¡Ñ⌐ ºá»¿ßá¡¡δ⌐, ¿ß»«½∞ºπ⌐ΓÑ ñó«⌐¡πε «»Ñαᵿε @ (@@).
- ìá»α¿¼Ñα, @P «º¡áτáÑΓ »αÑ«íαẫóá¡¿Ñ P ó ¡ÑΓ¿»¿º¿α«óá¡¡δ⌐ π¬áºá-
- Γѽ∞-»ÑαѼѡ¡πε, ó @@P «º¡áτáÑΓ ó«ºóαáΘÑ¡¿Ñ Σ¿º¿τÑ߬«ú« áñαÑßá
- »ÑαѼѡ¡«⌐ P.
-
-
-
- B.Pascal 7 & Objects/LR - 117 -
-
- ───────────────────────────────────────────────────────────────────────
- â½áóá 7. Ä»ÑαáΓ«αδ
- ─────────────────────────────────────────────────────────────────
-
- Ä»ÑαáΓ«αδ «»¿ßδóáεΓ ΓÑ á½ú«α¿Γ¼¿τÑ߬¿Ñ ñÑ⌐ßΓó¿∩, ¬«Γ«αδÑ
- ñ«½ª¡δ óδ»«½¡∩Γ∞ß∩. Ä»ÑαáΓ«αá¼ ¼«úπΓ »αÑñΦÑßΓó«óáΓ∞ ¼ÑΓ¬¿, ¬«Γ«-
- αδÑ ¼«ª¡« ¿ß»«½∞º«óáΓ∞ ñ½∩ ßß佫¬ ó «»ÑαáΓ«αáσ »ÑαÑσ«ñá goto.
-
- «»ÑαáΓ«α ──┬────────────────────┬──────────────────────────>
- │ ┌─────┐ ┌───┐ ^ │ ┌────────────────┐ ^
- └─>│¼ÑΓ¬á├──>│ : ├─┘ ├──>│»α«ßΓ«⌐ «»ÑαáΓ«α├──┤
- └─────┘ └───┘ │ └────────────────┘ │
- │ ┌────────────────┐ │
- └──>│ ßΓαπ¬Γπα¡δ⌐ ├──┘
- │ «»ÑαáΓ«α │
- └────────────────┘
-
- îÑΓ¬á - φΓ« »«ß½Ññ«óáΓѽ∞¡«ßΓ∞ µ¿Σα ó ñ¿á»áº«¡Ñ «Γ 0 ñ« 9999
- ¿½¿ ¿ñÑ¡Γ¿Σ¿¬áΓ«α.
-
- æπΘÑßΓóπÑΓ ñóá «ß¡«ó¡δσ ó¿ñá «»ÑαáΓ«α«ó: »α«ßΓδÑ «»ÑαáΓ«αδ ¿
- ßΓαπ¬Γπα¡δÑ «»ÑαáΓ«αδ.
-
-
- Åα«ßΓδÑ «»ÑαáΓ«αδ
- ─────────────────────────────────────────────────────────────────
-
- Åα«ßΓδ¼ «»ÑαáΓ«α«¼ ∩ó½∩ÑΓß∩ Γᬫ⌐ «»ÑαáΓ«α, ¬«Γ«αδ⌐ ¡Ñ ß«-
- ñÑαª¿Γ ó ßÑíÑ ñαπú¿σ «»ÑαáΓ«α«ó.
-
- ┌─────────────────────┐
- »α«ßΓ«⌐ «»ÑαáΓ«α ────┬───>│«»ÑαáΓ«α »α¿ßóá¿óá¡¿∩├───────>
- │ └─────────────────────┘ ^
- │ ┌─────────────────────┐ │
- ├───>│ «»ÑαáΓ«α »α«µÑñπαδ ├───┤
- │ └─────────────────────┘ │
- │ ┌─────────────────────┐ │
- └───>│ «»ÑαáΓ«α »ÑαÑσ«ñá ├───┘
- └─────────────────────┘
-
-
-
-
- B.Pascal 7 & Objects/LR - 118 -
-
- Ä»ÑαáΓ«α »α¿ßóá¿óá¡¿∩
- ─────────────────────────────────────────────────────────────────
-
- Ä»ÑαáΓ«α »α¿ßóá¿óá¡¿∩ ºá¼Ñ¡∩ÑΓ ΓѬπΘÑÑ º¡áτÑ¡¿Ñ »ÑαѼѡ¡«⌐
- ¡«óδ¼ º¡áτÑ¡¿Ñ¼, ¬«Γ«α«Ñ «»αÑñѽ∩ÑΓß∩ óδαáªÑ¡¿Ñ¼, ¿½¿ «»αÑñѽ∩ÑΓ
- óδαáªÑ¡¿Ñ, º¡áτÑ¡¿Ñ ¬«Γ«α«ú« ñ«½ª¡« ó«ºóαáΘáΓ∞ß∩ Σπ¡¬µ¿Ñ⌐.
-
- ┌───────────┐ ┌──┐ ┌─────────┐
- «»ÑαáΓ«α ─────┬──>│ßßδ½¬á ¡á ├──────>│:=├──>│óδαáªÑ¡¿Ñ├──>
- »α¿ßóá¿óá¡¿∩ │ │»ÑαѼѡ¡πε │ ^ └──┘ └─────────┘
- │ └───────────┘ │
- │ ┌─────────────┐ │
- └──>│¿ñÑ¡Γ¿Σ¿¬áΓ«α├─┘
- │ Σπ¡¬µ¿¿ │
- └─────────────┘
-
- éδαáªÑ¡¿Ñ ñ«½ª¡« íδΓ∞ ß«ó¼ÑßΓ¿¼« »« »α¿ßóá¿óá¡¿ε ß Γ¿»«¼ »Ñ-
- αѼѡ¡«⌐ ¿½¿ Γ¿»«¼ º¡áτÑ¡¿∩, ó«ºóαáΘáѼ«ú« Σπ¡¬µ¿Ñ⌐ ó ¬áτÑßΓóÑ
- αѺπ½∞ΓáΓá (ß¼. αáºñѽ "æ«ó¼ÑßΓ¿¼«ßΓ∞ Γ¿»«ó" ó â½áóÑ 4).
-
- Åα¿óÑñѼ ¡Ñ¬«Γ«αδÑ »α¿¼Ñαδ «»ÑαáΓ«α«ó »α¿ßóá¿óá¡¿∩:
-
- X := Y + Z
- Done := (I >= 1) and (I < 100);
- Huel := [blue, Succ(C)];
- I := Sqr(J) - I * K;
-
- Åα¿ßóá¿óá¡¿∩ «íΩÑ¬Γ¡«ú« Γ¿»á
-
- Åαáó¿½á ß«ó¼ÑßΓ¿¼«ßΓ¿ »« »α¿ßóá¿óá¡¿ε «íΩÑ¬Γ¡δσ Γ¿»«ó »«ºó«-
- ½∩εΓ »α¿ßóá¿óáΓ∞ φ¬ºÑ¼»½∩απ «íΩѬΓá φ¬ºÑ¼»½∩α ½εí«ú« ¿º Ñú« ñ«-
- τÑα¡¿σ Γ¿»«ó. Æá¬«Ñ »α¿ßóá¿óá¡¿Ñ »αÑñßΓáó½∩ÑΓ ß«í«⌐ »α«Ñ¬µ¿ε
- »«Γ«¼¬á ¡á »α«ßΓαá¡ßΓó« Ñú« »αÑñ¬á. é »α¿¼ÑαÑ ¿ßσ«ñ¡«ú« ¬«ñá ó
- â½áóÑ 4 ß πτÑΓ«¼ φ¬ºÑ¼»½∩αá F Γ¿»á TField ¿ φ¬ºÑ¼»½∩αá Z Γ¿»á
- TZipField »α¿ßóá¿óá¡¿Ñ F := Z ¬«»¿απÑΓ Γ«½∞¬« »«½∩ X, Y, Len ¿
- Name.
-
- Åα¿ßóá¿óá¡¿Ñ φ¬ºÑ¼»½∩απ «íΩÑ¬Γ¡«ú« Γ¿»á ¡Ñ ¿¡¿µ¿á½¿º¿απÑΓ
- φ¬ºÑ¼»½∩α. ìá»α¿¼Ñα, ó »αÑñδñπΘѼ »α¿¼ÑαÑ »α¿ßóá¿óá¡¿Ñ F := Z «º-
- ¡áτáÑΓ, τΓ« óδº«ó ¬«¡ßΓαπ¬Γ«αá ñ½∩ F ¼«ª¡« «»πßΓ¿Γ∞.
-
-
-
- B.Pascal 7 & Objects/LR - 119 -
-
- Ä»ÑαáΓ«αδ »α«µÑñπαδ
- ─────────────────────────────────────────────────────────────────
-
- Ä»ÑαáΓ«α »α«µÑñπαδ «»αÑñѽ∩ÑΓ á¬Γ¿ó¿ºáµ¿ε »α«µÑñπαδ, «í«º¡á-
- τÑ¡¡πε ß »«¼«Θ∞ε ¿ñÑ¡Γ¿Σ¿¬áΓ«αá »α«µÑñπαδ. àß½¿ ß««ΓóÑΓßΓóπεΘÑÑ
- «»¿ßá¡¿Ñ »α«µÑñπαδ ß«ñÑαª¿Γ ß»¿ß«¬ Σ«α¼á½∞¡δσ »áαá¼ÑΓα«ó, Γ« «»Ñ-
- αáΓ«α »α«µÑñπαδ ñ«½ªÑ¡ ß«ñÑαªáΓ∞ ó ßÑíÑ ß««ΓóÑΓßΓóπεΘ¿⌐ Ѽπ ß»¿-
- ß«¬ Σá¬Γ¿τÑ߬¿σ »áαá¼ÑΓα«ó (»áαá¼ÑΓαδ, ß»¿ß«¬ ¬«Γ«αδσ »α¿ó«ñ¿Γß∩
- ó «»αÑñѽѡ¿¿, ∩ó½∩εΓß∩ Σ«α¼á½∞¡δ¼¿ »áαá¼ÑΓαἿ, á ó «»ÑαáΓ«αÑ
- ó맮óá »α«µÑñπαδ «¡¿ ∩ó½∩εΓß∩ Σá¬Γ¿τÑ߬¿¼¿ »áαá¼ÑΓαἿ). Åα¿ óδ-
- º«óÑ »α«¿ßσ«ñ¿Γ »ÑαÑñáτá Σá¬Γ¿τÑ߬¿σ »áαá¼ÑΓα«ó Σ«α¼á½∞¡δ¼ »áαá-
- ¼ÑΓαá¼.
-
- ┌─────────────┐
- «»ÑαáΓ«α ──┬─>│¿ñÑ¡Γ¿Σ¿¬áΓ«α├─┬┬──────────────────────────>
- »α«µÑñπαδ │ │ »α«µÑñπαδ │ ││ ┌──────────────────┐ ^
- │ └─────────────┘ │└─>│ß»¿ß«¬ Σá¬Γ¿τÑ߬¿σ├─┘
- │ ┌─────────────┐ │ │ »áαá¼ÑΓα«ó │
- ├─>│ ñÑß¿ú¡áΓ«α ├─┤ └──────────────────┘
- │ │ ¼ÑΓ«ñá │ │
- │ └─────────────┘ │
- │ ┌─────────────┐ │
- ├─>│ πΓ«τ¡Ñ¡¡δ⌐ ├─┤
- │ │ ñÑß¿ú¡áΓ«α │ │
- │ │ ¼ÑΓ«ñá │ │
- │ └─────────────┘ │
- │ ┌─────────────┐ │
- └─>│ ßßδ½¬á ¡á ├─┘
- │ »ÑαѼѡ¡πε │
- └─────────────┘
-
- Åα¿óÑñѼ ¡Ñ¬«Γ«αδÑ »α¿¼Ñαδ «»ÑαáΓ«α«ó »α«µÑñπα:
-
- PrintHeaing;
- Transpose(A,N,M);
- Fin(Name,Address);
-
-
-
- B.Pascal 7 & Objects/LR - 120 -
-
- Ä»ÑαáΓ«αδ »ÑαÑσ«ñá
- ─────────────────────────────────────────────────────────────────
-
- Ä»ÑαáΓ«α »ÑαÑσ«ñá goto óδºδóáÑΓ »ÑαÑñáτπ π»αáó½Ñ¡¿∩ «»ÑαáΓ«-
- απ, ¬«Γ«α«¼π »αÑñΦÑßΓóπÑΓ ¼ÑΓ¬á, π¬áºá¡¡á∩ ó ñá¡¡«¼ «»ÑαáΓ«αÑ »Ñ-
- αÑσ«ñá. æ¿¡Γá¬ß¿τÑ߬á∩ ßσÑ¼á «»ÑαáΓ«αá »ÑαÑσ«ñá ¿¼ÑÑΓ ß½ÑñπεΘ¿⌐
- ó¿ñ:
-
- ┌────┐ ┌─────┐
- «»ÑαáΓ«α »ÑαÑσ«ñá ───>│goto├───>│¼ÑΓ¬á├───>
- └────┘ └─────┘
-
- Åα¿ ¿ß»«½∞º«óá¡¿¿ «»ÑαáΓ«αá »ÑαÑσ«ñá ñ«½ª¡δ ß«í½εñáΓ∞ß∩ ß½Ñ-
- ñπεΘ¿Ñ »αáó¿½á:
-
- 1. îÑΓ¬á, ¬«Γ«αá∩ π¬áºδóáÑΓß∩ ó «»ÑαáΓ«αÑ »ÑαÑσ«ñá, ñ«½ª¡á
- ¡áσ«ñ¿Γ∞ß∩ ó Γ«¼ ªÑ í½«¬Ñ ¿½¿ ¼«ñπ½Ñ, τΓ« ¿ ßá¼ «»ÑαáΓ«α
- »ÑαÑσ«ñá. äαπú¿¼¿ ß½«óἿ, ¡Ñ ñ«»π߬áεΓß∩ »ÑαÑσ«ñδ ¿º
- »α«µÑñπαδ ¿½¿ Σπ¡¬µ¿¿ ¿½¿ ó¡πΓα∞ ¡ÑÑ.
-
- 2. ÅÑαÑσ«ñ ¿ºó¡Ñ ó¡πΓα∞ ßΓαπ¬Γπα¡«ú« «»ÑαáΓ«αá (Γ« ÑßΓ∞ »Ñ-
- αÑσ«ñ ¡á í«½ÑÑ ú½πí«¬¿⌐ πα«óÑ¡∞ 󽫪ѡ¡«ßΓ¿) ¼«ªÑΓ óδº-
- óáΓ∞ ¡Ñ»αÑñ߬áºπѼδÑ φΣΣѬΓδ, σ«Γ∩ ¬«¼»¿½∩Γ«α ¡Ñ óδñáÑΓ
- ß««íΘÑ¡¿∩ «í «Φ¿í¬Ñ. ìá»α¿¼Ñα, óδ ¡Ñ ñ«½ª¡δ »ÑαÑσ«ñ¿Γ∞ ó
- Γѽ« µ¿¬½á for.
-
- Åα¿¼Ñτá¡¿Ñ: ò«α«Φá∩ »αá¬Γ¿¬á »α«úαá¼¼¿α«óá¡¿∩ ΓαÑíπÑΓ
- ¼¿¡¿¼á½∞¡«ú« ¿ß»«½∞º«óá¡¿∩ »ÑαÑσ«ñ«ó.
-
- æΓαπ¬Γπα¡δÑ «»ÑαáΓ«αδ
- ─────────────────────────────────────────────────────────────────
-
- æΓαπ¬Γπα¡δÑ «»ÑαáΓ«αδ ßΓα«∩Γß∩ ¿º ñαπú¿σ «»ÑαáΓ«α«ó, »«α∩ñ«¬
- óδ»«½¡Ñ¡¿∩ ¬«Γ«αδσ ñ«½ªÑ¡ íδΓ∞ »«ß½Ññ«óáΓѽ∞¡δ¼ (ß«ßΓáó¡δÑ «»Ñαá-
- Γ«αδ ¿ «»ÑαáΓ«αδ ¡áñ ºá»¿ß∩¼¿), «»αÑñѽ∩Ñ¼δ¼ πß½«ó¡«⌐ »ÑαÑñáτÑ⌐
- π»αáó½Ñ¡¿∩ (πß½«ó¡δÑ «»ÑαáΓ«αδ) ¿½¿ »«óΓ«α∩εΘ¿¼ß∩ («»ÑαáΓ«αδ µ¿¬-
- ½á).
-
- ┌───────────────────────┐
- ßΓαπ¬Γπα¡δ⌐ ────┬────>│ ß«ßΓáó¡«⌐ «»ÑαáΓ«α ├───────>
- «»ÑαáΓ«α │ └───────────────────────┘ ^
- │ ┌───────────────────────┐ │
- ├────>│ πß½«ó¡δ⌐ «»ÑαáΓ«α ├───┤
- │ └───────────────────────┘ │
- │ ┌───────────────────────┐ │
- ├────>│ «»ÑαáΓ«α µ¿¬½á ├───┤
- │ └───────────────────────┘ │
- │ ┌───────────────────────┐ │
- └────>│ «»ÑαáΓ«α ¡áñ ºá»¿ß∩¼¿ ├───┘
- └───────────────────────┘
-
-
-
- B.Pascal 7 & Objects/LR - 121 -
-
- æ«ßΓáó¡δÑ «»ÑαáΓ«αδ
- ─────────────────────────────────────────────────────────────────
-
- æ«ßΓáó¡δÑ «»ÑαáΓ«αδ ºáñáεΓ »«α∩ñ«¬ óδ»«½¡Ñ¡¿∩ «»ÑαáΓ«α«ó,
- ∩ó½∩εΘ¿σß∩ ¿σ φ½Ñ¼Ñ¡ΓἿ. Ä¡¿ ñ«½ª¡δ óδ»«½¡∩Γ∞ß∩ ó Γ«¼ »«α∩ñ¬Ñ, ó
- ¬«Γ«α«¼ «¡¿ ºá»¿ßá¡δ. æ«ßΓáó¡δÑ «»ÑαáΓ«αδ «íαáíáΓδóáεΓß∩, ¬á¬
- «ñ¿¡ «»ÑαáΓ«α, τΓ« ¿¼ÑÑΓ αÑΦáεΘÑÑ º¡áτÑ¡¿Ñ Γá¼, úñÑ ß¿¡Γá¬ß¿ß
- Åá߬á½∩ ñ«»π߬áÑΓ ¿ß»«½∞º«óá¡¿Ñ Γ«½∞¬« «ñ¡«ú« «»ÑαáΓ«αá. Ä»ÑαáΓ«-
- αδ ºá¬½ετáεΓß∩ ó «úαá¡¿τ¿Γѽ¿ begin ¿ end, ¿ «Γñѽ∩εΓß∩ ñαπú «Γ
- ñαπúá Γ«τ¬«⌐ ß ºá»∩Γ«⌐.
-
- ┌─────┐ ┌────────┐ ┌───┐
- ß«ßΓáó¡«⌐ ────>│begin├──────>│«»ÑαáΓ«α├────┬──>│end├──>
- «»ÑαáΓ«α └─────┘ ^ └────────┘ │ └───┘
- │ ┌───┐ │
- └─────┤ ; │<──────┘
- └───┘
-
- Åα¿óÑñѼ »α¿¼Ñα ß«ßΓáó¡«ú« «»ÑαáΓ«αá:
-
- begin
- Z := X;
- X := Y;
- Y := Z;
- end;
-
- ôß½«ó¡δÑ «»ÑαáΓ«αδ
- ─────────────────────────────────────────────────────────────────
-
- ôß½«ó¡δÑ «»ÑαáΓ«αδ »«ºó«½∩εΓ óδíαáΓ∞ ñ½∩ óδ»«½¡Ñ¡¿∩ «ñ¿¡ ¿º
- ß«ßΓáó¡δσ «»ÑαáΓ«α«ó (¿½¿ ¡Ñ óδíαáΓ∞ ¡¿ «ñ¡«ú«).
-
- ┌───────────────┐
- πß½«ó¡δ⌐ «»ÑαáΓ«α ──┬──>│ «»ÑαáΓ«α if ├───────>
- │ └───────────────┘ ^
- │ ┌───────────────┐ │
- └──>│ «»ÑαáΓ«α case ├───┘
- └───────────────┘
-
-
-
-
- B.Pascal 7 & Objects/LR - 122 -
-
- Ä»ÑαáΓ«α πß½«ó¿∩ (if)
- ─────────────────────────────────────────────────────────────────
-
- æ¿¡Γá¬ß¿ß «»ÑαáΓ«αá if ¼«ª¡« »αÑñßΓáó¿Γ∞ ß½ÑñπεΘ¿¼ «íαẫ¼:
-
- ┌──┐ ┌─────────┐ ┌────┐ ┌────────┐
- «»ÑαáΓ«α if ─>│if├──>│óδαáªÑ¡¿Ñ├──>│then├──>│«»ÑαáΓ«α├──┬──┐
- └──┘ └─────────┘ └────┘ └────────┘ │ │
- ┌────────────────────────┘ │
- │ ┌────┐ ┌────────┐ v
- └──>│else├──>│«»ÑαáΓ«α├─────────>
- └────┘ └────────┘
-
- é óδαáªÑ¡¿¿ ñ«½ªÑ¡ »«½πτáΓ∞ß∩ αѺπ½∞ΓáΓ, ¿¼ÑεΘ¿⌐ ßΓá¡ñáαΓ¡δ⌐
- íπ½Ñó߬¿⌐ Γ¿». àß½¿ αѺπ½∞ΓáΓ«¼ óδαáªÑ¡¿∩ ∩ó½∩ÑΓß∩ ¿ßΓ¿¡¡«Ñ º¡á-
- τÑ¡¿Ñ (True), Γ« óδ»«½¡∩ÑΓß∩ «»ÑαáΓ«α, ß½ÑñπεΘ¿⌐ ºá ¬½ετÑóδ¼ ß½«-
- ó«¼ then.
-
- àß½¿ αѺπ½∞ΓáΓ«¼ óδαáªÑ¡¿∩ ∩ó½∩ÑΓß∩ º¡áτÑ¡¿Ñ False ¿ »α¿-
- ßπΓßΓóπÑΓ ¬½ετÑó«Ñ ß½«ó« else, Γ« óδ»«½¡∩Γß∩ «»ÑαáΓ«α, ß½ÑñπεΘ¿⌐
- ºá ¬½ετÑóδ¼ ß½«ó«¼ else. àß½¿ ¬½ετÑó«Ñ ß½«ó« else «ΓßπΓßΓóπÑΓ, Γ«
- ¡¿¬á¬«⌐ «»ÑαáΓ«α ¡Ñ óδ»«½¡∩ÑΓß∩.
-
- æ¿¡Γá¬ß¿τÑ߬á∩ ¡Ñ«ñ¡«º¡áτ¡«ßΓ∞, 󫺡¿¬áεΘá∩ ó ¬«¡ßΓαπ¬µ¿¿:
-
- if e1 then e2 else e3
-
- αáºαÑΦáÑΓß∩ »πΓѼ ß½ÑñπεΘÑ⌐ ¿¡ΓÑα»αÑΓᵿ¿ φΓ«⌐ ¬«¡ßΓαπ¬µ¿¿:
-
- if e1 then
- begin
- if e2 then
- s1
- else
- s2
- end
-
- Åα¿¼Ñτá¡¿Ñ: é »αÑñΦÑßΓóπεΘѼ «»ÑαáΓ«αÑ else ñó«ÑΓ«τ¿Ñ
- ¡Ñ π¬áºδóáÑΓß∩.
-
- é «íΘѼ ß½πτáÑ ¬½ετÑó«Ñ ß½«ó« else ßó∩ºδóáÑΓß∩ ß í½¿ªá⌐Φ¿¼
- ¬½ετÑóδ¼ ß½«ó«¼ if, ¬«Γ«α«Ñ ÑΘÑ ¡Ñ ßó∩ºá¡« ß ¬½ετÑóδ¼ ß½«ó«¼
- else.
-
- Åα¿óÑñѼ ñóá »α¿¼Ñαá «»ÑαáΓ«αá if:
-
- if X < 1.5 then
- Z := X+Y
- else
- Z := 1.5;
-
- if P1 <> nil then
- P1 := P1^.father;
-
- B.Pascal 7 & Objects/LR - 123 -
-
-
-
- Ä»ÑαáΓ«α óáα¿á¡Γá (case)
- ─────────────────────────────────────────────────────────────────
-
- Ä»ÑαáΓ«α óáα¿á¡Γá (casÑ) ß«ßΓ«¿Γ ¿º óδαáªÑ¡¿∩ (»ÑαѬ½ετáΓÑ-
- ½∩) ¿ ß»¿ß¬á «»ÑαáΓ«α«ó, ¬áªñ«¼π ¿º ¬«Γ«αδσ »αÑñΦÑßΓóπÑΓ «ñ¡á ¿½¿
- í«½ÑÑ ¬«¡ßΓá¡Γ («¡¿ ¡áºδóáεΓß∩ ¬«¡ßΓá¡ΓἿ óδí«αá) ¿½¿ ¬½ετÑó«Ñ
- ß½«ó« else. ÅÑαѬ½ετáΓѽ∞ (ßÑ½Ñ¬Γ«α) ñ«½ªÑ¡ ¿¼ÑΓ∞ »«α∩ñ¬«óδ⌐ Γ¿»
- (αẼÑα«¼ ó íá⌐Γ ¿½¿ ß½«ó«). Æá¬¿¼ «íαẫ¼, ßΓ᫬«óδ⌐ Γ¿» ¿ ñ½¿¡-
- ¡δ⌐ µÑ½δ⌐ Γ¿» ∩ó½∩εΓß∩ ¡Ññ«»πßΓ¿¼δ¼¿ Γ¿»á¼¿ »ÑαѬ½ετáΓѽ∩. éßÑ
- ¬«¡ßΓá¡Γδ óδí«αá ñ«½ª¡δ íδΓ∞ π¡¿¬á½∞¡δ¼¿ ¿ ¿¼ÑΓ∞ »«α∩ñ¬«óδ⌐ Γ¿»,
- ß«ó¼ÑßΓ¿¼δ⌐ ß Γ¿»«¼ »ÑαѬ½ετáΓѽ∩.
-
- ┌────┐ ┌─────────┐ ┌──┐ ┌────┐
- «»ÑαáΓ«α case ─>│case├──>│óδαáªÑ¡¿Ñ├──>│of├─────>│case├──┬──┐
- └────┘ └─────────┘ └──┘ ^ └────┘ │ │
- │ ┌────┐ │ │
- └───┤ ; │<─┘ │
- └────┘ │
- ┌───────────────────────────────────────┘
- │ ┌───┐
- └─┬────────────────────┬──────────>│end├──>
- │ ┌──────────┐ ^ │ ┌───┐ ^ └───┘
- └──>│óÑΓó∞ else├──┘ └─>│ ; ├──┘
- └──────────┘ └───┘
-
- ┌────────────────────┐
- ┌─────────┐ │ ┌──┐ ┌─────────┐ v ┌───┐ ┌────────┐
- case ──>│¬«¡ßΓá¡Γá├─┴─>│..├─>│¬«¡ßΓá¡Γá├──┬─>│ : ├─>│«»ÑαáΓ«α├─>
- ^ └─────────┘ └──┘ └─────────┘ │ └───┘ └────────┘
- │ ┌───┐ │
- └─────────────────┤ , │<─────────────┘
- └───┘
-
- ┌────┐ ┌────────┐
- óÑΓó∞ else ────>│else├───>│«»ÑαáΓ«α├───>
- └────┘ └────────┘
-
- Ä»ÑαáΓ«α óáα¿á¡Γá case »α¿ó«ñ¿Γ ¬ óδ»«½¡Ñ¡¿ε «»ÑαáΓ«αá, ¬«-
- Γ«α«¼π »αÑñΦÑßΓóπÑΓ ¬«¡ßΓá¡Γá óδí«αá, αáó¡á∩ º¡áτÑ¡¿ε »ÑαѬ½ετá-
- Γѽ∩ ¿½¿ ñ¿á»áº«¡π óδí«αá, ó ¬«Γ«α«¼ ¡áσ«ñ¿Γß∩ º¡áτÑ¡¿Ñ »ÑαѬ½ε-
- τáΓѽ∩. àß½¿ Γᬫ⌐ ¬«¡ßΓá¡Γδ óδí«αá ¿½¿ Γᬫú« ñ¿á»áº«¡á óδí«αá
- ¡Ñ ßπΘÑßΓóπÑΓ ¿ »α¿ßπΓßΓóπÑΓ óÑΓó∞ else, Γ« óδ»«½¡∩Γß∩ «»ÑαáΓ«α,
- ß½ÑñπεΘ¿⌐ ºá ¬½ετÑóδ¼ ß½«ó«¼ else. àß½¿ ªÑ óÑΓó∞ else «ΓßπΓßΓóπ-
- ÑΓ, Γ« ¡¿¬á¬«⌐ «»ÑαáΓ«α ¡Ñ óδ»«½¡∩ÑΓß∩.
-
- B.Pascal 7 & Objects/LR - 124 -
-
-
- Åα¿óÑñѼ ¡Ñ¬«Γ«αδÑ »α¿¼Ñαδ «»ÑαáΓ«αá óáα¿á¡Γá:
-
- case Operator of
- plus: X := X+Y;
- minus: X := X-Y;
- times: X := X*Y;
- end;
-
- case I of
- 0, 2, 4, 6, 8: Writeln('ùÑΓ¡á∩ µ¿Σαá');
- 1, 3, 5, 7, 9: Writeln('ìÑτÑΓ¡á∩ µ¿Σαá');
- 10..100: Writeln('îѪñπ 10 ¿ 100');
- end;
-
-
-
- B.Pascal 7 & Objects/LR - 125 -
-
- Ä»ÑαáΓ«α µ¿¬½á
- ─────────────────────────────────────────────────────────────────
-
- Ä»ÑαáΓ«α µ¿¬½á ºáñáÑΓ »«óΓ«α¡«Ñ óδ»«½¡Ñ¡¿Ñ «»αÑñѽѡ¡δσ «»Ñ-
- αáΓ«α«ó.
-
- ┌─────────────────┐
- «»ÑαáΓ«α µ¿¬½á ───┬──>│ «»ÑαáΓ«α repeat ├──────>
- │ └─────────────────┘ ^
- │ ┌─────────────────┐ │
- ├──>│ «»ÑαáΓ«α while ├──┤
- │ └─────────────────┘ │
- │ ┌─────────────────┐ │
- └──>│ «»ÑαáΓ«α for ├──┘
- └─────────────────┘
-
- àß½¿ τ¿ß½« »«óΓ«αÑ¡¿⌐ ºáαá¡ÑÑ ¿ºóÑßΓ¡«, Γ« »«ñσ«ñ∩ΘÑ⌐ ¬«¡ß-
- Γαπ¬µ¿⌐ ∩ó½∩ÑΓß∩ «»ÑαáΓ«α for. é »α«Γ¿ó¡«¼ ß½πτáÑ ß½ÑñπÑΓ ¿ß»«½∞-
- º«óáΓ∞ «»ÑαáΓ«αδ while ¿½¿ repeat.
-
- ä½∩ π»αáó½Ñ¡¿∩ »«óΓ«αÑ¡¿Ñ¼ «»ÑαáΓ«α«ó ¼«ª¡« ¿ß»«½∞º«óáΓ∞
- ßΓá¡ñáαΓ¡δÑ »α«µÑñπαδ Break ¿ Continue. Break ºáóÑαΦáÑΓ «»ÑαáΓ«α
- µ¿¬½á, á Continue »α«ñ«½ªáÑΓ ß« ß½ÑñπεΘÑ⌐ ¿ΓÑαᵿ¿ φΓ«ú« «»ÑαáΓ«-
- αá. Å«ñα«í¡«ßΓ¿ óδ ¼«ªÑΓÑ ¡á⌐Γ¿ ó â½áóÑ 1 "æ»αáó«τ¡«ú« απ¬«ó«ñß-
- Γóá »α«úαá¼¼¿ßΓá".
-
-
- Ä»ÑαáΓ«α µ¿¬½á ß »«ßΓπß½«ó¿Ñ¼ (repeat)
- ─────────────────────────────────────────────────────────────────
-
- é «»ÑαáΓ«αÑ µ¿¬½á ß »«ßΓπß½«ó¿Ñ¼ (¡áτ¿¡áεΘ¿¼ß∩ ß« ß½«óá
- repeat) óδαáªÑ¡¿Ñ, ¬«Γ«α«Ñ π»αáó½∩ÑΓ »«óΓ«α¡δ¼ óδ»«½¡Ñ¡¿Ñ¼ »«ß½Ñ-
- ñ«óáΓѽ∞¡«ßΓ¿ «»ÑαáΓ«α«ó ß«ñÑনΓß∩ ó¡πΓα¿ «»ÑαáΓ«αá repeat.
-
- ┌──────┐ ┌────────┐ ┌─────┐ ┌─────────┐
- «»ÑαáΓ«α ─>│repeat├────>│«»ÑαáΓ«α├──┬─>│until├──>│óδαáªÑ¡¿Ñ├──>
- repeat └──────┘ ^ └────────┘ │ └─────┘ └─────────┘
- │ ┌───┐ │
- └────┤ ; │<────┘
- └───┘
-
- ÉѺπ½∞ΓáΓ óδαáªÑ¡¿∩ ñ«½ªÑ¡ íδΓ∞ íπ½Ñó߬«ú« Γ¿»á. Ä»ÑαáΓ«αδ,
- ºá¬½ετÑ¡¡δÑ ¼Ñªñ𠬽ετÑó묨 ß½«óἿ repeat ¿ until, óδ»«½¡∩εΓß∩
- »«ß½Ññ«óáΓѽ∞¡« ñ« ΓÑσ »«α, »«¬á αѺπ½∞ΓáΓ óδαáªÑ¡¿∩ ¡Ñ »α¿¼ÑΓ
- º¡áτÑ¡¿Ñ True. ū߽Ññ«óáΓѽ∞¡«ßΓ∞ «»ÑαáΓ«α«ó óδ»«½¡¿Γß∩ »« ¬αá⌐-
- ¡Ñ⌐ ¼ÑαÑ «ñ¿¡ αáº, »«ß¬«½∞¬π óδτ¿ß½Ñ¡¿Ñ óδαáªÑ¡¿∩ »α«¿ºó«ñ¿Γß∩
- »«ß½Ñ ¬áªñ«ú« óδ»«½¡Ñ¡¿∩ »«ß½Ññ«óáΓѽ∞¡«ßΓ¿ «»ÑαáΓ«α«ó.
-
- B.Pascal 7 & Objects/LR - 126 -
-
-
- Åα¿óÑñѼ »α¿¼Ñαδ «»ÑαáΓ«αá µ¿¬½á ß »«ßΓπß½«ó¿Ñ¼:
-
- repeat
- K := I mod J;
- I := J;
- J := K;
- until J = 0;
-
- repeat
- Write('éóÑñ¿ΓÑ º¡áτÑ¡¿Ñ (0..9):');
- Readln(I);
- until (I >= 0) and (I <= 9);
-
-
-
-
- B.Pascal 7 & Objects/LR - 127 -
-
- Ä»ÑαáΓ«αδ µ¿¬½á ß »αÑñπß½«ó¿Ñ¼ (while)
- ─────────────────────────────────────────────────────────────────
-
- Ä»ÑαáΓ«α µ¿¬½á ß »αÑñπß½«ó¿Ñ¼ (¡áτ¿¡áεΘ¿⌐ß∩ ß ¬½ετÑó«ú« ß½«-
- óá while) ß«ñÑαª¿Γ ó ßÑíÑ óδαáªÑ¡¿Ñ, ¬«Γ«α«Ñ π»αáó½∩ÑΓ »«óΓ«α¡δ¼
- óδ»«½¡Ñ¡¿Ñ¼ «»ÑαáΓ«αá (¬«Γ«αδ⌐ ¼«ªÑΓ íδΓ∞ ß«ßΓáó¡δ¼ «»ÑαáΓ«α«¼).
-
- ┌─────┐ ┌─────────┐ ┌──┐ ┌────────┐
- «»ÑαáΓ«α ───>│while├──>│óδαáªÑ¡¿Ñ├──>│do├──>│«»ÑαáΓ«α├──>
- while └─────┘ └─────────┘ └──┘ └────────┘
-
- éδαáªÑ¡¿Ñ, ß »«¼«Θ∞ε ¬«Γ«α«ú« «ßπΘÑßΓó½∩ÑΓß∩ π»αáó½Ñ¡¿Ñ »«ó-
- Γ«αÑ¡¿Ñ¼ «»ÑαáΓ«αá, ñ«½ª¡« ¿¼ÑΓ∞ íπ½Ñó߬¿⌐ Γ¿». éδτ¿ß½Ñ¡¿Ñ Ñú«
- »α«¿ºó«ñ¿Γß∩ ñ« Γ«ú«, ¬á¬ ó¡πΓαÑ¡¡¿⌐ «»ÑαáΓ«α íπñÑΓ óδ»«½¡Ñ¡.
- é¡πΓαÑ¡¡¿⌐ «»ÑαáΓ«α óδ»«½¡∩Γß∩ »«óΓ«α¡« ñ« ΓÑσ »«α, »«¬á óδαáªÑ-
- ¡¿Ñ »α¿¡¿¼áÑΓ º¡áτÑ¡¿Ñ ÆruÑ. àß½¿ óδαáªÑ¡¿Ñ ß ßἫú« ¡áτá½á »α¿-
- ¡¿¼áÑΓ º¡áτÑ¡¿Ñ False, Γ« «»ÑαáΓ«α, ß«ñÑαªáΘ¿⌐ß∩ ó¡πΓα¿ «»ÑαáΓ«αá
- µ¿¬½á ß »αÑñπß½«ó¿Ñ¼, ¡Ñ óδ»«½¡∩ÑΓß∩.
-
- Åα¿¼ÑαἿ «»ÑαáΓ«α«ó µ¿¬½á ß »αÑñπß½«ó¿Ñ¼ ¼«úπΓ ß½πª¿Γ∞ ß½Ñ-
- ñπεΘ¿Ñ «»ÑαáΓ«αδ:
-
- while Data[I] <> X do I := I + 1;
-
- While I > 0 do
- begin
- if Odd(I) then Z := Z * X;
- I := I div 2;
- X := Sqr(X);
- end;
-
- while not Eof(InFile) do
- begin
- Readln(InFile,Line);
- Process(Line);
- end;
-
-
-
-
- B.Pascal 7 & Objects/LR - 128 -
-
- Ä»ÑαáΓ«αδ µ¿¬½á ß »áαá¼ÑΓα«¼ (for)
- ─────────────────────────────────────────────────────────────────
-
- Ä»ÑαáΓ«αδ µ¿¬½á ß »áαá¼ÑΓα«¼ (¬«Γ«αδÑ ¡áτ¿¡áεΓß∩ ß« ß½«óá
- for) óδºδóáÑΓ »«óΓ«α∩εΘÑÑß∩ óδ»«½¡Ñ¡¿Ñ «»ÑαáΓ«αá (¬«Γ«αδ⌐ ¼«ªÑΓ
- íδΓ∞ ß«ßΓáó¡δ¼ «»ÑαáΓ«α«¼) »«¬á π»αáó½∩εΘÑ⌐ »ÑαѼѡ¡«⌐ »α¿ßóá¿óá-
- ÑΓß∩ ó«ºαáßΓáεΘá∩ »«ß½Ññ«óáΓѽ∞¡«ßΓ∞ º¡áτÑ¡¿⌐.
-
- ┌───┐ ┌───────────┐ ┌──┐ ┌────────┐
- «»ÑαáΓ«α ───>│for├──>│π»αáó½∩εΘá∩├──>│:=├──>│¿ßσ«ñ¡«Ñ├───┐
- for └───┘ │»ÑαѼѡ¡á∩ │ └──┘ │º¡áτÑ¡¿Ñ│ │
- └───────────┘ └────────┘ │
- ┌────────────────────────────────────────────────┘
- │ ┌──┐
- │ ┌─>│to├─────┐ ┌────────┐ ┌──┐ ┌────────┐
- └───┤ └──┘ ├──>│¬«¡Ñτ¡«Ñ├──>│do├──>│«»ÑαáΓ«α├───>
- │ ┌──────┐ │ │º¡áτÑ¡¿Ñ│ └──┘ └────────┘
- └─>│downto├─┘ └────────┘
- └──────┘
-
- ┌────────────────────────┐
- π»αáó½∩εΘá∩ »ÑαѼѡ¡á∩ ───>│¿ñÑ¡Γ¿Σ¿¬áΓ«α »ÑαѼѡ¡«⌐├───>
- └────────────────────────┘
-
- ┌─────────┐
- ¿ßσ«ñ¡«Ñ º¡áτÑ¡¿Ñ ────>│óδαáªÑ¡¿Ñ├───>
- └─────────┘
-
- ┌─────────┐
- ¬«¡Ñτ¡«Ñ º¡áτÑ¡¿Ñ ────>│óδαáªÑ¡¿Ñ├───>
- └─────────┘
-
- é ¬áτÑßΓóÑ π»αáó½∩εΘÑ⌐ »ÑαѼѡ¡«⌐ ñ«½ªÑ¡ ¿ß»«½∞º«óáΓ∞ß∩
- ¿ñÑ¡Γ¿Σ¿¬áΓ«α »ÑαѼѡ«⌐ (íѺ ¬á¬«ú«-½¿í« ¬óá½¿Σ¿¬áΓ«αá), ¬«Γ«αδ⌐
- «í«º¡áτáÑΓ »ÑαѼѡ¡πε, «íΩ∩ó½Ñ¡¡πε ½«¬á½∞¡«⌐ ó í½«¬Ñ, ó ¬«Γ«α«¼
- ß«ñÑনΓß∩ «»ÑαáΓ«α for. ô»αáó½∩εΘá∩ »ÑαѼѡ¡á∩ ñ«½ª¡á ¿¼ÑΓ∞ »Ñ-
- αÑτ¿ß½¿¼δ⌐ Γ¿». ìáτá½∞¡«Ñ ¿ ¬«¡Ñτ¡«Ñ º¡áτÑ¡¿∩ ñ«½ª¡δ ¿¼ÑΓ∞ Γ¿»,
- ß«ó¼ÑßΓ¿¼δ⌐ »« »α¿ßóá¿óá¡¿ε ß »ÑαÑτ¿ß½¿¼δ¼ Γ¿»«¼.
-
- Åα¿¼Ñτá¡¿Ñ: Ä ½«¬á½∞¡«ßΓ¿ ¿ «í½áßΓ¿ ñÑ⌐ßΓó¿∩ αáß߬áºδ-
- óáÑΓß∩ ó â½áóÑ 8.
-
- è«úñá ¡áτ¿¡áÑΓ óδ»«½¡∩Γ∞ß∩ «»ÑαáΓ«α for, ¡áτá½∞¡«Ñ ¿ ¬«¡Ñτ-
- ¡«Ñ º¡áτÑ¡¿∩ «»αÑñѽ∩εΓß∩ «ñ¿¡ αáº, ¿ φΓ¿ º¡áτÑ¡¿∩ ß«σαá¡∩εΓß∩ ¡á
- »α«Γ∩ªÑ¡¿¿ óßÑú« óδ»«½¡Ñ¡¿∩ «»ÑαáΓ«αá for.
-
- Ä»ÑαáΓ«α, ¬«Γ«αδ⌐ ß«ñÑনΓß∩ ó ΓÑ½Ñ «»ÑαáΓ«αá for, óδ»«½¡∩-
- ÑΓß∩ «ñ¿¡ αẠñ½∩ ¬áªñ«ú« º¡áτÑ¡¿∩ ó ñ¿á»áº«¡Ñ ¼Ñªñπ ¡áτá½∞¡δ¼ ¿
- ¬«¡Ñτ¡δ¼ º¡áτÑ¡¿Ñ¼. ô»αáó½∩εΘá∩ »ÑαѼѡ¡á∩ óßÑúñá ¿¡¿µ¿á½¿º¿απÑΓ-
- ß∩ ¡áτá½∞¡δ¼ º¡áτÑ¡¿Ñ¼. è«úñá αáí«ΓáÑΓ «»ÑαáΓ«α for, º¡áτÑ¡¿Ñ π»-
- αáó½∩εΘÑ⌐ »ÑαѼѡ¡«⌐ (ßτÑΓτ¿¬á µ¿¬½«ó) πóѽ¿τ¿óáÑΓß∩ »α¿ ¬áªñ«¼
- »«óΓ«αÑ¡¿¿ ¡á Ññ¿¡¿µπ. àß½¿ ¡áτá½∞¡«Ñ º¡áτÑ¡¿Ñ »αÑóδΦáÑΓ ¬«¡Ñτ¡«Ñ
- º¡áτÑ¡¿Ñ, Γ« ß«ñÑαªáΘ¿⌐ß∩ ó ΓÑ½Ñ «»ÑαáΓ«αá for «»ÑαáΓ«α ¡Ñ óδ»«½-
-
- B.Pascal 7 & Objects/LR - 129 -
-
- ¡∩Γß∩. è«úñá ó «»ÑαáΓ«αÑ µ¿¬½á ¿ß»«½∞ºπÑΓß∩ ¬½ετÑó«Ñ ß½«ó«
- downto, º¡áτÑ¡¿Ñ π»αáó½∩εΘÑ⌐ »ÑαѼѡ¡«⌐ π¼Ñ¡∞ΦáÑΓß∩ »α¿ ¬áªñ«¼
- »«óΓ«αÑ¡¿¿ ¡á Ññ¿¡¿µπ. àß½¿ ¡áτá½∞¡«Ñ º¡áτÑ¡¿Ñ ó Γᬫ¼ «»ÑαáΓ«αÑ
- ¼Ñ¡∞ΦÑ, τѼ ¬«¡Ñτ¡«Ñ º¡áτÑ¡¿Ñ, Γ« ß«ñÑαªáΘ¿⌐ß∩ ó ΓÑ½Ñ «»ÑαáΓ«αá
- µ¿¬½á «»ÑαáΓ«α ¡Ñ óδ»«½¡∩Γß∩.
-
- àß½¿ «»ÑαáΓ«α, ß«ñÑαªáΘ¿⌐ß∩ ó ΓÑ½Ñ «»ÑαáΓ«αá for, ¿º¼Ñ¡∩ÑΓ
- º¡áτÑ¡¿Ñ π»αáó½∩εΘÑ⌐ »ÑαѼѡ¡«⌐, Γ« φΓ« ∩ó½∩ÑΓß∩ «Φ¿í¬«⌐. ū߽Ñ
- óδ»«½¡Ñ¡¿∩ «»ÑαáΓ«αá for º¡áτÑ¡¿Ñ π»αáó½∩εΘÑ⌐ »ÑαѼѡ¡«⌐ ßΓá¡«-
- ó¿Γß∩ ¡Ñ«»αÑñѽѡ¡δ¼, Ñß½¿ Γ«½∞¬« óδ»«½¡Ñ¡¿Ñ «»ÑαáΓ«αá for ¡Ñ íδ-
- ½« »αÑαóá¡« ß »«¼«Θ∞ε «»ÑαáΓ«αá »ÑαÑσ«ñá.
-
- àß½¿ »α¿¡∩Γ∞ ó« ó¡¿¼á¡¿Ñ φΓ¿ «úαá¡¿τÑ¡¿∩, Γ« «»ÑαáΓ«α
-
- for V := Expr1 to Expr2 do Body;
-
- φ¬ó¿óá½Ñ¡ΓÑ¡ «»ÑαáΓ«απ:
-
- begin
- Temp1 := Expr1;
- Temp2 := Expr2;
- if Temp1 <= Temp2 then
- begin
- V := Temp1;
- Body;
- while V <> Temp2 do
- begin
- V := Succ(V);
- Body;
- end;
- end;
- end;
-
- ¿ «»ÑαáΓ«α µ¿¬½á:
-
- for V := Expr1 downto Exp2 do Body;
-
- φ¬ó¿óá½Ñ¡ΓÑ¡ «»ÑαáΓ«αá¼:
-
- begin
- Temp1 := Expr1;
- Temp2 := Expr2;
- if Temp1 >= Temp2 then
- begin
- V := Temp1;
- Body;
- while V <> Temp2 o
- begin
- V := Pred(V);
- Body;
- end;
- end;
- end;
-
- B.Pascal 7 & Objects/LR - 130 -
-
-
- úñÑ Temp1 ¿ Temp2 - óß»«¼«úáΓѽ∞¡δÑ »ÑαѼѡ¡δÑ, Γ¿» ¬«Γ«αδσ ß«ó-
- »áñáÑΓ ß «ß¡«ó¡δ¼ Γ¿»«¼ »ÑαѼѡ¡«⌐ V ¿ ¬«Γ«αδÑ ¡Ñ óßΓαÑτáεΓß∩ ó
- ñαπú«¼ ¼ÑßΓÑ »α«úαá¼¼δ.
-
- Åα¿óÑñѼ »α¿¼Ñαδ «»ÑαáΓ«αá µ¿¬½á ß »áαá¼ÑΓα«¼:
-
- for I := 2 to 63 do
- if Data[I] > Max then Max := Data[I]
-
- for I := 1 to 10 do
- for J := 1 to 10 do
- begin
- X := 0;
- for K := 1 to 10 do
- X := X + Mat1[I,K]*Mat2[K,J];
- Mat[I,J] := X;
- end;
-
- for C := red to blue do Check(C);
-
-
-
-
- B.Pascal 7 & Objects/LR - 131 -
-
- Ä»ÑαáΓ«α with
- ─────────────────────────────────────────────────────────────────
-
- é «»Ñαᵿ∩σ ¡áñ ºá»¿ß∩¼¿ «»ÑαáΓ«α with πñ«í¡« ¿ß»«½∞º«óáΓ∞
- ñ½∩ ¬αáΓ¬«ú« «íαáΘÑ¡¿∩ ¬ »«½∩¼ ºá»¿ß¿. é «»ÑαáΓ«αÑ with ¬ »«½∩¼
- «ñ¡«⌐ ¿½¿ í«½ÑÑ ¬«¡¬αÑΓ¡δσ »ÑαѼѡ¡δσ Γ¿»á ºá»¿ß∞ ¼«ª¡« «íαáΘáΓ∞-
- ß∩, ¿ß»«½∞ºπ∩ Γ«½∞¬« ¿ñÑ¡Γ¿Σ¿¬áΓ«αδ »«½Ñ⌐. Ä»ÑαaΓ«α with ¿¼ÑÑΓ
- ß½ÑñπεΘ¿⌐ ß¿¡Γá¬ß¿ß:
-
- ┌────┐ ┌───────────────┐ ┌──┐ ┌────────┐
- «»ÑαáΓ«α ──>│with├─────>│ ßßδ½¬á ¡á ├──┬─>│do├──>│«»ÑαáΓ«α├>
- with └────┘ ^ │»ÑαѼѡ¡πε Γ¿»á│ │ └──┘ └────────┘
- │ │ ºá»¿ß∞ │ │
- │ │ ¿½¿ «íΩÑ¬Γ │ │
- │ └───────────────┘ │
- │ ┌───┐ │
- └────────┤ , │<────────┘
- └───┘
-
- ßßδ½¬á ¡á »ÑαѼѡ¡πε ┌────────────────────┐
- Γ¿»á ºá»¿ß∞ ¿½¿ «íΩÑ¬Γ ───>│ßßδ½¬á ¡á »ÑαѼѡ¡πε├──>
- └────────────────────┘
-
- 髺∞¼Ñ¼ ß½ÑñπεΘÑÑ «»¿ßá¡¿Ñ:
-
- type
- TDate = record
- Day : Integer:
- Month : Integer;
- Year : Integer:
- end;
-
- var OrderDate: TDate;
-
- æ πτÑΓ«¼ ñá¡¡«ú« «»¿ßá¡¿∩ »α¿óÑñѼ »α¿¼Ñα «»ÑαáΓ«αá with:
-
- with OrderDate do
- if Month = 12 then
- begin
- Month := 1;
- Year := Year + 1
- end else
- Month := Month + 1;
-
- ¥Γ« φ¬ó¿óá½Ñ¡Γ¡« ß½ÑñπεΘѼπ:
-
- if OrderDate.Month = 12 then
- begin
- OrderDate.Month := 1;
- OrderDate.Year := TDate.Year + 1
- end
- else
- Date.month := TDate.Month + 1;
-
- B.Pascal 7 & Objects/LR - 132 -
-
-
- é «»ÑαáΓ«αÑ with ß¡áτá½á »α«¿ºó«ñ¿Γß∩ »α«óÑα¬á ¬áªñ«⌐ ßß佬¿
- ¡á »ÑαѼѡ¡πε, á ¿¼Ñ¡¡«: ¼«ª¡« ½¿ ÑÑ ¿¡ΓÑα»αÑΓ¿α«óáΓ∞, ¬á¬ »«½Ñ
- ºá»¿ß¿. àß½¿ φΓ« Γá¬, Γ« «¡á óßÑúñá ¿¡ΓÑα»αÑΓ¿απÑΓß∩ ¿¼Ñ¡¡« Γᬿ¼
- «íαẫ¼, ñáªÑ Ñß½¿ ¿¼ÑÑΓß∩ ñ«ßΓπ» ¬ »ÑαѼѡ¡«⌐ ß ΓѼ ªÑ ¿¼Ñ¡Ñ¼.
-
- ä«»πßΓ¿¼ «»¿ßá¡δ ß½ÑñπεΘ¿Ñ »ÑαѼѡ¡δÑ:
-
- type
- TPoint = record
- x,y: Integer;
- end;
- var
- x: Point;
- y: Integer;
-
- é φΓ«¼ ß½πτáÑ ¿ ¬ x, ¿ ¬ y ¼«ª¡« «íαáΘáΓ∞ß∩, ¬á¬ ¬ »ÑαѼѡ-
- ¡«⌐ ¿½¿ ¬á¬ ¬ »«½ε ºá»¿ß¿. é «»ÑαáΓ«αÑ:
-
- with x do
- begin
- x := 10;
- y := 25;
- end;
-
- x ¼Ñªñ𠬽ετÑó묨 ß½«óἿ with ¿ d« «Γ¡«ß¿Γß∩ ¬ »ÑαѼѡ¡«⌐ Γ¿»á
- π¬áºáΓѽ∞, á ó ß«ßΓáó¡«¼ «»ÑαáΓ«αÑ x ¿ y ßßδ½áεΓß∩ ¡á x.x ¿ y.y.
-
- Ä»ÑαáΓ«α:
-
- with V1,V2,...Vn do s;
-
- φ¬ó¿óá½Ñ¡ΓÑ¡ «»ÑαáΓ«αá¼:
-
- with V1 do
- with V2 do
- ...
- with Vn do
- S;
-
- é «í«¿σ ß½πτá∩σ, Ñß½¿ Vn ∩ó½∩ÑΓß∩ »«½Ñ¼ ¿ v1, ¿ v2, Γ« «¡á
- ¿¡ΓÑα»αÑΓ¿απÑΓß∩ ¬á¬ v2.Vn, á ¡Ñ ¬á¬ v1.Vn.
-
- àß½¿ óδí«α¬á »ÑαѼѡ¡«⌐ Γ¿»á ºá»¿ß∞ ßó∩ºá¡á ß ¿¡ñѬ߿α«óá¡¿-
- Ѽ ¼áßß¿óá ¿½¿ αáºδ¼Ñ¡«ó᡿Ѽ π¬áºáΓѽ∩, Γ« φΓ¿ ñÑ⌐ßΓó¿∩ »α«¿ºó«-
- ñ∩Γß∩ ñ« Γ«ú«, ¬á¬ íπñÑΓ óδ»«½¡∩Γ∞ß∩ ß«ßΓáó¡«⌐ «»ÑαáΓ«α.
-
-
-
- B.Pascal 7 & Objects/LR - 133 -
-
- ───────────────────────────────────────────────────────────────────────
- â½áóá 8. ü½«¬¿, ½«¬á½∞¡«ßΓ∞ ¿ «í½áßΓ∞ ñÑ⌐ßΓó¿∩
- ─────────────────────────────────────────────────────────────────
-
- ü½«¬¿ ß«ßΓ«∩Γ ¿º «»¿ßá¡¿⌐, ¬«Γ«αδÑ ºá»¿ßá¡δ ¿ ߬«¼í¿¡¿α«óá¡δ
- ó ½εí«¼ »«α∩ñ¬Ñ, ¿ «»ÑαáΓ«α«ó. èáªñδ⌐ í½«¬ ∩ó½∩ÑΓß∩ τáßΓ∞ε «»¿ßá-
- ¡¿∩ »α«µÑñπαδ ¿½¿ Σπ¡¬µ¿¿, ¿½¿ τáßΓ∞ε »α«úαá¼¼δ ¿½¿ ¼«ñπ½∩. éßÑ
- ¿ñÑ¡Γ¿Σ¿¬áΓ«αδ ¿ ¼ÑΓ¬¿, «íΩ∩ó½Ñ¡¡δÑ ó αáºñÑ½Ñ «»¿ßá¡¿⌐, ∩ó½∩εΓß∩
- ñ½∩ í½«¬á ½«¬á½∞¡δ¼¿.
-
- æ¿¡Γá¬ß¿ß
- ─────────────────────────────────────────────────────────────────
-
- é «íΘѼ ó¿ñÑ ½εí«⌐ í½«¬ ¿¼ÑÑΓ ß½ÑñπεΘ¿⌐ Σ«α¼áΓ:
-
- ┌──────────┐ ┌──────────┐
- í½«¬ ────>│ αáºñѽ ├────>│ αáºñѽ ├────>
- │ «»¿ßá¡¿∩ │ │«»ÑαáΓ«α«ó│
- └──────────┘ └──────────┘
-
- αáºñѽ ──────────┬────────────────────────────────────┬───>
- «íΩ∩ó½Ñ¡¿∩ ^ │ ^ │
- │ │ ┌──────────────────┐ │ │
- │ ├───>│ αáºñѽ «»¿ßá¡¿∩ ├──────┤ │
- │ │ │ ¼ÑΓ«¬ │ │ │
- │ │ └──────────────────┘ │ │
- │ │ ┌──────────────────┐ │ │
- │ ├───>│ αáºñѽ «»¿ßá¡¿∩ ├──────┤ │
- │ │ │ ¬«¡ßΓá¡Γ │ │ │
- │ │ └──────────────────┘ │ │
- │ │ ┌──────────────────┐ │ │
- │ ├───>│ αáºñѽ «»¿ßá¡¿∩ ├──────┤ │
- │ │ │ Γ¿»«ó │ │ │
- │ │ └──────────────────┘ │ │
- │ │ ┌──────────────────┐ │ │
- │ ├───>│ αáºñѽ «»¿ßá¡¿∩ ├──────┤ │
- │ │ │ »ÑαѼѡ¡δσ │ │ │
- │ │ └──────────────────┘ │ │
- │ │ ┌──────────────────┐ │ │
- │ ├───>│ «»ÑαáΓ«α exports ├──────┤ │
- │ │ └──────────────────┘ │ │
- │ │ ┌──────────────────┐ │ │
- │ └───>│ αáºñѽ «»¿ßá¡¿∩ ├──────┘ │
- │ │»α«µÑñπα ¿ Σπ¡¬µ¿⌐│ │
- │ └──────────────────┘ │
- └──────────────────────────────────────────┘
-
-
- B.Pascal 7 & Objects/LR - 134 -
-
-
- Éáºñѽ «»¿ßá¡¿∩ ¼ÑΓ«¬ - φΓ« Γá τáßΓ∞ í½«¬á, úñÑ «»¿ßδóáεΓß∩
- ¼ÑΓ¬¿, »α¿ßóá¿óáѼδÑ «»ÑαáΓ«αá¼ ó ß««ΓóÑΓßΓóπεΘѼ αáºñÑ½Ñ «»Ñαá-
- Γ«α«ó. èáªñá∩ ¼ÑΓ¬á ñ«½ª¡á »«¼ÑτáΓ∞ Γ«½∞¬« «ñ¿¡ «»ÑαáΓ«α.
-
-
- αáºñѽ ┌───────┐ ┌───────┐ ┌───┐
- «»¿ßá¡¿∩ ───────>│ label ├──────>│ ¼ÑΓ¬á ├──┬──>│ ; ├───>
- ¼ÑΓ«¬ └───────┘ ^ └───────┘ │ └───┘
- │ ┌───┐ │
- └───┤ , ├──────┘
- └───┘
-
- îÑΓ¬«⌐ ¼«ªÑΓ íδΓ∞ ¿ñÑ¡Γ¿Σ¿¬áΓ«α ¿½¿ »«ß½Ññ«óáΓѽ∞¡«ßΓ∞ µ¿Σα.
- êß»«½∞ºπѼá∩ ó ¬áτÑßΓóÑ ¼ÑΓ¬¿ »«ß½Ññ«óáΓѽ∞¡«ßΓ∞ µ¿Σα ñ«½ª¡á ¡á-
- σ«ñ¿Γ∞ß∩ ó ñ¿á»áº«¡Ñ «Γ 0 ñ« 9999.
-
- Éáºñѽ «»¿ßá¡¿∩ ¬«¡ßΓá¡Γ ß«ñÑαª¿Γ «»¿ßá¡¿∩ ¬«¡ßΓá¡Γ, ½«¬á½∞-
- ¡δσ ñ½∩ φΓ«ú« í½«¬á.
-
- αáºñѽ ┌───────┐ ┌────────────┐
- «»¿ßá¡¿∩ ─────>│ const ├────┬─>│ «»¿ßá¡¿Ñ ├───────────┬───>
- ¬«¡ßΓá¡Γ └───────┘ ^ │ │ ¬«¡ßΓá¡Γδ │ ^ │
- │ │ └────────────┘ │ │
- │ │ ┌───────────────────┐ │ │
- │ │ │ «»¿ßá¡¿Ñ │ │ │
- │ └─>│ Γ¿»¿º¿α«óá¡¡«⌐ ├─┘ │
- │ │ ¬«¡ßΓá¡Γδ │ │
- │ └───────────────────┘ │
- └──────────────────────────────┘
-
- Éáºñѽ «»¿ßá¡¿∩ Γ¿»«ó ó¬½ετáÑΓ «»¿ßá¡¿∩ óßÑσ Γ¿»«ó ó í½«¬Ñ.
-
- αáºñѽ ┌───────┐ ┌────────────┐
- «»¿ßá¡¿∩ ─────>│ type ├──────>│ «»¿ßá¡¿Ñ ├────┬───>
- Γ¿»«ó └───────┘ ^ │ Γ¿»á │ │
- │ └────────────┘ │
- └──────────────────────┘
-
-
- Éáºñѽ «»¿ßá¡¿∩ »ÑαѼѡ¡δσ ß«ßΓ«¿Γ ¿º «»¿ßá¡¿∩ »ÑαѼѡ¡δσ,
- ½«¬á½∞¡δσ ñ½∩ φΓ«ú« í½«¬á.
-
- αáºñѽ ┌─────┐ ┌────────────┐
- «»¿ßá¡¿∩ ─────>│ var ├──────>│ «»¿ßá¡¿Ñ ├────┬───>
- »ÑαѼѡ¡δσ └─────┘ ^ │ »ÑαѼѡ¡«⌐ │ │
- │ └────────────┘ │
- └──────────────────────┘
-
-
- B.Pascal 7 & Objects/LR - 135 -
-
-
- Éáºñѽ «»¿ßá¡¿∩ »α«µÑñπα ¿ Σπ¡¬µ¿⌐ ß«ßΓ«¿Γ ¿º «»¿ßá¡¿∩ »α«-
- µÑñπα ¿ Σπ¡¬µ¿⌐, ½«¬á½∞¡δσ ñ½∩ φΓ«ú« í½«¬á.
-
-
- αáºñѽ ┌────────────┐
- «»¿ßá¡¿∩ ───────────┬─>│ «»¿ßá¡¿Ñ ├─────┬────>
- »α«µÑñπα ¿ ^ │ │ »α«µÑñπαδ │ ^ │
- Σπ¡¬µ¿⌐ │ │ └────────────┘ │ │
- │ │ ┌────────────┐ │ │
- │ └─>│ «»¿ßá¡¿Ñ ├──┘ │
- │ │ Σπ¡¬µ¿¿ │ │
- │ └────────────┘ │
- │ ┌────────────┐ │
- ├────>│ «»¿ßá¡¿Ñ ├─────┤
- │ │¬«¡ßΓαπ¬Γ«αá│ │
- │ └────────────┘ │
- │ ┌────────────┐ │
- ├────>│ «»¿ßá¡¿Ñ ├─────┤
- │ │ñÑßΓαπ¬Γ«αá │ │
- │ └────────────┘ │
- └────────────────────────┘
-
- é «»ÑαáΓ«αÑ exports »ÑαÑτ¿ß½∩εΓß∩ óßÑ »α«µÑñπαδ ¿ Σπ¡¬µ¿¿,
- ¬«Γ«αδÑ φ¬ß»«αΓ¿απεΓß∩ ñá¡¡«⌐ »α«úαá¼¼«⌐ ¿½¿ ñ¿¡á¼¿τÑ߬¿ ¬«¼»«¡π-
- Ѽ«⌐ í¿í½¿«ΓѬ«⌐. Ä»ÑαáΓ«α exports ñ«»π߬áÑΓß∩ Γ«½∞¬« ó« ó¡ÑΦ¡Ñ¼
- αáºñÑ½Ñ «»¿ßá¡¿⌐ »α«úαá¼¼δ ¿½¿ ñ¿¡á¼¿τÑ߬¿ ¬«¼»«¡πѼ«⌐ í¿í½¿«ΓѬ¿
- - ó αáºñÑ½Ñ «»¿ßá¡¿⌐ »α«µÑñπαδ, Σπ¡¬µ¿¿ ¿½¿ ¼«ñπ½∩ Ñú« ¿ß»«½∞º«-
- óáΓ∞ ¡Ñ½∞º∩.
-
- Éáºñѽ «»ÑαáΓ«α«ó «»αÑñѽ∩ÑΓ «»ÑαáΓ«αδ ¿½¿ á½ú«α¿Γ¼¿τÑ߬¿Ñ
- ñÑ⌐ßΓó¿∩, ¬«Γ«αδÑ óδ»«½¡∩εΓß∩ ó í½«¬Ñ.
-
- αáºñѽ ┌───────────┐
- «»ÑαáΓ«α«ó ─────>│ ß«ßΓáó¡«⌐ ├─────>
- │ «»ÑαáΓ«α │
- └───────────┘
-
-
-
- B.Pascal 7 & Objects/LR - 136 -
-
- Åαáó¿½á ñ½∩ «í½áßΓ¿ ñÑ⌐ßΓó¿∩
- ─────────────────────────────────────────────────────────────────
-
- ì὿τ¿Ñ ¿ñÑ¡Γ¿Σ¿¬áΓ«αá ¿½¿ ¼ÑΓ¬¿ ó «»¿ßá¡¿¿ «º¡áτáÑΓ «»αÑñÑ-
- ½Ñ¡¿Ñ ¿ñÑ¡Γ¿Σ¿¬áΓ«αá ¿½¿ ¼ÑΓ¬¿. èáªñδ⌐ αáº, ¬«úñá ¿ñÑ¡Γ¿Σ¿¬áΓ«α
- ¿½¿ ¼ÑΓ¬á óßΓαÑτáεΓß∩ ó »α«úαá¼¼Ñ, «¡¿ ñ«½ª¡δ ¡áσ«ñ¿Γ∞ß∩ ó «í½áß-
- Γ¿ ñÑ⌐ßΓó¿∩ φΓ«ú« «»¿ßá¡¿∩.
-
- Äí½áßΓ∞ ñÑ⌐ßΓó¿∩ ñ½∩ í½«¬á
- ─────────────────────────────────────────────────────────────────
-
- Äí½áßΓ∞ ñÑ⌐ßΓó¿∩ ¿ñÑ¡Γ¿Σ¿¬áΓ«αá ¿½¿ ¼ÑΓ¬¿ ó «»¿ßá¡¿¿ ¼ÑΓ¬¿,
- ¬«¡ßΓá¡ΓÑ, Γ¿»á, »ÑαѼѡ¡«⌐, »α«µÑñπαδ ¿½¿ Σπ¡¬µ¿¿ αáß»α«ßΓαá¡∩-
- ÑΓß∩ «Γ ¿σ «»¿ßá¡¿∩ ñ« ¬«¡µá ΓѬπΘÑú« í½«¬á, ó¬½ετá∩ óßÑ í½«¬¿,
- óσ«ñ∩Θ¿Ñ ó ΓѬπΘ¿⌐ í½«¬. ì¿ªÑ »α¿ó«ñ¿Γß∩ ¡Ñ߬«½∞¬« ¿ß¬½ετÑ¡¿⌐.
-
- êñÑ¡Γ¿Σ¿¬áΓ«α ¿½¿ ¼ÑΓ¬á, «»¿ßá¡¡δÑ ó« ó¡ÑΦ¡Ñ¼ í½«¬Ñ, ¼«úπΓ
- ºá¡«ó« «»¿ßδóáΓ∞ß∩ ó« ó¡πΓαÑ¡¡Ñ¼ í½«¬Ñ, óσ«ñ∩ΘѼ ó« ó¡ÑΦ¡¿⌐ í½«¬.
- ä« Γ«τ¬¿ «»¿ßá¡¿∩ ó« ó¡πΓαÑ¡¡Ñ¼ í½«¬Ñ ¿½¿ »«ß½Ñ ¬«¡µá 󽫪ѡ¡«ú«
- í½«¬á ¿ñÑ¡Γ¿Σ¿¬áΓ«α ¿½¿ ¼ÑΓ¬á »αÑñßΓáó½∩εΓ φ½Ñ¼Ñ¡Γ, «»¿ßá¡¡δ⌐ ó«
- ó¡ÑΦ¡Ñ¼ «σóáΓδóáεΘѼ í½«¬Ñ.
-
- program Outer; { ¡áτὫ ó¡ÑΦ¡Ñ⌐ «í½áßΓ¿ ñÑ⌐ßΓó¿∩ Ω
- type
- I = Integer; { «»αÑñѽ∩ÑΓ I ¬á¬ Integer }
- var
- T: I; { «»αÑñѽ∩ÑΓ T ¬á¬ µÑ½«τ¿ß½Ñ¡¡πε
- »ÑαѼѡ¡πε }
- procedure Inner; { ¡áτὫ ó¡πΓαÑ¡¡Ñú« í½«¬á }
- type
- T = I; { »ÑαÑ«»αÑñѽ∩ÑΓ T ß Γ¿»«¼ Integer }
- var
- I: T; { »ÑαÑ«»αÑñѽ∩ÑΓ I ¬á¬ µÑ½«τ¿ß½Ñ¡¡πε
- »ÑαѼѡ¡πε }
- begin
- I := 1; { ¬«¡Ñµ 󽫪ѡ¡«ú« í½«¬á }
- end;
-
- begin
- T := 1; { ¬«¡Ñµ ó¡ÑΦ¡Ñú« í½«¬á }
- end.
-
-
-
- B.Pascal 7 & Objects/LR - 137 -
-
- Äí½áßΓ∞ ñÑ⌐ßΓó¿∩ ºá»¿ß¿
- ─────────────────────────────────────────────────────────────────
-
- Äí½áßΓ∞ ñÑ⌐ßΓó¿∩ ¿ñÑ¡Γ¿Σ¿¬áΓ«αá »«½∩, «»¿ßá¡¡«ú« ó «»αÑñѽÑ-
- ¡¿¿ ºá»¿ß¿, »α«ßΓ¿αáÑΓß∩ «Γ Γ«τ¬¿ «»¿ßá¡¿∩ ñ« ¬«¡µá «»αÑñѽѡ¿∩
- Γ¿»á ºá»¿ß∞. èα«¼Ñ Γ«ú«, «í½áßΓ∞ ñÑ⌐ßΓó¿∩ ¿ñÑ¡Γ¿Σ¿¬áΓ«α«ó ó¬½ετá-
- ÑΓ ñÑß¿ú¡áΓ«αδ »«½∩ ¿ «»ÑαáΓ«αδ with ¡áñ ßßδ½¬á¼¿ ¡á »ÑαѼѡ¡πε
- ñá¡¡«ú« Γ¿»á ºá»¿ß¿.
-
- Åα¿¼Ñτá¡¿Ñ: Ä Γ¿»Ñ ºá»¿ß∞ αáß߬áºδóáÑΓß∩ ó â½áóÑ 4.
-
- Äí½áßΓ∞ ñÑ⌐ßΓó¿∩ «íΩѬΓá
- ─────────────────────────────────────────────────────────────────
-
- Äí½áßΓ∞ ñÑ⌐ßΓó¿∩ ¿ñÑ¡Γ¿Σ¿¬áΓ«αá φ½Ñ¼Ñ¡Γá, «»¿ßá¡¡«ú« ó «íΩ-
- Ñ¬Γ¡«¼ Γ¿»Ñ, »α«ßΓ¿αáÑΓß∩ «Γ Γ«τ¬¿ «»¿ßá¡¿∩ ñ« ¬«¡µá «»αÑñѽѡ¿∩
- «íΩÑ¬Γ¡«ú« Γ¿»á ¿ αáß»α«ßΓαá¡∩ÑΓß∩ ¡á óßÑ ñ«τÑα¡¿Ñ «íΩÑ¬Γ¡δÑ Γ¿»δ
- ¿ í½«¬¿ óßÑσ «»¿ßá¡¿⌐ ¼ÑΓ«ñ«ó «íΩÑ¬Γ¡«ú« Γ¿»á. Äí½áßΓ∞ ñÑ⌐ßΓó¿∩
- ¿ñÑ¡Γ¿Σ¿¬áΓ«α«ó φ½Ñ¼Ñ¡Γá ó¬½ετáÑΓ ñÑß¿ú¡áΓ«αδ »«½∩ ¿ «»ÑαáΓ«αδ
- with ¡áñ ßßδ½¬á¼¿ ¡á »ÑαѼѡ¡πε ñá¡¡«ú« «íΩÑ¬Γ¡«ú« Γ¿»á.
-
- Åα¿¼Ñτá¡¿Ñ: « Γ¿»Ñ ºá»¿ß∞ αáß߬áºδóáÑΓß∩ ó â½áóÑ 4.
-
- B.Pascal 7 & Objects/LR - 138 -
-
-
- Äí½áßΓ∞ ñÑ⌐ßΓó¿∩ ¼«ñπ½∩
- ─────────────────────────────────────────────────────────────────
-
- Äí½áßΓ∞ ñÑ⌐ßΓó¿∩ ¿ñÑ¡Γ¿Σ¿¬áΓ«α«ó, «»¿ßá¡¡δσ ó ¿¡ΓÑαΣÑ⌐ß¡«⌐
- ßѬµ¿¿ ¼«ñπ½∩, »«ñτ¿¡∩ÑΓß∩ »αáó¿½á¼ «í½áßΓ¿ ñÑ⌐ßΓó¿∩ í½«¬á ¿
- αáß»α«ßΓαá¡∩ÑΓß∩ ¡á óßÑσ ¬½¿Ñ¡Γ«ó ¼«ñπ½∩. äαπú¿¼¿ ß½«óἿ, »α«ú-
- αá¼¼δ ¿ ¼«ñπ½¿, ß«ñÑαªáΘ¿Ñ «»ÑαáΓ«αδ uses («»ÑαáΓ«αδ ¿ß»«½∞º«óá-
- ¡¿∩) ¿¼ÑεΓ ñ«ßΓπ» ¬ ¿ñÑ¡Γ¿Σ¿¬áΓ«αá¼, ¬«Γ«αδÑ «»¿ßá¡δ ó ¿¡ΓÑαΣÑ⌐ß-
- ¡«⌐ τáßΓ¿ ¼«ñπ½Ñ⌐, π¬áºá¡¡δσ ó φΓ¿σ «»ÑαáΓ«αáσ uses.
-
- èáªñδ⌐ ¼«ñπ½∞ ó «»ÑαáΓ«αÑ uses «»αÑñѽ∩ÑΓ ßó«ε «í½áßΓ∞ ñÑ⌐ß-
- Γó¿∩, ¬«Γ«αá∩ «σóáΓδóáÑΓ «ßΓá½∞¡δÑ ¼«ñ㫨 ¿ »α«úαá¼¼π ó µÑ½«¼.
- ÅÑαóδ⌐ ¼«ñπ½∞ ó «»ÑαáΓ«αÑ uses »αÑñßΓáó½∩ÑΓ ßá¼πε ó¡ÑΦ¡εε «í½áßΓ∞
- ñÑ⌐ßΓó¿∩, á »«ß½Ññ¡¿⌐ ¼«ñπ½∞ »αÑñßΓáó½∩ÑΓ ßá¼πε ó¡πΓαÑ¡¡εε «í-
- ½áßΓ∞ ñÑ⌐ßΓó¿∩. ¥Γ« «º¡áτáÑΓ, τΓ« Ñß½¿ ñóá ¿½¿ í«½ÑÑ ¼«ñπ½Ñ⌐ ß«-
- ñÑαªáΓ «»¿ßá¡¿Ñ «ñ¡«ú« ¿ Γ«ú« ªÑ ¿ñÑ¡Γ¿Σ¿¬áΓ«αá, Γ« »α¿ ¡ÑπΓ«τ-
- ¡Ñ¡¡«¼ «íαáΘÑ¡¿¿ ¬ φΓ«¼π ¿ñÑ¡Γ¿Σ¿¬áΓ«απ íπñÑΓ óδíαá¡ Γ«Γ óáα¿á¡Γ,
- ¬«Γ«αδ⌐ íδ½ «»¿ßá¡ ó »«ß½Ññ¡Ñ¼ ¼«ñπ½Ñ ó «»ÑαáΓ«αÑ uses. Äñ¡á¬«,
- óδ ¼«ªÑΓÑ óδíαáΓ∞ ½εí«⌐ óáα¿á¡Γ φΓ«ú« ¿ñÑ¡Γ¿Σ¿¬áΓ«αá, π¬áºáó
- πΓ«τ¡Ñ¡¡δ⌐ ¿ñÑ¡Γ¿Σ¿¬áΓ«α.
-
- êñÑ¡Γ¿Σ¿¬áΓ«αδ óßΓα«Ñ¡¡δσ ¬«¡ßΓá¡Γ, Γ¿»«ó, »ÑαѼѡ¡δσ, »α«-
- µÑñπα ¿ Σπ¡¬µ¿⌐ Borland Pascal ñÑ⌐ßΓóπεΓ, ¬á¬ Ñß½¿ íδ «¡¿ í뫨
- «»¿ßá¡δ ó í½«¬Ñ, «σóáΓδóáεΘѼ óßÑ ¿ß»«½∞ºπѼδÑ ¼«ñ㫨 ¿ »α«úαá¼¼π
- ó µÑ½«¼. é ñÑ⌐ßΓó¿Γѽ∞¡«ßΓ¿ φΓ¿ ßΓá¡ñáαΓ¡δÑ «íΩѬΓδ «»¿ßá¡δ ó ¼«-
- ñπ½Ñ System, ¬«Γ«αδ⌐ ¿ß»«½∞ºπÑΓß∩ ½εí«⌐ »α«úαá¼¼«⌐ ¿½¿ ¼«ñπ½Ñ¼
- »αѪñÑ ½εí«ú« ¼«ñπ½∩, π¬áºá¡¡«ú« ó «»ÑαáΓ«αÑ uses. ¥Γ« «º¡áτáÑΓ,
- τΓ« ½εí«⌐ ¼«ñπ½∞ ¿½¿ »α«úαá¼¼á ¼«úπΓ »ÑαÑ«»αÑñѽ¿Γ∞ ßΓá¡ñáαΓ¡δÑ
- ¿ñÑ¡Γ¿Σ¿¬áΓ«αδ, á «íαáΘÑ¡¿Ñ ¬ ¡¿¼ ¼«ªÑΓ íδΓ∞ óδ»«½¡Ñ¡« ß »«¼«Θ∞ε
- πΓ«τ¡Ñ¡¡«ú« (ß«ßΓáó¡«ú«) ¿ñÑ¡Γ¿Σ¿¬áΓ«αá, ¡á»α¿¼Ñα, System.Integer
- ¿½¿ System.Writeln.
-
-
-
- B.Pascal 7 & Objects/LR - 139 -
-
- ───────────────────────────────────────────────────────────────────────
- â½áóá 9. Åα«µÑñπαδ ¿ Σπ¡¬µ¿¿
- ─────────────────────────────────────────────────────────────────
-
- Åα«µÑñπαδ ¿ Σπ¡¬µ¿¿ »«ºó«½∩εΓ ó¬½ετáΓ∞ ó «ß¡«ó¡«⌐ »α«úαá¼¼-
- ¡δ⌐ í½«¬ ñ«»«½¡¿Γѽ∞¡δÑ í½«¬¿. èáªñ«Ñ «»¿ßá¡¿Ñ »α«µÑñπαδ ¿½¿
- Σπ¡¬µ¿¿ ß«ñÑαª¿Γ ºáú«½«ó«¬, ºá ¬«Γ«αδ¼ ß½ÑñπÑΓ »α«úαá¼¼¡δ⌐ í½«¬.
- Åα«µÑñπαá á¬Γ¿ó¿º¿απÑΓß∩ ß »«¼«Θ∞ε «»ÑαáΓ«αá »α«µÑñπαδ. öπ¡¬µ¿∩
- á¬Γ¿ó¿º¿απÑΓß∩ »α¿ óδτ¿ß½Ñ¡¿¿ óδαáªÑ¡¿∩, ß«ñÑαªáΘÑú« ó맮ó Σπ¡¬-
- µ¿¿, ¿ ó«ºóαáΘáѼ«Ñ Σπ¡¬µ¿Ñ⌐ º¡áτÑ¡¿Ñ »«ñßΓáó½∩ÑΓß∩ ó φΓ« óδαáªÑ-
- ¡¿Ñ.
-
- Åα¿¼Ñτá¡¿Ñ: Ä»αÑñѽѡ¿Ñ í½«¬á óδ ¼«ªÑΓÑ ¡á⌐Γ¿ ó â½áóÑ
- 8 "ü½«¬¿, ½«¬á½∞¡«ßΓ∞ ¿ «í½áßΓ∞ ñÑ⌐ßΓó¿∩".
-
- é ñá¡¡«⌐ ú½áóÑ «íßπªñáεΓß∩ αẽ¿τ¡δÑ ß»«ß«íδ «»¿ßá¡¿∩ »α«µÑ-
- ñπαδ ¿½¿ Σπ¡¬µ¿¿ ¿ ¿σ »áαá¼ÑΓαδ.
-
- Ä»¿ßá¡¿∩ »α«µÑñπα
- ─────────────────────────────────────────────────────────────────
-
-
- B.Pascal 7 & Objects/LR - 140 -
-
-
- Ä»¿ßá¡¿Ñ »α«µÑñπαδ »«ºó«½∩ÑΓ ßó∩ºáΓ∞ ¿ñÑ¡Γ¿Σ¿¬áΓ«α ß »α«µÑ-
- ñπα¡δ¼ í½«¬«¼. Åα«µÑñπαπ ¼«ª¡« ºáΓѼ á¬Γ¿ó¿º¿α«óáΓ∞ ß »«¼«Θ∞ε
- «»ÑαáΓ«αá »α«µÑñπαδ.
-
- ┌─────────┐ ┌───┐ ┌────────────┐ ┌───┐
- «»¿ßá¡¿Ñ ───>│ºáú«½«ó«¬├──>│ ; ├──>│ Γѽ« ├──>│ ; ├──>
- »α«µÑñπαδ │»α«µÑñπαδ│ └───┘ │»«ñ»α«úαá¼¼δ│ └───┘
- └─────────┘ └────────────┘
-
- ┌─────────┐ ┌─────────────┐
- ºáú«½«ó«¬ ──>│procedure├─┬>│¿ñÑ¡Γ¿Σ¿¬áΓ«α├──┐
- »α«µÑñπαδ └─────────┘ │ └─────────────┘ ^├──────────────────>
- │ ┌─────────────┐ ││ ┌──────────┐ ^
- │ │ πΓ«τ¡Ñ¡¡δ⌐ │ ││ │ ß»¿ß«¬ │ │
- └>│¿ñÑ¡Γ¿Σ¿¬áΓ«α├─┘└─>│Σ«α¼á½∞¡δσ├─┘
- │ ¼ÑΓ«ñá │ │»áαá¼ÑΓα«ó│
- └─────────────┘ └──────────┘
-
- ┌──────┐
- í½«¬ ───┬──────────────────────────────┬──>│¼«ñπ½∞├────────>
- »«ñ»α«úαá¼¼δ│ ┌─────────┐ ┌───┐ ^ │ └──────┘ ^
- ├──>│ near ├─────>│ ; ├───┘ │ ┌───────┐ │
- │ └─────────┘ ^ └───┘ │──>│forward├───┤
- │ ┌─────────┐ │ │ └───────┘ │
- ├──>│ far ├──┤ │ ┌─────────┐ │
- │ └─────────┘ │ │──>│ñ¿αÑ¬Γ¿óá├─┤
- │ ┌─────────┐ │ │ │ external│ │
- ├──>│ export ├──┤ │ └─────────┘ │
- │ └─────────┘ │ │ ┌────────┐ │
- │ ┌─────────┐ │ └──>│í½«¬ asm├──┤
- ├──>│interrupt├──┘ └────────┘ │
- │ └─────────┘ ┌─────────┐ │
- └─────────────────────────────────>│ñ¿αÑ¬Γ¿óá├─┘
- │ inline │
- └─────────┘
-
- çáú«½«ó¬¿ »α«µÑñπα ¿¼Ñ¡πεΓ ¿ñÑ¡Γ¿Σ¿¬áΓ«αδ »α«µÑñπα ¿ ºáñáεΓ
- Σ«α¼á½∞¡δÑ »áαá¼ÑΓαδ (Ñß½¿ «¡¿ ¿¼ÑεΓß∩).
-
- Åα¿¼Ñτá¡¿Ñ: æ¿¡Γá¬ß¿ß ß»¿ß¬á Σ«α¼á½∞¡δσ »áαá¼ÑΓα«ó »«-
- ¬áºá¡ ñá½ÑÑ ó φΓ«⌐ ú½áóÑ ó αáºñÑ½Ñ "Åáαá¼ÑΓαδ".
-
- Åα«µÑñπαá á¬Γ¿ó¿º¿απÑΓß∩ ß »«¼«Θ∞ε «»ÑαáΓ«αá »α«µÑñπαδ, ó
- ¬«Γ«α«¼ ß«ñÑαªáΓß∩ ¿¼∩ »α«µÑñπαδ ¿ ¡Ñ«íσ«ñ¿¼δÑ »áαá¼ÑΓαδ. Ä»Ñαá-
- Γ«αδ, ¬«Γ«αδÑ ñ«½ª¡δ óδ»«½¡∩Γ∞ß∩ »α¿ ºá»π᪥ »α«µÑñπαδ, ß«ñÑαªáΓ-
- ß∩ ó «»ÑαáΓ«α¡«⌐ τáßΓ¿ ¼«ñπ½∩ »α«µÑñπαδ. àß½¿ ó ß«ñÑαªáΘѼß∩ ó
- »α«µÑñπαÑ «»ÑαáΓ«αÑ ó¡πΓα¿ ¼«ñπ½∩ »α«µÑñπαδ ¿ß»«½∞ºπÑΓß∩ ¿ñÑ¡Γ¿-
- Σ¿¬áΓ«α »α«µÑñπαδ, Γ« »α«µÑñπαá íπñÑΓ óδ»«½¡∩Γ∞ß∩ αѬπαß¿ó¡« (íπ-
- ñÑΓ »α¿ óδ»«½¡Ñ¡¿¿ «íαáΘáΓ∞ß∩ ßá¼á ¬ ßÑíÑ).
-
- B.Pascal 7 & Objects/LR - 141 -
-
-
- Åα¿óÑñѼ »α¿¼Ñα «»¿ßá¡¿∩ »α«µÑñπαδ:
-
- procedure NumString(N: integer; var S: string);
- var
- V: integer;
- begin
- V := Abs(N);
- S := '';
- repeat
- S := Chr(N mod 10 + Ord('0')) + S;
- N := N div 10;
- until N = 0;
- if N < 0 then S := '-' + S;
- end;
-
- Ä»¿ßá¡¿∩ near ¿ far
- ─────────────────────────────────────────────────────────────────
-
- Borland Pascal »«ññÑনóáÑΓ ñóÑ ¼«ñѽ¿ ó맮óá »α«µÑñπα -
- í½¿ª¡εε (near) ¿ ñá½∞¡εε (far). æ Γ«τ¬¿ ºαÑ¡¿∩ «íΩÑ¼á »α«úαá¼¼δ ¿
- ߬«α«ßΓ¿ óδ»«½¡Ñ¡¿∩ í½¿ª¡∩∩ ¼«ñѽ∞ ó맮óá í«½ÑÑ φΣΣÑ¬Γ¿ó¡á, ¡« ß
- ¡Ñ⌐ ßó∩ºá¡δ «úαá¡¿τÑ¡¿∩: »α«µÑñπαδ Γ¿»á near ¼«úπΓ óδºδóáΓ∞ß∩
- Γ«½∞¬« ó Γ«¼ ¼«ñπ½Ñ, úñÑ «¡¿ «»¿ßá¡δ. Åα«µÑñπαδ ªÑ ß ñá½∞¡¿¼ Γ¿-
- »«¼ ó맮óá ¼«ª¡« óδºδóáΓ∞ ¿º ½εí«ú« ¼«ñπ½∩, ¡« «¡¿ ¡Ñ߬«½∞¬« ¼Ñ-
- ¡ÑÑ φΣΣÑ¬Γ¿ó¡δ.
-
- Åα¿¼Ñτá¡¿Ñ: Ä ó맮óáσ í½¿ª¡Ñú« ¿ ñá½∞¡Ñú« Γ¿»á αáß߬á-
- ºδóáÑΓß∩ ó â½áóÑ 22 "é«»α«ßδ π»αáó½Ñ¡¿∩".
-
- ìá «ß¡«óÑ «»¿ßá¡¿∩ »α«µÑñπαδ ¬«¼»¿½∩Γ«α íπñÑΓ áóΓ«¼áΓ¿τÑ߬¿
- óδí¿αáΓ∞ »αáó¿½∞¡πε ¼«ñѽ∞ ó맮óá. ä½∩ »α«µÑñπα, «»¿ßá¡¡δσ ó ¿¡-
- ΓÑαΣÑ⌐ß¡«⌐ τáßΓ¿ ¼«ñπ½∩ (interface), ¿ß»«½∞ºπÑΓß∩ ñá½∞¡∩∩ ¼«ñѽ∞
- ó맮óá - ¿σ ¼«ª¡« óδºδóáΓ∞ ¿º ñαπú¿σ ¼«ñπ½Ñ⌐. Åα«µÑñπαδ, «»¿ßá¡-
- ¡δÑ ó ßѬµ¿¿ αÑ὿ºáµ¿¿ ¼«ñπ½∩ (implementation), ¿¼ÑεΓ í½¿ª¡¿⌐
- Γ¿» ó맮óá. éδºδóáΓ∞ß∩ «¡¿ ¼«úπΓ Γ«½∞¬« ¿º »α«úαá¼¼ ñá¡¡«ú« ¼«ñπ-
- ½∩.
-
- ä½∩ ¡Ñ¬«Γ«αδσ ߻ѵ¿á½∞¡δσ µÑ½Ñ⌐ ¼«ªÑΓ »«ΓαÑí«óáΓ∞ß∩ ¿ß»«½∞-
- º«óáΓ∞ ¼«ñѽ∞ ß ñá½∞¡¿¼ Γ¿»«¼ ó맮óá. ìá»α¿¼Ñα, ó «óÑα½Ñ⌐¡δσ ºá-
- ñáτáσ «íδτ¡« ΓαÑíπÑΓß∩, τΓ«íδ óßÑ »α«µÑñπαδ ¿ Σπ¡¬µ¿¿ ¿¼Ñ½¿ ñá½∞-
- ¡¿⌐ Γ¿» ó맮óá. ǡὫú¿τ¡«, Ñß½¿ »α«µÑñπαá ¿½¿ Σπ¡¬µ¿∩
- »α¿ßóá¿óáÑΓß∩ »α«µÑñπα¡«⌐ »ÑαѼѡ¡«⌐, Γ« «¡á Γá¬ªÑ ñ«½ª¡á ¿ß»«½∞-
- º«óáΓ∞ ñá½∞¡¿⌐ Γ¿» ó맮óá. ùΓ«íδ »ÑαÑ«»αÑñѽ¿Γ∞ áóΓ«¼áΓ¿τÑ߬¿⌐
- óδí«α ¼«ñѽ¿ ó맮óá ¬«¼»¿½∩Γ«α«¼, ¼«ª¡« ¿ß»«½∞º«óáΓ∞ ñ¿αÑ¬Γ¿óπ
- ¬«¼»¿½∩Γ«αá {$F+}. Åα«µÑñπαδ ¿ Σπ¡¬µ¿¿, ¬«¼»¿½¿απѼδÑ ó ß«ßΓ«∩¡¿¿
- {$F+}, óßÑúñá íπñπΓ ¿¼ÑΓ∞ ñá½∞¡¿⌐ Γ¿» ó맮óá (far), á ó ß«ßΓ«∩¡¿¿
- {$F-} ¬«¼»¿½∩Γ«α áóΓ«¼áΓ¿τÑ߬¿ óδí¿αáÑΓ ¬«ααÑ¬Γ¡πε ¼«ñѽ∞. Å«
- π¼«½τá¡¿ε ¿ß»«½∞ºπÑΓß∩ ñ¿αÑ¬Γ¿óá {$F-}.
-
-
- B.Pascal 7 & Objects/LR - 142 -
-
- ùΓ«íδ ºáñáΓ∞ ¬«¡¬αÑΓ¡πε ¼«ñѽ∞ ó맮óá, ó «»¿ßá¡¿¿ »α«µÑñπαδ
- »ÑαÑñ ÑÑ í½«¬«¼ ¼«ª¡« π¬áºáΓ∞ ñ¿αÑ¬Γ¿óπ near ¿½¿ far. Åα¿ ¡á½¿τ¿¿
- Γᬫ⌐ ñ¿αÑ¬Γ¿óδ «¡á »ÑαÑ«»αÑñѽ∩ÑΓ ñ¿αÑ¬Γ¿óπ $F ¬«¼»¿½∩Γ«αá ¿ áó-
- Γ«¼áΓ¿τÑ߬¿⌐ óδí«α ¼«ñѽ¿ ó맮óá.
-
- Ä»¿ßá¡¿∩ export
- ─────────────────────────────────────────────────────────────────
-
- Ä»¿ßá¡¿Ñ export ñѽáÑΓ »α«µÑñπαπ ¿½¿ Σπ¡¬µ¿ε φ¬ß»«αΓ¿απѼ«⌐,
- óδ¡πªñá∩ ¬«¼»¿½∩Γ«α ¿ß»«½∞º«óáΓ∞ ñ½∩ ¡ÑÑ ñá½∞¡¿⌐ Γ¿» ó맮óá ¿ úÑ-
- ¡Ñα¿α«óáΓ∞ ߻ѵ¿á½∞¡δ⌐ ¬«ñ óσ«ñδ ¿ óδσ«ñá ¿º »α«µÑñπαδ.
-
- Åα«µÑñπαδ ¿ Σπ¡¬µ¿¿ ñ«½ª¡δ íδΓ∞ φ¬ß»«αΓ¿απÑ¼δ¼¿ ó ß½ÑñπεΘ¿σ
- ß½πτá∩σ:
-
- * Åα«µÑñπαδ ¿ Σπ¡¬µ¿¿ φ¬ß»«αΓ¿απεΓß∩ DLL (ñ¿¡á¼¿τÑ߬¿ ¬«¼»«-
- ¡πѼ«⌐ í¿í½¿«ΓѬ«⌐).
-
- * Åα«µÑñπαδ ¿ Σπ¡¬µ¿¿ ß¿ßΓѼ¡«ú« ó맮óá ó »α«úαá¼¼Ñ Windows.
-
- Ä Γ«¼, ¬á¬ φ¬ß»«αΓ¿α«óáΓ∞ »α«µÑñπαδ ¿ Σπ¡¬µ¿¿ ó DLL, αáß߬á-
- ºδóáÑΓß∩ ó â½áóÑ 11 "信ἿτÑ߬¿ ¬«¼»«¡πѼδÑ í¿í½¿«ΓѬ¿". ò«Γ∩
- »α«µÑñπαá ¿ Σπ¡¬µ¿∩ ¬«¼»¿½¿απÑΓß∩ ß ñ¿αÑ¬Γ¿ó«⌐ export, Σá¬Γ¿τÑß-
- ¬¿⌐ φ¬ß»«αΓ »α«µÑñπαδ ¿½¿ Σπ¡¬µ¿¿ ¡Ñ »α«¿ßσ«ñ¿Γ, »«¬á »«ñ»α«úαá¼-
- ¼á ¡Ñ »ÑαÑτ¿ß½∩ÑΓß∩ ó «»ÑαáΓ«αÑ exports í¿í½¿«ΓѬ¿.
-
- Åα«µÑñπαδ ¿ Σπ¡¬µ¿¿ ß¿ßΓѼ¡«ú« ó맮óá - φΓ« ΓÑ »α«µÑñπαδ ¿
- Σπ¡¬µ¿¿ óáΦÑ⌐ »α¿¬½áñ¡«⌐ »α«úαá¼¼δ, ¬«Γ«αδÑ óδºδóáεΓß∩ ßἫ⌐
- Windows, á ¡Ñ óáΦÑ⌐ »α¿¬½áñ¡«⌐ »α«úαá¼¼«⌐. Å«ñ»α«úαá¼¼δ ß¿ßΓѼ¡«-
- ú« ó맮óá ñ«½ª¡δ ¬«¼»¿½¿α«óáΓ∞ß∩ ß ñ¿αÑ¬Γ¿ó«⌐ export, ¡« ó «»Ñαá-
- Γ«αÑ exports ¿σ »ÑαÑτ¿ß½∩Γ∞ ¡Ñ ¡πª¡«. Åα¿óÑñѼ ¡Ñ¬«Γ«αδÑ »α¿¼Ñαδ
- »α«µÑñπα ¿ Σπ¡¬µ¿⌐ ß¿ßΓѼ¡«ú« ó맮óá:
-
- * »α«µÑñπαδ Windows;
- * ñ¿á½«ú«óδÑ »α«µÑñπαδ;
- * »α«µÑñπαδ ß¿ßΓѼ¡«ú« ó맮óá ñ½∩ »ÑαÑτ¿ß½Ñ¡¿∩;
- * »α«µÑñπαδ πóÑñ«¼½Ñ¡¿∩ «í «íαáΘÑ¡¿¿ ¬ »á¼∩Γ¿;
- * ߻ѵ¿á½¿º¿α«óá¡¡δÑ »α«µÑñπαδ Windows (Σ¿½∞Γαδ).
-
- Borland Pascal áóΓ«¼áΓ¿τÑ߬¿ úÑ¡Ñα¿απÑΓ ñ½∩ »α«µÑñπα ¿ Σπ¡¬-
- µ¿⌐, φ¬ß»«αΓ¿απѼδσ »α«úαá¼¼«⌐ Windows, φΣΣÑ¬Γ¿ó¡δÑ ß¿ßΓѼ¡δÑ óδ-
- º«óδ. ¥ΣΣÑ¬Γ¿ó¡δÑ ó맮óδ «ß½áí½∩εΓ ¡Ñ«íσ«ñ¿¼«ßΓ∞ ¿ß»«½∞º«óá¡¿∩
- »α¿ ß«ºñá¡¿¿ »«ñ»α«úαá¼¼ ß¿ßΓѼ¡«ú« ó맮óá »«ñ»α«úαá¼¼ API
- Windows MakeProcInstance ¿ FreeProcInstance.
-
- Åα¿¼Ñτá¡¿Ñ: æ¼. αáºñѽ "è«ñ óσ«ñá ¿ óδσ«ñá" ó â½áóÑ 22.
-
- B.Pascal 7 & Objects/LR - 143 -
-
- Ä»¿ßá¡¿∩ interrupt
- ─────────────────────────────────────────────────────────────────
-
- é «»¿ßá¡¿¿ »α«µÑñπαδ »ÑαÑñ í½«¬«¼ «»ÑαáΓ«α«ó ¼«ªÑΓ π¬áºδóá-
- ÑΓß∩ ñ¿αÑ¬Γ¿óá interrupt. Åα«µÑñπαá ó φΓ«¼ ß½πτáÑ αáßß¼áΓα¿óáÑΓ-
- ß∩, ¬á¬ »α«µÑñπαá »αÑαδóá¡¿∩. ÄΓ¼ÑΓ¿¼ »«¬á, τΓ« »α«µÑñπαá
- interrupt ¡Ñ ¼«ªÑΓ óδºδóáΓ∞ß∩ ¿º «»ÑαáΓ«α«ó »α«µÑñπαδ, ¿ τΓ« ¬áª-
- ñá∩ »α«µÑñπαá interrupt ñ«½ª¡á «»αÑñѽ∩Γ∞ ß»¿ß«¬ »áαá¼ÑΓα«ó, ¡á»-
- α¿¼Ñα, ß½ÑñπεΘ¿¼ «íαẫ¼:
-
- procedure MyInt(Flags, CS, IP, AX, BX, CX, DX, SI, DI, DS,
- ES, BP: Word);
- interrupt;
-
- Åα¿¼Ñτá¡¿Ñ: ìÑ ¿ß»«½∞ºπ⌐ΓÑ ñ¿αÑ¬Γ¿óπ interrupt »α¿
- αáºαáí«Γ¬Ñ »α«úαá¼¼ ñ½∩ Windows - φΓ« »α¿óÑñÑΓ ¬ ßí«ε.
-
- 滿߫¬ »áαá¼ÑΓα«ó ¡Ñ «í∩ºáΓѽ∞¡« ñ«½ªÑ¡ ß«ó»áñáΓ∞ ß π¬áºá¡-
- ¡δ¼ ß¿¡Γá¬ß¿ß«¼ - «¡ ¼«ªÑΓ íδΓ∞ ¬«α«τÑ ¿ ¿ß»«½∞º«óáΓ∞ ñαπú¿Ñ ¿¼Ñ-
- ¡á, ¡« αÑú¿ßΓαδ ñ«½ª¡δ »ÑαÑñáóáΓ∞ß∩ ó π¬áºá¡¡«¼ »«α∩ñ¬Ñ.
-
- Ä»¿ßá¡¿Ñ forward
- ─────────────────────────────────────────────────────────────────
-
- Ä»¿ßá¡¿Ñ »α«µÑñπαδ, ß«ñÑαªáΘÑÑ ó¼ÑßΓ« í½«¬á «»ÑαáΓ«α«ó ñ¿-
- αÑ¬Γ¿óπ forward, ¡áºδóáÑΓß∩ «»ÑαѪáεΘ¿¼ «»¿ß᡿Ѽ. é ¬á¬«¼-½¿í«
- ¼ÑßΓÑ »«ß½Ñ φΓ«ú« «»¿ßá¡¿∩ ß »«¼«Θ∞ε «»αÑñѽ∩εΘÑú« «»¿ßá¡¿∩ »α«-
- µÑñπαá ñ«½ª¡á «»αÑñѽ∩Γ∞ß∩. Ä»αÑñѽ∩εΘÑÑ «»¿ßá¡¿Ñ - φΓ« «»¿ßá¡¿Ñ,
- ó ¬«Γ«α«¼ ¿ß»«½∞ºπÑΓß∩ ëà ªÑ ¿ñÑ¡Γ¿Σ¿¬áΓ«α »α«µÑñπαδ, ¡« «»πΘÑ¡
- ß»¿ß«¬ Σ«α¼á½∞¡δσ »áαá¼ÑΓα«ó ¿ ó ¬«Γ«α«Ñ ó¬½ετÑ¡ í½«¬ «»ÑαáΓ«α«ó.
- Ä»¿ßá¡¿Ñ forward ¿ «»αÑñѽ∩εΘÑÑ «»¿ßá¡¿Ñ ñ«½ª¡δ »α¿ßπΓßΓó«óáΓ∞ ó
- «ñ¡«⌐ ¿ Γ«⌐ ªÑ τáßΓ¿ «»¿ßá¡¿∩ »α«µÑñπαδ ¿ Σπ¡¬µ¿¿. îѪñπ ¡¿¼¿ ¼«-
- úπΓ «»¿ßδóáΓ∞ß∩ ñαπú¿Ñ »α«µÑñπαδ ¿ Σπ¡¬µ¿¿, ¬«Γ«αδÑ ¼«úπΓ «íαá-
- ΘáΓ∞ß∩ ¬ »α«µÑñπαÑ ß «»ÑαѪáεΘ¿¼ «»¿ß᡿Ѽ. Æá¬¿¼ «íαẫ¼ 󫺼«ª-
- ¡á óºá¿¼¡á∩ αѬπαß¿∩.
-
- Ä»ÑαѪáεΘÑÑ «»¿ßá¡¿Ñ ¿ «»αÑñѽ∩εΘÑÑ «»¿ßá¡¿Ñ »αÑñßΓáó½∩εΓ
- ß«í«⌐ »«½¡«Ñ «»¿ßá¡¿Ñ »α«µÑñπαδ. Åα«µÑñπαá ßτ¿ΓáÑΓß∩ «»¿ßá¡¡«⌐ ß
- »«¼«Θ∞ε «»ÑαѪáεΘÑú« «»¿ßá¡¿∩.
-
- Åα¿¼Ñτá¡¿Ñ: é ¿¡ΓÑαΣÑ⌐ß¡«⌐ τáßΓ¿ ¼«ñπ½∩ «»¿ßá¡¿∩
- forward ¡Ñ ñ«»π߬áεΓß∩.
-
- Åα¿óÑñѼ ß½ÑñπεΘ¿⌐ »α¿¼Ñα «»ÑαѪáεΘÑú« «»¿ßá¡¿∩:
-
- procedure Walter(m,n : integer); forward;
-
- procedure Clara(x,y : real);
- begin
- .
- .
- .
- end;
-
- B.Pascal 7 & Objects/LR - 144 -
-
-
- procedure Walter;
- begin
- .
- .
- Clara(8.3, 2.4);
- .
- .
- end;
-
- Ä»αÑñѽ∩εΘÑÑ «»¿ßá¡¿Ñ »α«µÑñπαδ ¼«ªÑΓ íδΓ∞ ó¡ÑΦ¡¿¼ «»¿ßá¡¿-
- Ѽ. Äñ¡á¬«, «¡« ¡Ñ ¼«ªÑΓ íδΓ∞ ó¡πΓαÑ¡¡¿¼ «»¿ß᡿Ѽ ¿½¿ ñαπú¿¼
- «»ÑαѪáεΘ¿¼ «»¿ß᡿Ѽ. Ä»αÑñѽ∩εΘÑÑ «»¿ßá¡¿Ñ Γá¬ªÑ ¡Ñ ¼«ªÑΓ ß«-
- ñÑαªáΓ∞ ñ¿αÑ¬Γ¿óπ interrupt, «»¿ßá¡¿∩ assembler, near, far,
- export, inline ¿½¿ ñαπú«Ñ «»¿ßá¡¿Ñ forward.
-
-
-
- B.Pascal 7 & Objects/LR - 145 -
-
- Ä»¿ßá¡¿∩ external
- ─────────────────────────────────────────────────────────────────
-
- Ä»¿ßá¡¿∩ external »«ºó«½∩εΓ ßó∩ºδóáΓ∞ «Γñѽ∞¡« ߬«¼»¿½¿α«-
- óá¡¡δÑ »α«µÑñπαδ ¿ Σπ¡¬µ¿¿, ¡á»¿ßá¡¡δÑ ¡á ∩ºδ¬Ñ áßßѼí½Ñαá. Ä»¿-
- ßá¡¿∩ external »«ºó«½∩εΓ Γá¬ªÑ ¿¼»«αΓ¿α«óáΓ∞ »α«µÑñπαδ ¿ Σπ¡¬µ¿¿
- ¿º DLL.
-
- Åα¿¼Ñτá¡¿Ñ: ü«½ÑÑ ñÑΓá½∞¡«Ñ «»¿ßá¡¿∩ ¬«¼»«¡«ó¬¿ ß
- »α«úαá¼¼«⌐ ¡á ∩ºδ¬Ñ áßßѼí½Ñαá ß«ñÑনΓß∩ ó â½áóÑ 25.
-
- ñ¿αÑ¬Γ¿óá external
- │ ┌──────────┐
- └─>│ external ├┬───────────────────────────────────────────────>
- └──────────┘│ ┌───────────────────┐ ^
- └>│ßΓ᫬«óá∩ ¬«¡ßΓá¡Γá├┬───────────────────────┘
- └───────────────────┘│ ┌──────┐ ┌─────────┐^
- ├>│ name ├─>│ßΓ᫬«óá∩├┤
- │ └──────┘ │¬«¡ßΓá¡Γá││
- │ └─────────┘│
- │ ┌───────┐ ┌─────────┐│
- └>│ index ├>│ µÑ½á∩ ├┘
- └───────┘ │¬«¡ßΓá¡Γá│
- └─────────┘
-
- ä¿αÑ¬Γ¿óá external, ß«ßΓ«∩Θá∩ Γ«½∞¬« ¿º ºáαѺÑαó¿α«óá¡¡«ú«
- ß½«óá external, ¿ß»«½∞ºπÑΓß∩ ó ß«τÑΓá¡¿¿ ß ñ¿αÑ¬Γ¿óἿ {$L
- ¿¼∩_Σá⌐½á} ñ½∩ ¬«¼»«¡«ó¬¿ ß »α«µÑñπαἿ ¿ Σπ¡¬µ¿∩¼¿, αÑ὿º«óá¡-
- ¡δ¼¿ ó Σá⌐½áσ .OBJ.
-
- Åα¿óÑñѼ ß½ÑñπεΘ¿Ñ »α¿¼Ñαδ «»¿ßá¡¿⌐ ó¡ÑΦ¡¿σ »α«µÑñπα:
-
- procedure MoveWord(var source,dest; count: longint);
- external;
-
- procedure MoveLong(var source,dest; count: longint);
- external;
-
- procedure FillWord(var dest,data: integer; count: longint);
- external;
-
- procedure FillLong(var dest,data: integer; count: longint);
- external;
-
- {$L BLOCK.OBJ}
-
- é¡ÑΦ¡¿¼¿ »α«µÑñπαἿ ß½ÑñπÑΓ »«½∞º«óáΓ∞ß∩, ¬«úñá óδ σ«Γ¿ΓÑ
- «íΩÑñ¿¡¿Γ∞ í«½∞Φ«Ñ ¬«½¿τÑßΓó« «íΩÑ¬Γ¡δσ ¼«ñπ½Ñ⌐. àß½¿ óáΦ¿ »α«ú-
- αá¼¼δ ¿¼ÑεΓ ¡Ñí«½∞Φ«⌐ «íΩѼ, ½πτΦÑ ó¼ÑßΓ« φΓ«ú« ¿ß»«½∞º«óáΓ∞
- ó¡πΓαÑ¡¡¿Ñ »α«µÑñπαδ.
-
- ä¿αÑ¬Γ¿óδ external, ߻ѵ¿Σ¿µ¿απεΘ¿Ñ ¿¼∩ ñ¿¡á¼¿τÑ߬¿ ¬«¼»«¡π-
- Ѽ«⌐ í¿í½¿«ΓѬ¿ (¿, 󫺼«ª¡«, ¿¼»«αΓ¿απѼ«Ñ ¿¼∩ ¿½¿ »«α∩ñ¬«óδ⌐
-
- B.Pascal 7 & Objects/LR - 146 -
-
- ¡«¼Ñα ¿¼»«αΓá), ¿ß»«½∞ºπεΓß∩ ñ½∩ ¿¼»«αΓá »α«µÑñπα ¿ Σπ¡¬µ¿⌐ ¿º
- ñ¿¡á¼¿τÑ߬¿ ¬«¼»«¡πѼδσ í¿í½¿«ΓѬ. ìá»α¿¼Ñα, ß½ÑñπεΘá∩ ñ¿αÑ¬Γ¿óá
- external ¿¼»«αΓ¿απÑΓ ¿º DLL ß ¿¼Ñ¡Ñ¼ KERNEL (∩ñα« Windows) Σπ¡¬-
- µ¿ε ß ¿¼Ñ¡Ñ¼ GlobalAlloc:
-
- function GlobalAlloc(Flags: Word; Bytes: Longint): THandle;
- far; external 'KERNEL' index 15;
-
- é ¿¼»«αΓ¿απѼ«⌐ »α«µÑñπαÑ ¿½¿ Σπ¡¬µ¿¿ ñ¿αÑ¬Γ¿óá external ºá-
- ¡¿¼áÑΓ ¼ÑßΓ« «»¿ßá¡¿∩ ¿ «»ÑαáΓ«α¡«⌐ τáßΓ¿. é ¿¼»«αΓ¿απѼδσ »α«µÑ-
- ñπαáσ ¿½¿ Σπ¡¬µ¿∩σ ñ«½ªÑ¡ ¿ß»«½∞º«óáΓ∞ß∩ ñá½∞¡¿⌐ Γ¿» ó맮óá, ºá-
- ñáóáѼδ⌐ ß »«¼«Θ∞ε ñ¿αÑ¬Γ¿óδ far ó «»¿ßá¡¿¿ »α«µÑñπαδ ¿½¿ ñ¿αѬ-
- Γ¿óδ ¬«¼»¿½∩Γ«αá {$F+}. é «ßΓá½∞¡«¼ ¿¼»«αΓ¿απѼδÑ »α«µÑñπαδ ¿
- Σπ¡¬µ¿¿ á¡á½«ú¿τ¡δ «íδτ¡δ¼ »α«µÑñπαá¼ ¿ Σπ¡¬µ¿∩¼.
-
- Åα¿¼Ñτá¡¿Ñ: Å«ñα«í¡ÑÑ «í ¿¼»«αΓÑ Σπ¡¬µ¿⌐ ¿º DLL αáßß-
- ¬áºδóáÑΓß∩ ó â½áóÑ 11.
-
- B.Pascal 7 & Objects/LR - 147 -
-
- Ä»¿ßá¡¿∩ assembler
- ─────────────────────────────────────────────────────────────────
-
- Ä»¿ßá¡¿∩ assembler »«ºó«½∩εΓ óá¼ ¡á»¿ßáΓ∞ óßε »α«µÑñπαπ ¿½¿
- Σπ¡¬µ¿ε ¡á áßßѼí½ÑαÑ.
-
- Åα¿¼Ñτá¡¿Ñ: ü«½ÑÑ »«ñα«í¡« « »α«µÑñπαáσ ¿ Σπ¡¬µ¿∩σ ¡á
- ÇßßѼí½ÑαÑ αáß߬áºδóáÑΓß∩ ó â½áóÑ 24 "éßΓα«Ñ¡¡δ⌐ áßßѼí½Ñα".
-
- ┌─────────┐ ┌───┐ ┌──────────┐ ┌────────────┐
- í½«¬ asm ─>│assembler├──>│ ; ├──>│ αáºñѽ ├──>│asm «»ÑαáΓ«α├─>
- └─────────┘ └───┘ │ «»¿ßá¡¿∩ │ └────────────┘
- └──────────┘
-
-
- Ä»¿ßá¡¿∩ inline
- ─────────────────────────────────────────────────────────────────
-
- ä¿αÑ¬Γ¿óδ inline »«ºó«½∩εΓ ºá»¿ßδóáΓ∞ ó¼ÑßΓ« í½«¬á «»ÑαáΓ«-
- α«ó ¿¡ßΓαπ¬µ¿¿ ó ¼áΦ¿¡¡«¼ ¬«ñÑ. Åα¿ ó맮óÑ «íδτ¡«⌐ »α«µÑñπαδ ¬«¼-
- »¿½∩Γ«α ß«ºñáÑΓ ¬«ñ, ó ¬«Γ«α«¼ »áαá¼ÑΓαδ »α«µÑñπαδ »«¼ÑΘáεΓß∩ ó
- ßΓѬ, á ºáΓѼ ñ½∩ ó맮óá »α«µÑñπαδ úÑ¡Ñα¿απÑΓß∩ ¿¡ßΓαπ¬µ¿∩ CÇLL.
-
- ┌─────────────────┐
- ñ¿αÑ¬Γ¿óá inline ──>│ «»ÑαáΓ«α inline ├──────────>
- └─────────────────┘
-
- è«úñá óδ óδºδóáÑΓÑ »«ñßΓáó½∩Ѽπε »α«µÑñπαπ (inline), ¬«¼»¿-
- ½∩Γ«α úÑ¡Ñα¿απÑΓ ¬«ñ ß »«¼«Θ∞ε ñ¿αÑ¬Γ¿óδ inline, á ¡Ñ ß »«¼«Θ∞ε
- ¿¡ßΓαπ¬µ¿¿ CALL. Æá¬¿¼ «íαẫ¼, »«ßΓáó½∩Ѽá∩ »α«µÑñπαá "αáßΦ¿α∩-
- ÑΓß∩" »α¿ ¬áªñ«¼ «íαáΘÑ¡¿¿ ¬ ¡Ñ⌐, á¡á½«ú¿τ¡« ¼á¬α«¿¡ßΓαπ¬µ¿¿ ¡á
- ∩ºδ¬Ñ áßßѼí½Ñαá. Åα¿óÑñѼ ñóá ¡Ñí«½∞Φ¿σ »α¿¼Ñαá »«ñßΓáó½∩Ѽδσ
- »α«µÑñπα:
-
- procedure DisableInterrupts: inline($FA); { CLI }
- procedure EnableInterrupts; inline($FB); { STI }
-
- Åα¿¼Ñτá¡¿Ñ: æ¿¡Γá¬ß¿τÑ߬¿Ñ ñ¿áúαá¼¼δ «»ÑαáΓ«αá inline
- «»¿ßá¡δ »«ñα«í¡« ó â½áóÑ 25.
-
-
- B.Pascal 7 & Objects/LR - 148 -
-
- Ä»¿ßá¡¿∩ Σπ¡¬µ¿⌐
- ─────────────────────────────────────────────────────────────────
-
- Ä»¿ßá¡¿Ñ Σπ¡¬µ¿¿ «»αÑñѽ∩ÑΓ τáßΓ∞ »α«úαá¼¼δ, ó ¬«Γ«α«⌐ óδ-
- τ¿ß½∩εΓß∩ ¿ ó«ºóαáΘáÑΓß∩ º¡áτÑ¡¿Ñ.
-
- ┌─────────┐ ┌───┐ ┌───────┐ ┌───┐
- «»¿ßá¡¿Ñ ───>│ºáú«½«ó«¬├──>│ ; ├──>│ Γѽ« ├──>│ ; ├──>
- Σπ¡¬µ¿¿ │ Σπ¡¬µ¿¿ │ └───┘ │Σπ¡¬µ¿¿│ └───┘
- └─────────┘ └───────┘
-
- ┌────────┐ ┌─────────────┐
- ºáú«½«ó«¬ ───>│function├┬>│¿ñÑ¡Γ¿Σ¿¬áΓ«α├──┬───────────────────┐
- Σπ¡¬µ¿¿ └────────┘│ └─────────────┘^ │ ┌──────────┐ ^ │
- │ ┌─────────────┐│ │ │ß»¿ß«¬ │ │ │
- └>│ πΓ«τ¡Ñ¡¡δ⌐ ├┘ └─>│Σ«α¼á½∞¡δσ├──┘ │
- │¿ñÑ¡Γ¿Σ¿¬áΓ«α│ │»áαá¼ÑΓα«ó│ │
- │ ¼ÑΓ«ñá │ └──────────┘ │
- └─────────────┘┌─────────────────────┘
- │ ┌───┐ ┌────────┐
- └─>│ : ├──>│Γ¿» αÑ- ├──>
- └───┘ │ºπ½∞ΓáΓá│
- └────────┘
- ┌─────────────┐
- Γ¿» αѺπ½∞ΓáΓá ──┬──>│¿ñÑ¡Γ¿Σ¿¬áΓ«α├─────────>
- │ │ Γ¿»á │ ^
- │ └─────────────┘ │
- │ ┌──────┐ │
- └─────>│string├─────────┘
- └──────┘
-
- Åα¿¼Ñτá¡¿Ñ: öπ¡¬µ¿∩ ¡Ñ ¼«ªÑΓ ó«ºóαáΘáΓ∞ »α«µÑñπα¡δ⌐
- Γ¿» ¿½¿ ßΓαπ¬Γπα¡δ⌐ Γ¿».
-
- é ºáú«½«ó¬Ñ Σπ¡¬µ¿¿ «»αÑñѽ∩ÑΓß∩ ¿ñÑ¡Γ¿Σ¿¬áΓ«α Σπ¡¬µ¿¿, Σ«α-
- ¼á½∞¡δÑ »áαá¼ÑΓαδ (Ñß½¿ «¡¿ ¿¼ÑεΓß∩) ¿ Γ¿» αѺπ½∞ΓáΓá Σπ¡¬µ¿¿.
-
- öπ¡¬µ¿∩ á¬Γ¿ó¿º¿απÑΓß∩ »α¿ ó맮óÑ Σπ¡¬µ¿¿. Åα¿ ó맮óÑ Σπ¡¬-
- µ¿¿ π¬áºδóáÑΓß∩ ¿ñÑ¡Γ¿Σ¿¬áΓ«α Σπ¡¬µ¿¿ ¿ ¬á¬¿Ñ-½¿í« »áαá¼ÑΓαδ, ¡Ñ-
- «íσ«ñ¿¼δÑ ñ½∩ óδτ¿ß½Ñ¡¿∩ Σπ¡¬µ¿¿. é맮ó Σπ¡¬µ¿¿ ¼«ªÑΓ ó¬½ετáΓ∞ß∩
- ó óδαáªÑ¡¿∩ ó ¬áτÑßΓóÑ «»Ñαá¡ñá. è«úñá óδαáªÑ¡¿Ñ óδτ¿ß½∩ÑΓß∩,
- Σπ¡¬µ¿∩ óδ»«½¡∩ÑΓß∩ ¿ º¡áτÑ¡¿Ñ¼ «»Ñαá¡ñá ßΓá¡«ó¿Γß∩ º¡áτÑ¡¿Ñ,
- ó«ºóαáΘáѼ«Ñ Σπ¡¬µ¿Ñ⌐.
-
- é «»ÑαáΓ«α¡«⌐ τáßΓ¿ í½«¬á Σπ¡¬µ¿¿ ºáñáεΓß∩ «»ÑαáΓ«αδ, ¬«Γ«-
- αδÑ ñ«½ª¡δ óδ»«½¡∩Γ∞ß∩ »α¿ á¬Γ¿ó¿ºáµ¿¿ Σπ¡¬µ¿¿. é ¼«ñπ½Ñ ñ«½ªÑ¡
- ß«ñÑαªáΓ∞ß∩ »« ¬αá⌐¡Ñ⌐ ¼ÑαÑ «ñ¿¡ «»ÑαáΓ«α »α¿ßóá¿óá¡¿∩, ó ¬«Γ«α«¼
- ¿ñÑ¡Γ¿Σ¿¬áΓ«απ Σπ¡¬µ¿¿ »α¿ßóá¿óáÑΓß∩ º¡áτÑ¡¿Ñ. ÉѺπ½∞ΓáΓ«¼ Σπ¡¬-
- µ¿¿ ∩ó½∩ÑΓß∩ »«ß½Ññ¡ÑÑ »α¿ßó«Ñ¡¡«Ñ º¡áτÑ¡¿Ñ. àß½¿ Γᬫ⌐ «»ÑαáΓ«α
- »α¿ßóá¿óá¡¿∩ «ΓßπΓßΓóπÑΓ ¿½¿ «¡ ¡Ñ íδ½ óδ»«½¡Ñ¡, Γ« º¡áτÑ¡¿Ñ,
- ó«ºóαáΘáѼ«Ñ Σπ¡¬µ¿Ñ⌐, ¡Ñ «»αÑñѽѡ«.
-
- àß½¿ ¿ñÑ¡Γ¿Σ¿¬áΓ«α Σπ¡¬µ¿¿ ¿ß»«½∞ºπÑΓß∩ »α¿ ó맮óÑ Σπ¡¬µ¿¿
-
- B.Pascal 7 & Objects/LR - 149 -
-
- ó¡πΓα¿ ¼«ñπ½∩-Σπ¡¬µ¿¿, Γ« Σπ¡¬µ¿∩ óδ»«½¡∩ÑΓß∩ αѬπαß¿ó¡«.
-
- Åα¿óÑñѼ ñá½ÑÑ »α¿¼Ñαδ «»¿ßá¡¿⌐ Σπ¡¬µ¿¿:
-
- function Max(a: Vector; n: integer): extended;
- var
- x: extended;
- i: integer;
- begin
- x := a(1);
- for i := 2 to n do if x < a[i] then x := a[i];
- Max := x;
- end;
-
- function Power(x: extended; y: integer): extended;
- var
- z: extended;
- i: integer;
- begin
- z := 1.0; i := y;
- while i > 0 do
- begin
- if Odd(i) then z := z*x;
- x := Sqr(x);
- end;
- Power := z;
- end;
-
- ǡὫú¿τ¡« »α«µÑñπαá¼ Σπ¡¬µ¿¿ ¼«úπΓ «»¿ßδóáΓ∞ß∩, ¬á¬ ß í½¿ª-
- ¡¿¼ Γ¿»«¼ ó맮óá (near), ß ñá½∞¡¿¼ Γ¿»«¼ ó맮óá (far), «»ÑαѪáε-
- Θ¿Ñ (forward), ó¡ÑΦ¡¿Ñ (external), áßßѼí½Ñα¡δÑ (assembler) ¿½¿
- »«ñßΓáó½∩ѼδÑ (inline). Äñ¡á¬« Σπ¡¬µ¿¿ »αÑαδóá¡¿⌐ (interrupt) ¡Ñ
- ñ«»π߬áεΓß∩.
-
-
-
- B.Pascal 7 & Objects/LR - 150 -
-
- Ä»¿ßá¡¿∩ ¼ÑΓ«ñ«ó
- ─────────────────────────────────────────────────────────────────
-
- Ä»¿ßá¡¿Ñ ¼ÑΓ«ñá ó¡πΓα¿ «íΩÑ¬Γ¡«ú« Γ¿»á ß««ΓóÑΓßΓóπÑΓ «»ÑαÑ-
- ªáεΘÑ¼π «»¿ßá¡¿ε (forward) φΓ«ú« ¼ÑΓ«ñá. Æá¬¿¼ «íαẫ¼, ¼ÑΓ«ñ
- ñ«½ªÑ¡ íδΓ∞ αÑ὿º«óá¡ úñÑ-¡¿íπñ∞ »«ß½Ñ «»¿ßá¡¿∩ «íΩÑ¬Γ¡«ú« Γ¿»á
- ¿ ó¡πΓα¿ Γ«⌐ ªÑ ßἫ⌐ «í½áßΓ¿ ñÑ⌐ßΓó¿∩ ¼ÑΓ«ñá »πΓѼ «»αÑñѽ∩εΘÑú«
- «»¿ßá¡¿∩.
-
- ä½∩ »α«µÑñπα¡δσ ¿ Σπ¡¬µ¿«¡á½∞¡δσ ¼ÑΓ«ñ«ó «»αÑñѽ∩εΘÑÑ «»¿ßá-
- ¡¿∩ ¿¼ÑÑΓ Σ«α¼π «íδτ¡«ú« «»¿ßá¡¿∩ »α«µÑñπαδ ¿½¿ Σπ¡¬µ¿¿, ºá ΓѼ
- ¿ß¬½ετÑ¡¿Ñ¼, τΓ« ó φΓ«¼ ß½πτáÑ ¿ñÑ¡Γ¿Σ¿¬áΓ«α »α«µÑñπαδ ¿½¿ Σπ¡¬-
- µ¿¿ αáßß¼áΓα¿óáÑΓß∩ ¬á¬ ¿ñÑ¡Γ¿Σ¿¬áΓ«α ¼ÑΓ«ñá.
-
- ä½∩ ¼ÑΓ«ñ«ó ¬«¡ßΓαπ¬Γ«α«ó ¿ ñÑßΓαπ¬Γ«α«ó «»αÑñѽ∩εΘÑÑ «»¿ßá-
- ¡¿⌐ »α¿¡¿¼áÑΓ Σ«α¼π «»¿ßá¡¿∩ »α«µÑñπα¡«ú« ¼ÑΓ«ñá, ºá ΓѼ ¿ß¬½ετÑ-
- ¡¿Ñ¼, τΓ« ºáαѺÑαó¿α«óá¡¡«Ñ ß½«ó« procedure ºá¼Ñ¡∩ÑΓß∩ ¡á ºáαÑ-
- ºÑαó¿α«óá¡¡«Ñ ß½«ó« constructor ¿½¿ destructor. Ä»αÑñѽ∩εΘÑÑ «»¿-
- ßá¡¿Ñ ¼ÑΓ«ñá ¼«ªÑΓ »«óΓ«α∩Γ∞ (¡« ¡Ñ «í∩ºáΓѽ∞¡«) ß»¿ß«¬ Σ«α¼á½∞-
- ¡δσ »áαá¼ÑΓα«ó ºáú«½«ó¬á ¼ÑΓ«ñá ó «íΩÑ¬Γ¡«¼ Γ¿»Ñ. é φΓ«¼ ß½πτáÑ
- ºáú«½«ó«¬ ¼ÑΓ«ñá ñ«½ªÑ¡ ó Γ«τ¡«ßΓ¿ »«óΓ«α∩Γ∞ ºáú«½«ó«¬ ó «íΩѬΓ-
- ¡«¼ Γ¿»Ñ ó »«α∩ñ¬Ñ, Γ¿»áσ ¿ ¿¼Ñ¡áσ »áαá¼ÑΓα«ó ¿ ó Γ¿»Ñ ó«ºóαáΘáÑ-
- ¼«ú« Σπ¡¬µ¿Ñ⌐ αѺπ½∞ΓáΓá, Ñß½¿ ¼ÑΓ«ñ ∩ó½∩ÑΓß∩ Σπ¡¬µ¿Ñ⌐.
-
- é «»αÑñѽ∩εΘѼ «»¿ßá¡¿¿ ¼ÑΓ«ñá óßÑúñá »α¿ßπΓßΓóπÑΓ ¡Ñ∩ó¡δ⌐
- »áαá¼ÑΓα ß ¿ñÑ¡Γ¿Σ¿¬áΓ«α«¼ Self, ß««ΓóÑΓßΓóπεΘ¿⌐ Σ«α¼á½∞¡«¼π »á-
- αá¼ÑΓαπ-»ÑαѼѡ¡«⌐, «í½áñáεΘѼπ «íΩÑ¬Γ¡δ¼ Γ¿»«¼. é¡πΓα¿ í½«¬á ¼Ñ-
- Γ«ñá Self »αÑñßΓáó½∩ÑΓ φ¬ºÑ¼»½∩α, ¬«¼»«¡Ñ¡Γ ¼ÑΓ«ñá ¬«Γ«α«ú« íδ½
- π¬áºá¡ ñ½∩ á¬Γ¿ó¿ºáµ¿¿ ¼ÑΓ«ñá. Æá¬¿¼ «íαẫ¼, ½εíδÑ ¿º¼Ñ¡Ñ¡¿∩
- º¡áτÑ¡¿⌐ »«½Ñ⌐ Self «ΓαáªáεΓß∩ ¡á φ¬ºÑ¼»½∩αÑ.
-
- Äí½áßΓ∞ ñÑ⌐ßΓó¿∩ ¿ñÑ¡Γ¿Σ¿¬áΓ«αá ¬«¼»«¡Ñ¡Γá «íΩÑ¬Γ¡«ú« Γ¿»á
- αáß»α«ßΓαá¡∩ÑΓß∩ ¡á í½«¬¿ »α«µÑñπα, Σπ¡¬µ¿⌐, ¬«¡ßΓαπ¬Γ«α«ó ¿
- ñÑßΓαπ¬Γ«αá, ¬«Γ«αδÑ αÑ὿ºπεΓ ¼ÑΓ«ñδ ñá¡¡«ú« «íΩÑ¬Γ¡«ú« Γ¿»á.
- ¥ΣΣÑ¬Γ »«½πτáÑΓß∩ ëà ªÑ, ¬á¬ Ñß½¿ íδ ó ¡áτὫ í½«¬á ¼ÑΓ«ñá íδ½
- óßΓáó½Ñ¡ «»ÑαáΓ«α with ó ß½ÑñπεΘÑ⌐ Σ«α¼Ñ:
-
- with Self do
- begin
- ...
- end;
-
- êßσ«ñ∩ ¿º φΓ¿σ ß««íαáªÑ¡¿⌐, ¡á»¿ßá¡¿Ñ ¿ñÑ¡Γ¿Σ¿¬áΓ«α«ó ¬«¼»«-
- ¡Ñ¡Γ«ó, Σ«α¼á½∞¡δσ »áαá¼ÑΓα«ó ¼ÑΓ«ñá, Self ¿ ½εí«ú« ¿ñÑ¡Γ¿Σ¿¬áΓ«-
- αá, óóÑñÑ¡¡«ú« ó ¿ß»«½¡∩Ѽπε τáßΓ∞ ¼ÑΓ«ñá, ñ«½ª¡« íδΓ∞ π¡¿¬á½∞-
- ¡δ¼.
-
- ì¿ªÑ »α¿ó«ñ∩Γß∩ ¡Ñ߬«½∞¬« »α¿¼Ñα«ó αÑ὿ºáµ¿⌐ ¼ÑΓ«ñ«ó:
-
- procedure Rect.Intersect(var R: Rect);
- begin
- if A.X < R.A.X then A.X := R.A.X;
- if A.X < R.A.Y then A.Y := R.A.Y;
-
- B.Pascal 7 & Objects/LR - 151 -
-
- if B.X > R.B.X then B.X := R.B.X;
- if B.Y < R.B.Y then B.Y := R.B.Y;
- if (A.X >= B.X) or (A.Y >= B.Y) then Init (0, 0, 0, 0);
- end;
-
- procedure Field.Display;
- begin
- GotoXY(X, Y);
- Write(Name^, ' ', GetStr);
- end;
-
- function NumField.PutStr(S: string): boolean;
- var
- E: integer;
- begin
- Val(S, Value, E);
- PutStr := (E = 0) and (Value >= Min) and (Value <= Max);
- end;
-
- è«¡ßΓαπ¬Γ«αδ ¿ ñÑßΓαπ¬Γ«αδ
- ─────────────────────────────────────────────────────────────────
-
- è«¡ßΓαπ¬Γ«αδ ¿ ñÑßΓαπ¬Γ«αδ ∩ó½∩εΓß∩ ߻ѵ¿á½¿º¿α«óá¡¡δ¼¿ Σ«α-
- ¼á¼¿ ¼ÑΓ«ñ«ó. êß»«½∞ºπѼδÑ ó ßó∩º¿ ß αáßΦ¿αÑ¡¡δ¼ ß¿¡Γá¬ß¿ß«¼
- ßΓá¡ñáαΓ¡δσ »α«µÑñπα New ¿ Dispose, ¬«¡ßΓαπ¬Γ«αδ ¿ ñÑßΓαπ¬Γ«αδ
- «í½áñáεΓ ß»«ß«í¡«ßΓ∞ε αẼÑΘÑ¡¿∩ ¿ πñá½Ñ¡¿∩ ñ¿¡á¼¿τÑ߬¿σ «íΩѬ-
- Γ«ó. èα«¼Ñ Γ«ú«, ¬«¡ßΓαπ¬Γ«αδ ¿¼ÑεΓ ó«º¼«ª¡«ßΓ∞ óδ»«½¡¿Γ∞ ΓαÑíπÑ-
- ¼πε ¿¡¿µ¿á½¿ºáµ¿ε «íΩÑ¬Γ«ó, ß«ñÑαªáΘ¿σ ó¿αΓπá½∞¡δÑ ¼ÑΓ«ñδ. èᬠ¿
- óßÑ ñαπú¿Ñ ¼ÑΓ«ñδ, ¬«¡ßΓαπ¬Γ«αδ ¿ ñÑßΓαπ¬Γ«αδ ¼«úπΓ ¡áß½Ññ«óáΓ∞-
- ß∩, á «íΩѬΓδ ¼«úπΓ ß«ñÑαªáΓ∞ ½εí«Ñ τ¿ß½« ¬«¡ßΓαπ¬Γ«α«ó ¿ ñÑßΓ-
- απ¬Γ«α«ó.
-
- è«¡ßΓαπ¬Γ«αδ ¿ß»«½∞ºπεΓß∩ ñ½∩ ¿¡¿µ¿á½¿ºáµ¿¿ ó¡«ó∞ ß«ºñá¡¡δσ
- «íΩÑ¬Γ«ó. Äíδτ¡« ¿¡¿µ¿á½¿ºáµ¿∩ «ß¡«óδóáÑΓß∩ ¡á º¡áτÑ¡¿∩σ, »ÑαÑñá-
- óáѼδσ ¬«¡ßΓαπ¬Γ«απ ó ¬áτÑßΓóÑ »áαá¼ÑΓα«ó. è«¡ßΓαπ¬Γ«α ¡Ñ ¼«ªÑΓ
- íδΓ∞ ó¿αΓπá½∞¡δ¼, Γᬠ¬á¬ ¼Ñσá¡¿º¼ ñ¿ß»ÑΓτÑα¿ºáµ¿¿ ó¿αΓπá½∞¡«ú«
- ¼ÑΓ«ñá ºáó¿ß¿Γ «Γ ¬«¡ßΓαπ¬Γ«αá, ¬«Γ«αδ⌐ »Ñαóδ¼ ß«óÑαΦ¿½ ¿¡¿µ¿á½¿-
- ºáµ¿ε «íΩѬΓá.
-
- ┌────────────┐ ┌───┐ ┌────────────┐ ┌───┐
- «»¿ßá¡¿Ñ ───>│ ºáú«½«ó«¬ ├──>│ ; ├──>│ í½«¬ ├──>│ ; ├─>
- ¬«¡ßΓαπ¬Γ«αá │¬«¡ßΓαπ¬Γ«αá│ └───┘ │»«ñ»α«úαá¼¼δ│ └───┘
- └────────────┘ └────────────┘
-
- ┌───────────┐ ┌─────────────┐
- ºáú«½«ó«¬ ────>│constructor├┬>│¿ñÑ¡Γ¿Σ¿¬áΓ«α├─┬────────────────>
- ¬«¡ßΓαπ¬Γ«αá └───────────┘│ └─────────────┘^│ ┌──────────┐ ^
- │ ┌─────────────┐││ │ ß»¿ß«¬ │ │
- └>│ πΓ«τ¡Ñ¡¡δ⌐ ├┘└─>│Σ«α¼á½∞¡δσ├─┘
- │¿ñÑ¡Γ¿Σ¿¬áΓ«α│ │»áαá¼ÑΓα«ó│
- │ ¼ÑΓ«ñá │ └──────────┘
- └─────────────┘
-
-
- B.Pascal 7 & Objects/LR - 152 -
-
- Åα¿óÑñѼ ¡Ñ߬«½∞¬« »α¿¼Ñα«ó ¬«¡ßΓαπ¬Γ«α«ó:
-
- constructor Field.Copy(var F: Field);
- begin
- Self := F;
- end;
-
- constructor Field.Init(FX, FY, FLen: integer; FName: string);
- begin
- X := FX;
- Y := FY;
- GetMem(Name, Length (FName) + 1);
- Name^ := FName;
- end;
-
- constructor TStrField.Init(FX, FY, FLen: integer; FName:
- string);
- begin
- inherited Init(FX, FY, FLen, FName);
- Field.Init(FX, FY, FLen, FName);
- GetMem(Value, Len);
- Value^ := '';
- end;
-
- â½áó¡δ¼ ñÑ⌐ßΓó¿Ñ¼ ¬«¡ßΓαπ¬Γ«αá »«α«ªñÑ¡¡«ú« (ñ«τÑα¡Ñú«) Γ¿-
- »á, Γᬫú« ¬á¬ π¬áºá¡¡δ⌐ óδΦÑ TStrField.Init, »«τΓ¿ óßÑúñá ∩ó½∩-
- ÑΓß∩ ó맮ó ß««ΓóÑΓßΓóπεΘÑú« ¬«¡ßΓαπ¬Γ«αá Ñú« ¡Ñ»«ßαÑñßΓóÑ¡¡«ú«
- α«ñ¿Γѽ∩ ñ½∩ ¿¡¿µ¿á½¿ºáµ¿¿ ¡áß½ÑñπѼδσ »«½Ñ⌐ «íΩѬΓá. Å«ß½Ñ óδ-
- »«½¡Ñ¡¿∩ φΓ«⌐ »α«µÑñπαδ, ¬«¡ßΓαπ¬Γ«α ¿¡¿µ¿á½¿º¿απÑΓ »«½∩ «íΩѬΓá,
- ¬«Γ«αδÑ »α¿¡áñ½ÑªáΓ Γ«½∞¬« »«α«ªñÑ¡¡«¼π Γ¿»π.
-
- äÑßΓαπ¬Γ«αδ ("ßí«αΘ¿¬¿ ¼πß«αá") ∩ó½∩εΓß∩ »α«Γ¿ó«»«½«ª¡«ßΓ∩¼¿
- ¬«¡ßΓαπ¬Γ«α«ó ¿ ¿ß»«½∞ºπεΓß∩ ñ½∩ «τ¿ßΓ¬¿ «íΩÑ¬Γ«ó »«ß½Ñ ¿σ ¿ß-
- »«½∞º«óá¡¿∩. Äíδτ¡« «τ¿ßΓ¬á ß«ßΓ«¿Γ ¿º πñá½Ñ¡¿∩ óßÑσ »«½Ñ⌐-π¬áºá-
- ΓѽÑ⌐ ó «íΩѬΓÑ.
-
- Åα¿¼Ñτá¡¿Ñ: äÑßΓαπ¬Γ«α ¼«ªÑΓ íδΓ∞ ó¿αΓπá½∞¡δ¼ ¿ τáßΓ«
- ∩ó½∩ÑΓß∩ Γᬫóδ¼. äÑßΓαπ¬Γ«α αÑñ¬« ¿¼ÑÑΓ »áαá¼ÑΓαδ.
-
- Åα¿óÑñѼ ¡Ñ߬«½∞¬« »α¿¼Ñα«ó ñÑßΓαπ¬Γ«α«ó:
-
- destructor Field.Done;
- begin
- FreeMem(Name, Length (Name^) + 1);
- end;
-
- destructor StrField.Done;
- begin
- FreeMem(Value, Len);
- Field.Done;
- end;
-
- äÑßΓαπ¬Γ«α ñ«τÑα¡Ñú« Γ¿»á, Γᬫ⌐ ¬á¬ π¬áºá¡¡δ⌐ óδΦÑ
-
- B.Pascal 7 & Objects/LR - 153 -
-
- TStrField.Done, «íδτ¡« ß¡áτá½á πñá½∩ÑΓ óóÑñÑ¡¡δÑ ó »«α«ªñÑ¡¡«¼
- Γ¿»Ñ »«½∩ π¬áºáΓѽÑ⌐, á ºáΓѼ ó ¬áτÑßΓóÑ »«ß½Ññ¡Ñú« ñÑ⌐ßΓó¿∩ óδ-
- ºδóáÑΓ ß««ΓóÑΓßΓóπεΘ¿⌐ ßí«αΘ¿¬ ñÑßΓαπ¬Γ«α ¡Ñ»«ßαÑñßΓóÑ¡¡«ú« α«ñ¿-
- Γѽ∩ ñ½∩ πñá½Ñ¡¿∩ π¡áß½Ññ«óá¡¡δσ »«½Ñ⌐-π¬áºáΓѽÑ⌐ «íΩѬΓá.
-
-
-
- B.Pascal 7 & Objects/LR - 154 -
-
- é«ßßΓá¡«ó½Ñ¡¿Ñ «Φ¿í«¬ ¬«¡ßΓαπ¬Γ«αá
- ─────────────────────────────────────────────────────────────────
-
- Borland Pascal »«ºó«½∩ÑΓ óá¼ ß »«¼«Θ∞ε »ÑαѼѡ¡«⌐ HeapError
- ¼«ñπ½∩ System (ß¼. â½áóπ 21) πßΓá¡«ó¿Γ∞ Σπ¡¬µ¿ε «íαáí«Γ¬¿ «Φ¿í¬¿
- ñ¿¡á¼¿τÑ߬¿ αáß»αÑñѽ∩Ѽ«⌐ «í½áßΓ¿. ¥Γá Σπ¡¬µ¿«¡á½∞¡á∩ 󫺼«ª-
- ¡«ßΓ∞ ó½¿∩ÑΓ ¡á ß»«ß«í αáí«Γδ ¬«¡ßΓαπ¬Γ«α«ó «íΩÑ¬Γ¡«ú« Γ¿»á.
-
- Å« π¼«½τá¡¿ε, ¬«úñá ñ½∩ ñ¿¡á¼¿τÑ߬«ú« φ¬ºÑ¼»½∩αá «íΩѬΓá ¡Ñ
- σóáΓáÑΓ »á¼∩Γ¿, óδº«ó ¬«¡ßΓαπ¬Γ«αá, ¿ß»«½∞ºπεΘ¿⌐ αáßΦ¿αÑ¡¡δ⌐ ß¿¡-
- Γá¬ß¿ß ßΓá¡ñáαΓ¡«⌐ »α«µÑñπαδ New, úÑ¡Ñα¿απÑΓ «Φ¿í¬π φΓá»á óδ»«½-
- ¡Ñ¡¿∩ 203. àß½¿ óδ πßΓᡫ󿽿 Σπ¡¬µ¿ε «íαáí«Γ¬¿ «Φ¿í¬¿ ñ¿¡á¼¿τÑß-
- ¬¿ αáß»αÑñѽ∩Ѽ«⌐ «í½áßΓ¿, ¬«Γ«αá∩ ó¼ÑßΓ« ßΓá¡ñáαΓ¡«ú« αѺπ½∞ΓáΓá
- Σπ¡¬µ¿¿ 0 ó«ºóαáΘáÑΓ 1, ¬«úñá óδ»«½¡¿Γ∞ ºá»α«ß ¡Ñ󫺼«ª¡«, ó맮ó
- ¬«¡ßΓαπ¬Γ«αá τÑαѺ New ó«ºóαáΘáÑΓ nil (ó¼ÑßΓ« »αÑαδóá¡¿∩ »α«úαá¼-
- ¼δ).
-
- è«ñ, óδ»«½¡∩εΘ¿⌐ αáß»αÑñѽѡ¿Ñ »á¼∩Γ¿ ¿ ¿¡¿µ¿á½¿ºáµ¿ε »«½∩
- Γáí½¿µδ ó¿αΓπá½∞¡δσ ¼ÑΓ«ñ«ó (VMT) ñ¿¡á¼¿τÑ߬«ú« φ¬ºÑ¼»½∩αá «íΩѬ-
- Γá ∩ó½∩ÑΓß∩ τáßΓ∞ε »«ß½Ññ«óáΓѽ∞¡«ßΓ¿ ó맮óá ¬«¡ßΓαπ¬Γ«αá. è«úñá
- π»αáó½Ñ¡¿Ñ »ÑαÑñáÑΓß∩ ¡á «»ÑαáΓ«α begin «»ÑαáΓ«α¡«⌐ τáßΓ¿ ¬«¡ß-
- Γαπ¬Γ«αá, »á¼∩Γ∞ ñ½∩ φ¬ºÑ¼»½∩αá πªÑ óδñѽѡá, ¿ «¡ ¿¡¿µ¿á½¿º¿α«-
- óá¡. àß½¿ óδñѽѡ¿∩ »á¼∩Γ¿ ºáóÑαΦáÑΓß∩ ¡Ñπñáτ¡«, ¿ Ñß½¿ Σπ¡¬µ¿∩
- «íαáí«Γ¬¿ «Φ¿í¬¿ ñ¿¡á¼¿τÑ߬¿ αáß»αÑñѽ∩Ѽ«⌐ «í½áßΓ¿ »á¼∩Γ¿ ó«ºó-
- αáΘáÑΓ 1, ¬«¡ßΓαπ¬Γ«α »α«»π߬áÑΓ óδ»«½¡Ñ¡¿Ñ «»ÑαáΓ«α¡«⌐ τáßΓ¿ ¿
- ó«ºóαáΘáÑΓ º¡áτÑ¡¿Ñ nil. Æá¬¿¼ «íαẫ¼, π¬áºáΓѽ∞, ºáñá¡¡δ⌐ ó óδ-
- »«½¡∩Ѽ«¼ ¬«¡ßΓαπ¬Γ«α«¼ ó맮óÑ New, πßΓá¡áó½¿óáÑΓß∩ ó nil.
-
- è«úñá π»αáó½Ñ¡¿Ñ »ÑαÑñáÑΓß∩ ¡á «»ÑαáΓ«α begin «»ÑαáΓ«α¡«⌐
- τáßΓ¿ ¬«¡ßΓαπ¬Γ«αá, ñ½∩ φ¬ºÑ¼»½∩αá «íΩÑ¬Γ¡«ú« Γ¿»á «íÑß»Ñτ¿óáÑΓß∩
- πß»ÑΦ¡«Ñ óδ»«½¡Ñ¡¿Ñ »á¼∩Γ¿ ¿ ¿¡¿µ¿á½¿ºáµ¿∩. æá¼ ¬«¡ßΓαπ¬Γ«α ¼«ªÑΓ
- »«»δΓáΓ∞ß∩ αáß»αÑñѽ¿Γ∞ ñ¿¡á¼¿τÑ߬¿Ñ »ÑαѼѡ¡δÑ ñ½∩ ¿¡¿µ¿á½¿ºáµ¿¿
- »«½Ñ⌐-π¬áºáΓѽÑ⌐ ó φ¬ºÑ¼»½∩αÑ, «ñ¡á¬«, Γá¬«Ñ αáß»αÑñѽѡ¿Ñ ¼«ªÑΓ
- ºáóÑαΦ¿Γ∞ß∩ ¡Ñπñáτ¡«. àß½¿ φΓ« »α«¿ßσ«ñ¿Γ, »αáó¿½∞¡« »«ßΓα«Ñ¡¡δ⌐
- ¬«¡ßΓαπ¬Γ«α ñ«½ªÑ¡ «Γ¼Ñ¡∩Γ∞ óßÑ πß»ÑΦ¡δÑ αáß»αÑñѽѡ¿∩ ¿, ¡á¬«-
- ¡Ñµ, «ßó«í«ªñáΓ∞ óδñѽѡ¡πε ñ½∩ φ¬ºÑ¼»½∩αá «íΩѬΓá »á¼∩Γ∞, Γá¬
- τΓ« αѺπ½∞ΓáΓ«¼ ¼«ªÑΓ ßΓáΓ∞ π¬áºáΓѽ∞ nil. ä½∩ óδ»«½¡Ñ¡¿∩ Γᬫ⌐
- "«Γ¼Ñ¡δ" Borland Pascal αÑ὿ºπÑΓ ßΓá¡ñáαΓ¡πε »α«µÑñπαπ Fail, ¬«-
- Γ«αá∩ ¡Ñ ΓαÑíπÑΓ »áαá¼ÑΓα«ó ¿ ¼«ªÑΓ óδºδóáΓ∞ß∩ Γ«½∞¬« ¿º ¬«¡ß-
- Γαπ¬Γ«αá. é맮ó Fail »α¿ó«ñ¿Γ ¬ Γ«¼π, τΓ« ¬«¡ßΓαπ¬Γ«α íπñÑΓ «ßó«-
- í«ªñáΓ∞ óδñѽѡ¡πε ñ½∩ ñ¿¡á¼¿τÑ߬«ú« φ¬ºÑ¼»½∩αá »á¼∩Γ∞, ¬«Γ«αá∩
- íδ½á óδñÑ½Ñ¡á »ÑαÑñ óσ«ñ«¼ ó ¬«¡ßΓαπ¬Γ«α, ¿ ñ½∩ π¬áºá¡¿∩ ¡Ñπñáτ¿
- ó«ºóαáΘáÑΓ π¬áºáΓѽ∞ nil.
-
- è«úñá »á¼∩Γ∞ ñ½∩ ñ¿¡á¼¿τÑ߬¿σ φ¬ºÑ¼»½∩α«ó óδñѽ∩ÑΓß∩ ß »«-
- ¼«Θ∞ε αáßΦ¿αÑ¡¡«ú« ß¿¡Γá¬ß¿ßá New, αѺπ½∞Γ¿απεΘÑÑ º¡áτÑ¡¿Ñ nil
- ó ºáñá¡¡«¼ π¬áºáΓѽÑ-»ÑαѼѡ¡«⌐ π¬áºδóáÑΓ, τΓ« «»Ñαᵿ∩ ºáóÑαΦ¿-
- ½áß∞ ¡Ñπñáτ¡«. è ß«ªá½Ñ¡¿ε, ¡Ñ ßπΘÑßΓóπÑΓ Γᬫú« π¬áºáΓѽ∩-»ÑαÑ-
- ¼Ñ¡¡«⌐, ¬«Γ«απε ¼«ª¡« »α«óÑα¿Γ∞ »«ß½Ñ »«ßΓα«Ñ¡¿∩ ßΓáΓ¿τÑ߬«ú« φ¬-
- ºÑ¼»½∩αá ¿½¿ »α¿ ó맮óÑ ¡áß½ÑñπѼ«ú« ¬«¡ßΓαπ¬Γ«αá. é¼ÑßΓ« φΓ«ú«
- Borland Pascal »«ºó«½∩ÑΓ ¿ß»«½∞º«óáΓ∞ ¬«¡ßΓαπ¬Γ«α ó ó¿ñÑ íπ½Ñóß-
- ¬«⌐ Σπ¡¬µ¿¿ ó óδαáªÑ¡¿¿: ó«ºóαáΘáѼ«Ñ º¡áτÑ¡¿Ñ True π¬áºδóáÑΓ ¡á
- πß»ÑΦ¡«Ñ óδ»«½¡Ñ¡¿Ñ, á º¡áτÑ¡¿Ñ False - ¡Ñ ¡Ñπß»ÑΦ¡«Ñ óδ»«½¡Ñ¡¿Ñ
-
- B.Pascal 7 & Objects/LR - 155 -
-
- ¿º-ºá ó맮óá ó ¬«¡ßΓαπ¬Γ«αÑ Fail.
-
- ìá ñ¿ß¬Ñ óδ ¼«ªÑΓÑ ¡á⌐Γ¿ ñóÑ »α«úαá¼¼δ - NORECVER.PAS ¿
- RECOVER.PAS. Äíá »α«úαá¼¼δ αÑ὿ºπεΓ ñóá »α«ßΓδσ «íΩÑ¬Γ¡δσ Γ¿»á,
- ß«ñÑαªáΘ¿σ π¬áºáΓѽ¿. ÅÑαóá∩ »α«úαá¼¼á ¡Ñ ß«ñÑαª¿Γ ó«ßßΓá¡«ó½Ñ¡¿∩
- «Φ¿í«¬ ¬«¡ßΓαπ¬Γ«αá.
-
- Åα«úαá¼¼á RECOVER.PAS ñѼ«¡ßΓα¿απÑΓ, ¬á¬ ¼«ª¡« »ÑαÑ»¿ßáΓ∞
- ¿ßσ«ñ¡δ⌐ ¬«ñ ñ½∩ αÑ὿ºáµ¿¿ ó«ßßΓá¡«ó½Ñ¡¿∩ «Φ¿í¬¿. çá¼ÑΓ¿¼, τΓ«
- ñ½∩ «Γ¼Ñ¡δ πß»ÑΦ¡«ú« óδñѽѡ¿∩ »á¼∩Γ¿ »ÑαÑñ óδº«ó«¼ Fail ñ½∩ ¿Γ«-
- ú«ó«ú« ¡Ñπß»ÑΦ¡«ú« óδ»«½¡Ñ¡¿∩ ¿ß»«½∞ºπεΓß∩ ß««ΓóÑΓßΓóπεΘ¿Ñ ñÑßΓ-
- απ¬Γ«αδ ó Base.Init ¿ Derived.Init. çá¼ÑΓ¿¼ ΓᬪÑ, τΓ« ó
- Derived.Init ó맮ó Base.Init ß«ñÑনΓß∩ ó¡πΓα¿ óδαáªÑ¡¿∩, ΓᬠτΓ«
- ¼«ª¡« »α«óÑα¿Γ∞ πß»ÑΦ¡«ßΓ∞ óδ»«½¡Ñ¡¿∩ ¡áß½ÑñπѼ«ú« ¬«¡ßΓαπ¬Γ«αá.
-
-
-
- B.Pascal 7 & Objects/LR - 156 -
-
- Åáαá¼ÑΓαδ
- ─────────────────────────────────────────────────────────────────
-
- é «»¿ßá¡¿¿ »α«µÑñπαδ ¿½¿ Σπ¡¬µ¿¿ ºáñáÑΓß∩ ß»¿ß«¬ Σ«α¼á½∞¡δσ
- »áαá¼ÑΓα«ó. èáªñδ⌐ »áαá¼ÑΓα, «»¿ßá¡¡δ⌐ ó ß»¿ß¬Ñ Σ«α¼á½∞¡δσ »áαá-
- ¼ÑΓα«ó, ∩ó½∩ÑΓß∩ ½«¬á½∞¡δ¼ »« «Γ¡«ΦÑ¡¿ε ¬ «»¿ßδóáѼ«⌐ »α«µÑñπαÑ
- ¿½¿ Σπ¡¬µ¿¿ ¿ ó ¼«ñπ½Ñ, ßó∩ºá¡¡δ¼ ß ñá¡¡«⌐ »α«µÑñπα«⌐ ¿½¿ Σπ¡¬µ¿-
- Ñ⌐ ¡á ¡Ñú« ¼«ª¡« ßßδ½áΓ∞ß∩ »« Ñú« ¿ñÑ¡Γ¿Σ¿¬áΓ«απ.
-
- ┌───┐ ┌──────────┐ ┌───┐
- ß»¿ß«¬ Σ«α¼á½∞¡δσ ───>│ ( ├─────>│ «»¿ßá¡¿Ñ ├──┬──>│ ) ├──>
- »áαá¼ÑΓα«ó └───┘ ^ │»áαá¼ÑΓαá │ │ └───┘
- │ └──────────┘ │
- │ ┌───┐ │
- └──────┤ ; │<─────┘
- └───┘
-
- ┌─────────────┐
- «»¿ßá¡¿Ñ ──┬────────────>│ß»¿ß«¬ ¿ñÑ¡- ├┬─────────────────────>
- »áαá¼ÑΓαá │ ┌───┐ ^ │Γ¿Σ¿¬áΓ«α«ó ││ ^
- ├─>│var├────┤ └─────────────┘│ ┌───┐ ┌───────┐ │
- │ └───┘ │ └>│ : ├─>│Γ¿» »á-├─┘
- │ ┌─────┐ │ └───┘ │αá¼ÑΓαá│
- └─>│const├──┘ └───────┘
- └─────┘
-
- æπΘÑßΓóπÑΓ Γα¿ Γ¿»á »áαá¼ÑΓα«ó: º¡áτÑ¡¿Ñ, »ÑαѼѡ¡á∩ ¿ ¡ÑΓ¿-
- »¿º¿α«óá¡¡á∩ »ÑαѼѡ¡á∩. Ä¡¿ σáαá¬ΓÑਧπεΓß∩ ß½ÑñπεΘ¿¼:
-
- 1. âαπ»»á »áαá¼ÑΓα«ó íѺ »αÑñΦÑßΓóπεΘÑú« ¬½ετÑó«ú« ß½«óá
- ∩ó½∩ÑΓß∩ ß»¿ß¬«¼ »áαá¼ÑΓα«ó-º¡áτÑ¡¿⌐.
-
- 2. âαπ»»á »áαá¼ÑΓα«ó, »ÑαÑñ ¬«Γ«α묨 ß½ÑñπÑΓ ¬½ετÑó«Ñ ß½«ó«
- const ¿ ºá ¬«Γ«α묨 ß½ÑñπÑΓ Γ¿», ∩ó½∩ÑΓß∩ ß»¿ß¬«¼ »áαá-
- ¼ÑΓα«ó-¬«¡ßΓá¡Γ.
-
- 3. âαπ»»á »áαá¼ÑΓα«ó, »ÑαÑñ ¬«Γ«α묨 ßΓ«¿Γ ¬½ετÑó«Ñ ß½«ó«
- var ¿ ºá ¬«Γ«α묨 ß½ÑñπÑΓ Γ¿», ∩ó½∩ÑΓß∩ ß»¿ß¬«¼ ¡ÑΓ¿»¿-
- º¿α«óá¡¡δσ »áαá¼ÑΓα«ó-»ÑαѼѡ¡δσ.
-
- 4. âαπ»»á »áαá¼ÑΓα«ó, »ÑαÑñ ¬«Γ«α묨 ßΓ«¿Γ ¬½ετÑó«Ñ ß½«ó«
- var ¿½¿ const ºá ¬«Γ«α묨 ¡Ñ ß½ÑñπÑΓ Γ¿», ∩ó½∩ÑΓß∩ ß»¿ß-
- ¬«¼ ¡ÑΓ¿»¿º¿α«óá¡¡δσ »áαá¼ÑΓα«ó-»ÑαѼѡ¡δσ.
-
- Åáαá¼ÑΓαδ ßΓ᫬«ó«ú« Γ¿»á ¿ ¼áßß¿óδ ¼«úπΓ íδΓ∞ «Γ¬αδΓ묨 »á-
- αá¼ÑΓαἿ. Åáαá¼ÑΓαδ-»ÑαѼѡ¡δÑ, «»¿ßá¡¡δÑ ß »«¼«Θ∞ε ¿ñÑ¡Γ¿Σ¿¬á-
- Γ«αá OpenString ¿½¿ ß ¿ß»«½∞º«ó᡿Ѽ ¬½ετÑó«ú« ß½«óá string ó
- ß«ßΓ«∩¡¿¿ {$P+}, ∩ó½∩εΓß∩ «Γ¬αδΓ묨 ßΓ᫬«ó묨 »áαá¼ÑΓαἿ. ç¡á-
- τÑ¡¿Ñ, ¬«¡ßΓá¡Γá ¿½¿ »áαá¼ÑΓα-»ÑαѼѡ¡á∩, «»¿ßá¡¡δÑ ß »«¼«Θ∞ε
- ß¿¡Γá¬ß¿ßá array of T, ∩ó½∩εΓß∩ «Γ¬αδΓδ¼ »áαá¼ÑΓα«¼-¼áßß¿ó«¼.
-
- Åα¿¼Ñτá¡¿Ñ: Å«ñα«í¡ÑÑ «í «Γ¬αδΓδσ »áαá¼ÑΓαáσ αáß߬áºδ-
- óáÑΓß∩ ¡¿ªÑ.
-
- B.Pascal 7 & Objects/LR - 157 -
-
-
- Åáαá¼ÑΓαδ-º¡áτÑ¡¿∩
- ─────────────────────────────────────────────────────────────────
-
- ö«α¼á½∞¡δ⌐ »áαá¼ÑΓα-º¡áτÑ¡¿Ñ «íαáíáΓδóáÑΓß∩, ¬á¬ ½«¬á½∞¡á∩
- »« «Γ¡«ΦÑ¡¿ε ¬ »α«µÑñπαÑ ¿½¿ Σπ¡¬µ¿¿ »ÑαѼѡ¡á∩, ºá ¿ß¬½ετÑ¡¿Ñ¼
- Γ«ú«, τΓ« «¡ »«½πτáÑΓ ßó«Ñ ¡áτá½∞¡«Ñ º¡áτÑ¡¿Ñ ¿º ß««ΓóÑΓßΓóπεΘÑú«
- Σá¬Γ¿τÑ߬«ú« »áαá¼ÑΓαá »α¿ á¬Γ¿ó¿ºáµ¿¿ »α«µÑñπαδ ¿½¿ Σπ¡¬µ¿¿. êº-
- ¼Ñ¡Ñ¡¿∩, ¬«Γ«αδÑ »αÑΓÑα»ÑóáÑΓ Σ«α¼á½∞¡δ⌐ »áαá¼ÑΓα-º¡áτÑ¡¿Ñ, ¡Ñ
- ó½¿∩εΓ ¡á º¡áτÑ¡¿Ñ Σá¬Γ¿τÑ߬«ú« »áαá¼ÑΓαá.
-
- æ««ΓóÑΓßΓóπεΘÑÑ Σá¬Γ¿τÑ߬«Ñ º¡áτÑ¡¿Ñ »áαá¼ÑΓαá-º¡áτÑ¡¿∩
- ñ«½ª¡« íδΓ∞ óδαáªÑ¡¿Ñ¼ ¿ Ñú« º¡áτÑ¡¿Ñ ¡Ñ ñ«½ª¡« ¿¼ÑΓ∞ Σá⌐½«óδ⌐
- Γ¿» ¿½¿ ¬á¬«⌐-½¿í« ßΓαπ¬Γπα¡δ⌐ Γ¿», ß«ñÑαªáΘ¿⌐ ó ßÑíÑ Σá⌐½«óδ⌐
- Γ¿».
-
- öá¬Γ¿τÑ߬¿⌐ »áαá¼ÑΓα ñ«½ªÑ¡ ¿¼ÑΓ∞ Γ¿», ß«ó¼ÑßΓ¿¼δ⌐ »« »α¿ß-
- óá¿óá¡¿ε ß Γ¿»«¼ Σ«α¼á½∞¡«ú« »áαá¼ÑΓαá-º¡áτÑ¡¿∩. àß½¿ »áαá¼ÑΓα
- ¿¼ÑÑΓ ßΓ᫬«óδ⌐ Γ¿», Γ« Σ«α¼á½∞¡δ⌐ »áαá¼ÑΓα íπñÑΓ ¿¼ÑΓ∞ áΓα¿íπΓ
- αẼÑαá, αáó¡δ⌐ 255.
-
-
- Åáαá¼ÑΓαδ-¬«¡ßΓá¡Γδ
- ─────────────────────────────────────────────────────────────────
-
- ö«α¼á½∞¡δÑ »áαá¼ÑΓαδ-¬«¡ßΓá¡Γδ αáí«ΓáεΓ á¡á½«ú¿τ¡« ½«¬á½∞¡«⌐
- »ÑαѼѡ¡«⌐, ñ«ßΓπ»¡«⌐ Γ«½∞¬« »« τΓÑ¡¿ε, ¬«Γ«αá∩ »«½πτáÑΓ ßó«Ñ
- º¡áτÑ¡¿Ñ »α¿ á¬Γ¿ó¿ºáµ¿¿ »α«µÑñπαδ ¿½¿ Σπ¡¬µ¿¿ «Γ ß««ΓóÑΓßΓóπεΘÑ-
- ú« Σá¬Γ¿τÑ߬«ú« »áαá¼ÑΓαá. Åα¿ßóá¿óá¡¿∩ Σ«α¼á½∞¡«¼π »áαá¼ÑΓ-
- απ-¬«¡ßΓá¡ΓÑ ¡Ñ ñ«»π߬áεΓß∩. ö«α¼á½∞¡δ⌐ »áαá¼ÑΓα-¬«¡ßΓá¡Γá ΓᬪÑ
- ¡Ñ ¼«ªÑΓ »ÑαÑñáóáΓ∞ß∩ ó ¬áτÑßΓóÑ Σá¬Γ¿τÑ߬«ú« »áαá¼ÑΓαá ñαπú«⌐
- »α«µÑñπαÑ ¿½¿ Σπ¡¬µ¿¿.
-
- Åáαá¼ÑΓα-¬«¡ßΓá¡Γá, ß««ΓóÑΓßΓóπεΘ¿⌐ Σá¬Γ¿τÑ߬«¼π »áαá¼ÑΓαπ ó
- «»ÑαáΓ«αÑ »α«µÑñπαδ ¿½¿ Σπ¡¬µ¿¿, ñ«½ªÑ¡ »«ñτ¿¡∩Γ∞ß∩ ΓѼ ªÑ »αáó¿-
- ½á¼, τΓ« ¿ Σá¬Γ¿τÑ߬«Ñ º¡áτÑ¡¿Ñ »áαá¼ÑΓαá.
-
- é ΓÑσ ß½πτá∩σ, ¬«úñá Σ«α¼á½∞¡δ⌐ »áαá¼ÑΓα ¡Ñ ¿º¼Ñ¡∩ÑΓ »α¿ óδ-
- »«½¡Ñ¡¿¿ »α«µÑñπαδ ¿½¿ Σπ¡¬µ¿¿ ßó«Ñú« º¡áτÑ¡¿∩, ó¼ÑßΓ« »áαá¼ÑΓ-
- αá-º¡áτÑ¡¿∩ ß½ÑñπÑΓ ¿ß»«½∞º«óáΓ∞ »áαá¼ÑΓα-¬«¡ßΓá¡Γπ. Åáαá¼ÑΓ-
- αδ-¬«¡ßΓá¡Γδ »«ºó«½∩εΓ »α¿ αÑ὿ºáµ¿¿ »α«µÑñπαδ ¿½¿ Σπ¡¬µ¿¿ ºáΘ¿-
- Γ¿Γ∞ß∩ «Γ ß½πτá⌐¡δσ »α¿ßóá¿óá¡¿⌐ Σ«α¼á½∞¡«¼π »áαá¼ÑΓαπ. èα«¼Ñ Γ«-
- ú«, ñ½∩ »áαá¼ÑΓα«ó ßΓαπ¬Γπα¡«ú« ¿ ßΓ᫬«ó«ú« Γ¿»á ¬«¼»¿½∩Γ«α »α¿
- ¿ß»«½∞º«óá¡¿¿ ó¼ÑßΓ« »áαá¼ÑΓα«ó-º¡áτÑ¡¿⌐ »áαá¼ÑΓα«ó-¬«¡ßΓá¡Γ ¼«-
- ªÑΓ úÑ¡Ñα¿α«óáΓ∞ í«½ÑÑ φΣΣÑ¬Γ¿ó¡δ⌐ ¬«ñ.
-
-
- Åáαá¼ÑΓαδ-»ÑαѼѡ¡δÑ
- ─────────────────────────────────────────────────────────────────
-
- Åáαá¼ÑΓα-»ÑαѼѡ¡á∩ ¿ß»«½∞ºπÑΓß∩, ¬«úñá º¡áτÑ¡¿Ñ ñ«½ª¡« »Ñ-
- αÑñáóáΓ∞ß∩ ¿º »α«µÑñπαδ ¿½¿ Σπ¡¬µ¿¿ óδºδóáεΘÑ⌐ »α«úαá¼¼Ñ. æ««Γ-
- óÑΓßΓóπεΘ¿⌐ Σá¬Γ¿τÑ߬¿⌐ »áαá¼ÑΓα ó «»ÑαáΓ«αÑ ó맮óá »α«µÑñπαδ ¿½¿
-
- B.Pascal 7 & Objects/LR - 158 -
-
- Σπ¡¬µ¿¿ ñ«½ªÑ¡ íδΓ∞ ßß佬«⌐ ¡á »ÑαѼѡ¡πε. Åα¿ á¬Γ¿ó¿ºáµ¿¿ »α«µÑ-
- ñπαδ ¿½¿ Σπ¡¬µ¿¿ Σ«α¼á½∞¡δ⌐ »áαá¼ÑΓα-»ÑαѼѡ¡á∩ ºá¼ÑΘáÑΓß∩ Σá¬Γ¿-
- τÑ߬«⌐ »ÑαѼѡ¡«⌐, ½εíδÑ ¿º¼Ñ¡Ñ¡¿∩ ó º¡áτÑ¡¿¿ Σ«α¼á½∞¡«ú« »áαá-
- ¼ÑΓαá-»ÑαѼѡ¡«⌐ «ΓαáªáεΓß∩ ¡á Σá¬Γ¿τÑ߬«¼ »áαá¼ÑΓαÑ.
-
- é¡πΓα¿ »α«µÑñπαδ ¿½¿ Σπ¡¬µ¿¿ ½εíá∩ ßßδ½¬á ¡á Σ«α¼á½∞¡δ⌐ »á-
- αá¼ÑΓα-»ÑαѼѡ¡πε »α¿ó«ñ¿Γ ¬ ñ«ßΓπ»π ¬ ßἫ¼π Σá¬Γ¿τÑ߬«¼π »áαá-
- ¼ÑΓαπ. Æ¿» Σá¬Γ¿τÑ߬«ú« »áαá¼ÑΓαá ñ«½ªÑ¡ ß«ó»áñáΓ∞ ß Γ¿»«¼ Σ«α-
- ¼á½∞¡«ú« »áαá¼ÑΓαá-»ÑαѼѡ¡«⌐ (óδ ¼«ªÑΓÑ «í«⌐Γ¿ φΓ« «úαá¡¿τÑ¡¿Ñ ß
- »«¼«Θ∞ε ¡ÑΓ¿»¿º¿α«óá¡¡«ú« »áαá¼ÑΓαá-»ÑαѼѡ¡«⌐).
-
- Åα¿¼Ñτá¡¿Ñ: öá⌐½«óδ⌐ Γ¿» ¼«ªÑΓ »ÑαÑñáóáΓ∞ß∩ Γ«½∞¬«,
- ¬á¬ »áαá¼ÑΓα-»ÑαѼѡ¡á∩.
-
- ä¿αÑ¬Γ¿óá ¬«¼»¿½∩Γ«αá $P π»αáó½∩ÑΓ ß¼δß½«¼ »áαá¼ÑΓαá-»ÑαÑ-
- ¼Ñ¡¡«⌐, «»¿ßδóáѼ«ú« ß ¬½ετÑóδ¼ ß½«ó«¼ string. é ß«ßΓ«∩¡¿¿ »«
- π¼«½τá¡¿ε ({$P-}) string ß««ΓóÑΓßΓóπÑΓ ßΓ᫬«ó«¼π Γ¿»π ß áΓα¿íπ-
- Γ«¼ αẼÑαá 255. é ß«ßΓ«∩¡¿¿ {$P+} string π¬áºδóáÑΓ, τΓ« »áαá¼ÑΓα
- ∩ó½∩ÑΓß∩ «Γ¬αδΓδ¼ ßΓ᫬«óδ¼ »áαá¼ÑΓα«¼ (ß¼. ¡¿ªÑ).
-
- Åα¿ ßßδ½¬Ñ ¡á Σá¬Γ¿τÑ߬¿⌐ »áαá¼ÑΓα-»ÑαѼѡ¡πε, ßó∩ºá¡¡πε ß
- ¿¡ñѬ߿α«ó᡿Ѽ ¼áßß¿óá ¿½¿ »«½πτÑ¡¿Ñ¼ π¬áºáΓѽ∩ ¡á «íΩѬΓ, φΓ¿
- ñÑ⌐ßΓó¿∩ óδ»«½¡∩εΓß∩ »ÑαÑñ á¬Γ¿ó¿ºáµ¿Ñ⌐ »α«µÑñπαδ ¿½¿ Σπ¡¬µ¿¿.
-
- Åαáó¿½á ß«ó¼ÑßΓ¿¼«ßΓ¿ »« »α¿ßóá¿óá¡¿ε ñ½∩ «íΩÑ¬Γ¡«ú« Γ¿»á
- »α¿¼Ñ¡∩εΓß∩ Γá¬ªÑ ¬ »áαá¼ÑΓαá¼-»ÑαѼѡ¡δ¼ «íΩÑ¬Γ¡«ú« Γ¿»á. ä½∩
- Σ«α¼á½∞¡«ú« »áαá¼ÑΓαá Γ¿»á T1 Σá¬Γ¿τÑ߬¿⌐ »áαá¼ÑΓα ñ«½ªÑ¡ íδΓ∞
- Γ¿»á T2, Ñß½¿ T2 ¡áσ«ñ¿Γß∩ ó ñ«¼Ñ¡Ñ T1. ìá»α¿¼Ñα, ß πτÑΓ«¼ «»¿-
- ßá¡¿⌐ â½áóδ 4, ¼ÑΓ«ñπ TField.Copy ¼«ªÑΓ »ÑαÑñáóáΓ∞ß∩ φ¬ºÑ¼»½∩α
- TField, TStrField, TNumField, TZipField ¿½¿ ½εí«⌐ ñαπú«⌐ φ¬ºÑ¼»-
- ½∩α »«Γ«¼¬á TField.
-
-
- ìÑΓ¿»¿º¿α«óá¡¡δÑ »áαá¼ÑΓαδ
- ─────────────────────────────────────────────────────────────────
-
- è«úñá Σ«α¼á½∞¡δ⌐ »áαá¼ÑΓα ∩ó½∩ÑΓß∩ ¡ÑΓ¿»¿º¿α«óá¡¡δ¼ »áαá¼ÑΓ-
- α«¼-»ÑαѼѡ¡«⌐, Γ« ß««ΓóÑΓßΓóπεΘ¿⌐ Σá¬Γ¿τÑ߬¿⌐ »áαá¼ÑΓα ¼«ªÑΓ
- »αÑñßΓáó½∩Γ∞ ß«í«⌐ ½εíπε ßß佬π ¡á »ÑαѼѡ¡πε ¿½¿ ¬«¡ßΓá¡Γπ, ¡Ñ-
- ºáó¿ß¿¼« «Γ ÑÑ Γ¿»á. ìÑΓ¿»¿º¿α«óá¡¡δ⌐ »áαá¼ÑΓα, «»¿ßá¡¡δ⌐ ß ¬½ε-
- τÑóδ¼ ß½«ó«¼ var, ¼«ªÑΓ ¼«ñ¿Σ¿µ¿α«óáΓ∞ß∩, á ¡ÑΓ¿»¿º¿α«óá¡¡δ⌐ »á-
- αá¼ÑΓα, «»¿ßá¡¡δ⌐ ß ¬½ετÑóδ¼ ß½«ó«¼ const, ñ«ßΓπ»Ñ¡ Γ«½∞¬« »«
- τΓÑ¡¿ε.
-
- é »α«µÑñπαÑ ¿½¿ Σπ¡¬µ¿¿ π ¡ÑΓ¿»¿º¿α«óá¡¡«ú« »áαá¼ÑΓαá-»ÑαÑ-
- ¼Ñ¡¡«⌐ Γ¿» «ΓßπΓßΓóπÑΓ, Γ« ÑßΓ∞ «¡ ¡Ñß«ó¼ÑßΓ¿¼ ß »ÑαѼѡ¡δ¼¿ óßÑσ
- Γ¿»«ó, »«¬á Ѽπ ¡Ñ íπñÑΓ »α¿ßó«Ñ¡ «»αÑñѽѡ¡δ⌐ Γ¿» ß »«¼«Θ∞ε
- »α¿ßóá¿óá¡¿∩ Γ¿»á »ÑαѼѡ¡«⌐.
-
- Åα¿óÑñѼ »α¿¼Ñα ¡ÑΓ¿»¿º¿α«óá¡¡δσ »áαá¼ÑΓα«ó-»ÑαѼѡ¡δσ:
-
- function Equal(var source,dest; size: word): boolean;
- type
-
- B.Pascal 7 & Objects/LR - 159 -
-
- Bytes = array[0..MaxInt] of byte;
- var
- N: integer;
- begin
- N := 0;
- while (N<size) and (Bytes(dest)[N] <> Bytes(source)[N]
- do Inc(N);
- Equal := N = size;
- end;
-
- ¥Γá Σπ¡¬µ¿∩ ¼«ªÑΓ ¿ß»«½∞º«óáΓ∞ß∩ ñ½∩ ßαáó¡Ñ¡¿∩ ½εíδσ ñóπσ
- »ÑαѼѡ¡δσ ½εí«ú« αẼÑαá. ìá»α¿¼Ñα, ß »«¼«Θ∞ε «»¿ßá¡¿⌐:
-
- type
- Vector = array[1..10] of integer;
- Point = record
- x,y: integer;
- end;
- var
- Vec1, Vec2: Vector;
- N: integer;
- P: Point;
-
- ¿ ó맮ó«ó Σπ¡¬µ¿⌐:
-
- Equal(Vec1,Vec2,SizeOf(Vector))
- Equal(Vec1,Vec2,SizeOf(integer)*N)
- Equal(Vec[1],Vec1[6],SizeOf(integer)*5)
- Equal(Vec1[1],P,4)
-
- ßαáó¡¿óáÑΓß∩ VÑß1 ß VÑß2, ßαáó¡¿óáεΓß∩ »ÑαóδÑ N φ½Ñ¼Ñ¡Γ«ó VÑß1 ß
- »Ñαó묨 N φ½Ñ¼Ñ¡ΓἿ VÑß2, ßαáó¡¿óáεΓß∩ »ÑαóδÑ 5 φ½Ñ¼Ñ¡Γ«ó VÑß1 ß
- »«ß½Ññ¡¿¼¿ »∩Γ∞ε φ½Ñ¼Ñ¡ΓἿ VÑß2 ¿ ßαáó¡¿óáεΓß∩ VÑß1[1] ß É.σ ¿
- VÑß2[2] ß P.Y.
-
- ò«Γ∩ ¡ÑΓ¿»¿º¿α«óá¡¡δÑ »áαá¼ÑΓαδ ñáεΓ óá¼ í«½∞Φπε ú¿í¬«ßΓ∞,
- ¿σ ¿ß»«½∞º«óá¡¿Ñ ß«»α∩ªÑ¡« ß ¡Ñ¬«Γ«αδ¼ α¿ß¬«¼. 諼»¿½∩Γ«α ¡Ñ ¼«-
- ªÑΓ »α«óÑα¿Γ∞ ñ«»πßΓ¿¼«ßΓ∞ «»Ñαᵿ⌐ ß ¡ÑΓ¿»¿º¿α«óá¡¡δ¼¿ »ÑαѼѡ-
- ¡δ¼¿.
-
-
-
-
- B.Pascal 7 & Objects/LR - 160 -
-
- ÄΓ¬αδΓδÑ »áαá¼ÑΓαδ
- ─────────────────────────────────────────────────────────────────
-
- ÄΓ¬αδΓδÑ »áαá¼ÑΓαδ »«ºó«½∩εΓ »ÑαÑñáóáΓ∞ «ñ¡«⌐ ¿ Γ«⌐ ªÑ »α«-
- µÑñπαÑ ¿½¿ Σπ¡¬µ¿¿ ßΓ᫬¿ ¿ ¼áßß¿óδ αẽ¿τ¡δσ αẼÑα«ó.
-
- ÄΓ¬αδΓδÑ ßΓ᫬«óδÑ »áαá¼ÑΓαδ
- ─────────────────────────────────────────────────────────────────
-
- ÄΓ¬αδΓδÑ ßΓ᫬«óδÑ »áαá¼ÑΓαδ ¼«úπΓ «»¿ßδóáΓ∞ß∩ ñóπ¼∩ ß»«ß«-
- íἿ:
-
- - ß »«¼«Θ∞ε ¿ñÑ¡Γ¿Σ¿¬áΓ«αá OpenString;
- - ß »«¼«Θ∞ε ¬½ετÑó«ú« ß½«óá string ó ß«ßΓ«∩¡¿¿ {$P+}.
-
- êñÑ¡Γ¿Σ¿¬áΓ«α OpenString «»¿ßδóáÑΓß∩ ó ¼«ñπ½Ñ System. Ä¡
- «í«º¡áτáÑΓ ß»Ñµ¿á½∞¡δ⌐ ßΓ᫬«óδ⌐ Γ¿», ¬«Γ«αδ⌐ ¼«ªÑΓ ¿ß»«½∞º«óáΓ∞-
- ß∩ Γ«½∞¬« ó «»¿ßá¡¿¿ ßΓ᫬«óδσ »áαá¼ÑΓα«ó. é µÑ½∩σ «íαáΓ¡«⌐ ß«ó-
- ¼ÑßΓ¿¼«ßΓ¿ OpenString ¡Ñ ∩ó½∩ÑΓß∩ ºáαѺÑαó¿α«óá¡¡δ¼ ß½«ó«¼ ¿ ¼«-
- ªÑΓ, Γᬿ¼ «íαẫ¼, íδΓ∞ »ÑαÑ«»αÑñѽѡ ¬á¬ ¿ñÑ¡Γ¿Σ¿¬áΓ«α, ºáñá¡-
- ¡δ⌐ »«½∞º«óáΓѽѼ.
-
- è«úñá «íαáΓ¡á∩ ß«ó¼ÑßΓ¿¼«ßΓ∞ º¡áτÑ¡¿∩ ¡Ñ ¿¼ÑÑΓ, ñ½∩ ¿º¼Ñ¡Ñ-
- ¡¿∩ ß¼δß½á ¬½ετÑó«ú« ß½«óá string ¼«ª¡« ¿ß»«½∞º«óáΓ∞ ñ¿αÑ¬Γ¿óπ
- ¬«¼»¿½∩Γ«αá {$P+}. é ß«ßΓ«∩¡¿¿ {$P+} »ÑαѼѡ¡á∩, «»¿ßá¡¡á∩ ß ¬½ε-
- τÑóδ¼ ß½«ó«¼ string, ∩ó½∩ÑΓß∩ «Γ¬αδΓδ¼ ßΓ᫬«óδ¼ »áαá¼ÑΓα«¼.
-
- ä½∩ «Γ¬αδΓ«ú« ßΓ᫬«ó«ú« »áαá¼ÑΓαá Σá¬Γ¿τÑ߬¿⌐ »áαá¼ÑΓα ¼«-
- ªÑΓ íδΓ∞ »ÑαѼѡ¡«⌐ ½εí«ú« ßΓ᫬«ó«ú« Γ¿»á. é »α«µÑñπαÑ ¿½¿ Σπ¡¬-
- µ¿¿ áΓα¿íπΓ αẼÑαá (¼á¬ß¿¼á½∞¡á∩ ñ½¿¡á) Σ«α¼á½∞¡«ú« »áαá¼ÑΓαá
- íπñÑΓ ΓѼ ªÑ, τΓ« π Σá¬Γ¿τÑ߬«ú« »áαá¼ÑΓαá.
-
- ÄΓ¬αδΓδÑ ßΓ᫬«óδÑ »áαá¼ÑΓαδ óÑñπΓ ßÑí∩ Γá¬ªÑ ¬á¬ »áαá¼ÑΓ-
- αδ-»ÑαѼѡ¡δÑ ßΓ᫬«ó«ú« Γ¿»á, Γ«½∞¬« ¿σ ¡Ñ½∞º∩ »ÑαÑñáóáΓ∞ ¬á¬
- «íδτ¡δÑ »ÑαѼѡ¡δÑ ñαπú¿¼ »α«µÑñπαá¼ ¿½¿ Σπ¡¬µ¿∩¼. Äñ¡á¬«, ¿σ
- ¼«ª¡« ß¡«óá »ÑαÑñáΓ∞ ¬á¬ «Γ¬αδΓδÑ ßΓ᫬«óδÑ »áαá¼ÑΓαδ.
-
- é ß½ÑñπεΘѼ »α¿¼ÑαÑ »áαá¼ÑΓα S »α«µÑñπαδ AssignStr - φΓ«
- «Γ¬αδΓδ⌐ ßΓ᫬«óδ⌐ »áαá¼ÑΓα:
-
- procedure AssignStr(var S: OpenString;
- begin
- S := '0123456789ABCDEF';
- end;
-
- Æá¬ ¬á¬ S - φΓ« «Γ¬αδΓδ⌐ ßΓ᫬«óδ⌐ »áαá¼ÑΓα, AssignStr ¼«ª¡«
- »ÑαÑñáóáΓ∞ »ÑαѼѡ¡δÑ ½εí«ú« ßΓ᫬«ó«ú« Γ¿»á:
-
- var
- S1: string[10];
- S1: string[20];
- begin
- AssignStr(S1); { S1 := '0123456789' }
-
- B.Pascal 7 & Objects/LR - 161 -
-
- AssignStr(S2); { S2 := '0123456789ABCDEF' }
- end;
-
- é AssingStr ¼á¬ß¿¼á½∞¡á∩ ñ½¿¡á »áαá¼ÑΓαá S Γá ªÑ ßá¼á∩, τΓ«
- π Σá¬Γ¿τÑ߬«ú« »áαá¼ÑΓαá. Æá¬¿¼ «íαẫ¼, ó »Ñαó«¼ ó맮óÑ
- AssingStr »α¿ »α¿ßóá¿óá¡¿¿ »áαá¼ÑΓαá S ßΓ᫬á πßѬáÑΓß∩, Γᬠ¬á¬
- ¼á¬ß¿¼á½∞¡á∩ ñ½¿¡á S1 αáó¡á 10.
-
- Åα¿ »α¿¼Ñ¡Ñ¡¿¿ ¬ «Γ¬αδΓ«¼π ßΓ᫬«ó«¼π »áαá¼ÑΓαπ ßΓá¡ñáαΓ¡á∩
- Σπ¡¬µ¿∩ Low ó«ºóαáΘáÑΓ 0, ßΓá¡ñáαΓ¡á∩ Σπ¡¬µ¿∩ High ó«ºóαáΘáÑΓ
- «»¿ßá¡¡πε ¼á¬ß¿¼á½∞¡πε ñ½¿¡π Σá¬Γ¿τÑ߬«ú« »áαá¼ÑΓαá, á Σπ¡¬µ¿∩
- SizeOf ó«ºóαáΘáÑΓ αẼÑα Σá¬Γ¿τÑ߬«ú« »áαá¼ÑΓαá.
-
- é ß½ÑñπεΘѼ »α¿¼ÑαÑ »α«µÑñπαá FillString ºá»«½¡∩ÑΓ ßΓ᫬π
- ºáñá¡¡δ¼ ß¿¼ó«½«¼ ñ« ÑÑ ¼á¬ß¿¼á½∞¡«⌐ ñ½¿¡δ. ÄíαáΓ¿ΓÑ ó¡¿¼á¡¿Ñ ¡á
- ¿ß»«½∞º«óá¡¿Ñ Σπ¡¬µ¿¿ High ñ½∩ »«½πτÑ¡¿∩ ¼á¬ß¿¼á½∞¡«⌐ ñ½¿¡δ «Γ¬-
- αδΓ«ú« ßΓ᫬«ó«ú« »áαá¼ÑΓαá.
-
- procedure FillStr(var S: OpenString; Ch: Char);
- begin
- S[0] := Chr(High(S)); { ºáñáÑΓ ñ½¿¡π ßΓ᫬¿ }
- FillChar(S[1], High(S), Ch); { πßΓá¡áó½¿óáÑΓ τ¿ß½«
- ß¿¼ó«½«ó }
- emd;
-
- ç¡áτÑ¡¿∩ ¿ »áαá¼ÑΓαδ-¬«¡ßΓá¡Γδ, «»¿ßá¡¡δÑ ß ¿ß»«½∞º«ó᡿Ѽ
- ¿ñÑ¡Γ¿Σ¿¬áΓ«αá OpenString ¿½¿ ¬½ετÑó«ú« ß½«óá string ó ß«ßΓ«∩¡¿¿
- {$P+}, ¡Ñ ∩ó½∩εΓß∩ «Γ¬αδΓ묨 ßΓ᫬«ó묨 »áαá¼ÑΓαἿ. Ä¡¿ óÑñπΓ
- ßÑí∩ ΓᬪÑ, ¬á¬ Ñß½¿ íδ í뫨 «»¿ßá¡δ ß ¼á¬ß¿¼á½∞¡«⌐ ñ½¿¡«⌐ ßΓα«-
- ¬«ó«ú« Γ¿»á 255, á Σπ¡¬µ¿∩ Hingh ñ½∩ Γᬿσ »áαá¼ÑΓα«ó óßÑúñá
- ó«ºóαáΘáÑΓ 255.
-
-
-
-
- B.Pascal 7 & Objects/LR - 162 -
-
- ÄΓ¬αδΓδÑ »áαá¼ÑΓαδ-¼áßß¿óδ
- ─────────────────────────────────────────────────────────────────
-
- ö«α¼á½∞¡δ⌐ »áαá¼ÑΓα, «»¿ßá¡¡δ⌐ ß »«¼«Θ∞ε ß¿¡Γá¬ß¿ßá:
-
- array of T
-
- ∩ó½∩ÑΓß∩ «Γ¬αδΓδ¼ »áαá¼ÑΓα«¼-¼áßß¿ó«¼. T ñ«½ª¡« íδΓ∞ ¿ñÑ¡Γ¿Σ¿¬á-
- Γ«α«¼ Γ¿»á, á Σá¬Γ¿τÑ߬¿⌐ »áαá¼ÑΓα ñ«½ªÑ¡ íδΓ∞ »ÑαѼѡ¡«⌐ Γ¿»á T,
- ¿½¿ ¼áßß¿ó«¼, Γ¿»«¼ φ½Ñ¼Ñ¡Γ«ó ¬«Γ«α«ú« ∩ó½∩ÑΓß∩ T. é »α«µÑñπαÑ
- ¿½¿ Σπ¡¬µ¿¿ Σ«α¼á½∞¡δ⌐ »áαá¼ÑΓα óÑñÑΓ ßÑí∩ Γá¬, ¬á¬ Ñß½¿ íδ «¡
- íδ½ «»¿ßá¡ ß½ÑñπεΘ¿¼ «íαẫ¼:
-
- arra[0..N - 1] of T
-
- úñÑ N - τ¿ß½« φ½Ñ¼Ñ¡Γ«ó ó Σá¬Γ¿τÑ߬«¼ »áαá¼ÑΓαÑ. Å« ßπΘÑßΓóπ,
- ñ¿á»áº«¡ ¿¡ñѬßá Σá¬Γ¿τÑ߬«ú« »áαá¼ÑΓαá «Γ«íαáªáÑΓß∩ ó ñ¿á»áº«¡
- µÑ½δσ τ¿ßѽ «Γ 0 ñ« N - 1. àß½¿ Σá¬Γ¿τÑ߬¿⌐ »áαá¼ÑΓα - φΓ« »α«ß-
- Γá∩ »ÑαѼѡ¡á∩ Γ¿»á T, Γ« «¡ ¿¡ΓÑα»αÑΓ¿απÑΓß∩ ¬á¬ ¼áßß¿ó ß «ñ¡¿¼
- φ½Ñ¼Ñ¡Γ«¼ Γ¿»á T.
-
- è «Γ¬αδΓ«¼π Σ«α¼á½∞¡«¼π »áαá¼ÑΓαπ-¼áßß¿óπ ¼«ª¡« «íαáΘáΓ∞ß∩
- Γ«½∞¬« »« φ½Ñ¼Ñ¡Γá¼. Åα¿ßóá¿óá¡¿∩ óßѼπ «Γ¬αδΓ«¼π ¼áßß¿óπ ¡Ñ ñ«-
- »π߬áεΓß∩, ¿ «Γ¬αδΓδ⌐ ¼áßß¿ó ¼«ªÑΓ »ÑαÑñáóáΓ∞ß∩ ñαπú¿¼ »α«µÑñπαá¼
- ¿½¿ Σπ¡¬µ¿∩¼ Γ«½∞¬« ¬á¬ «Γ¬αδΓδ⌐ »áαá¼ÑΓα-¼áßß¿ó ¿½¿ ¡ÑΓ¿»¿º¿α«-
- óá¡¡δ⌐ »áαá¼ÑΓα-»ÑαѼѡ¡á∩.
-
- ÄΓ¬αδΓδ⌐ »áαá¼ÑΓα-¼áßß¿ó ¼«ªÑΓ íδΓ∞ »áαá¼ÑΓα«¼-º¡áτÑ¡¿Ñ¼,
- »áαá¼ÑΓα«¼-¬«¡ßΓá¡Γ«⌐ ¿ »áαá¼ÑΓα«¼-»ÑαѼѡ¡«⌐ ¿ ¿¼ÑÑà ëà ªÑ
- ß¼δß½, τΓ« ¿ «íδτ¡δÑ »áαá¼ÑΓαδ-º¡áτÑ¡¿∩, »áαá¼ÑΓαδ-¬«¡ßΓá¡Γδ ¿
- »áαá¼ÑΓαδ-»ÑαѼѡ¡δÑ. é τáßΓ¡«ßΓ¿, »α¿ßóá¿óá¡¿∩ φ½Ñ¼Ñ¡Γá¼ Σ«α-
- ¼á½∞¡«ú« «Γ¬αδΓ«ú« ¼áßß¿óá-¬«¡ßΓá¡Γδ ¡Ñ ñ«»π߬áεΓß∩, á »α¿ßóá¿óá-
- ¡¿∩ φ½Ñ¼Ñ¡Γá¼ Σ«α¼á½∞¡«ú« «Γ¬αδΓ«ú« ¼áßß¿óá, ∩ó½∩εΘÑú«ß∩ »áαá¼ÑΓ-
- α«¼-º¡áτÑ¡¿Ñ¼, ¡Ñ ó½¿∩εΓ ¡á Σá¬Γ¿τÑ߬¿⌐ »áαá¼ÑΓα.
-
- ä½∩ «Γ¬αδΓδσ ¼áßß¿ó«ó-º¡áτÑ¡¿⌐ ¬«¼»¿½∩Γ«α ß«ºñáÑΓ ó ¬áñαÑ
- ßΓÑ¬á »α«µÑñπαδ ¿½¿ Σπ¡¬µ¿¿ ½«¬á½∞¡πε ¬«»¿ε Σá¬Γ¿τÑ߬«ú« »áαá¼ÑΓ-
- αá. Æá¬¿¼ «íαẫ¼, »α¿ »ÑαÑñáτÑ ó ¬áτÑßΓóÑ «Γ¬αδΓδσ »áαá¼ÑΓ-
- α«ó-º¡áτÑ¡¿⌐ í«½∞Φ¿σ ¼áßß¿ó«ó ß½ÑñπÑΓ πτ¿ΓδóáΓ∞ 󫺼«ª¡«Ñ »ÑαÑ-
- »«½¡Ñ¡¿Ñ ßΓѬá.
-
- Åα¿ »α¿¼Ñ¡Ñ¡¿¿ ¬ «Γ¬αδΓ«¼π »áαá¼ÑΓαπ-¼áßß¿óπ ßΓá¡ñáαΓ¡á∩
- Σπ¡¬µ¿∩ Low ó«ºóαáΘáÑΓ 0, ßΓá¡ñáαΓ¡á∩ Σπ¡¬µ¿∩ High ó«ºóαáΘáÑΓ ¿¡-
- ñÑ¬ß »«ß½Ññ¡Ñú« φ½Ñ¼Ñ¡Γá ó Σá¬Γ¿τÑ߬«¼ »áαá¼ÑΓαÑ-¼áßß¿óÑ, á Σπ¡¬-
- µ¿∩ SizeOf ó«ºóαáΘáÑΓ αẼÑα Σá¬Γ¿τÑ߬«ú« »áαá¼ÑΓαá-¼áßß¿óá.
-
- Åα«µÑñπαá Clear ó ß½ÑñπεΘѼ »α¿¼ÑαÑ »α¿ßóá¿óáÑΓ ¬áªñ«¼π φ½Ñ-
- ¼Ñ¡Γπ ¼áßß¿óá óÑΘÑßΓóÑ¡¡δσ º¡áτÑ¡¿⌐ ¡«½∞, á Σπ¡¬µ¿∩ Sum óδτ¿ß½∩ÑΓ
- ßπ¼¼π óßÑσ φ½Ñ¼Ñ¡Γ«ó ¼áßß¿óá óÑΘÑßΓóÑ¡¡δσ τ¿ßѽ. ū߬«½∞¬π ó «í«-
- ¿σ ß½πτá∩σ »áαá¼ÑΓα A ∩ó½∩ÑΓß∩ «Γ¬αδΓδ¼ »áαá¼ÑΓα«¼-¼áßß¿ó«¼,
- »«ñ»α«úαá¼¼δ ¼«úπΓ αáí«ΓáΓ∞ ß ½εíδ¼ ¼áßß¿ó«¼ φ½Ñ¼Ñ¡Γ«ó Γ¿»á Real:
-
- procedure Clear(var A: array of Real);
-
- B.Pascal 7 & Objects/LR - 163 -
-
- var
- I: Word;
- begin
- for I := 0 to High(A) do A[I] := 0;
- end;
-
- function Sum(const A: array of Real): Real;
- var
- I: Word;
- S: Real;
- begin
- S := 0;
- for I := 0 to High(A) do S := S + A[I];
- Sum := S;
- end;
-
- è«úñá Γ¿»«¼ φ½Ñ¼Ñ¡Γ«ó «Γ¬αδΓ«ú« »áαá¼ÑΓαá-¼áßß¿óá ∩ó½∩ÑΓß∩
- Char, Σá¬Γ¿τÑ߬¿⌐ »áαá¼ÑΓα ¼«ªÑΓ íδΓ∞ ßΓ᫬«ó«⌐ ¬«¡ßΓá¡Γ«⌐. ìá»-
- α¿¼Ñα, ß πτÑΓ«¼ »αÑñδñπΘÑú« «»¿ßá¡¿∩:
-
- procedure PringStr(const S: array of Char);
- var
- I: Integer;
- begin
- for I := 0 to High(S) do
- if S[I] <> #0 then Write(S[I]) else Break;
- end;
-
- ¿ ñ«»πßΓ¿¼δ ß½ÑñπεΘ¿Ñ «»ÑαáΓ«αδ »α«µÑñπα:
-
- PrintStr('Hello word');
- PrintStr('A');
-
- Åα¿ »ÑαÑñáτÑ ó ¬áτÑßΓóÑ «Γ¬αδΓ«ú« »áαá¼ÑΓαá-¼áßß¿óá »πßΓá∩
- ßΓα«¬á »αÑ«íαáºπÑΓß∩ ó ßΓ᫬π ß «ñ¡¿¼ φ½Ñ¼Ñ¡Γ«¼, ß«ñÑαªáΘ¿¼ ß¿¼-
- ó«½ NULL, »«φΓ«¼π «»ÑαáΓ«α PrintStr('') ¿ñÑ¡Γ¿τÑ¡ «»ÑαáΓ«απ
- PrintStr('#0').
-
-
- 信ἿτÑ߬¿Ñ »ÑαѼѡ¡δÑ «íΩÑ¬Γ¡«ú« Γ¿»á
- ─────────────────────────────────────────────────────────────────
-
- æΓá¡ñáαΓ¡δÑ »α«µÑñπαδ New ¿ Dispose ñ«»π߬áεΓ ó ¬áτÑßΓóÑ
- óΓ«α«ú« »áαá¼ÑΓαá óδº«ó ¬«¡ßΓαπ¬Γ«αá ¿½¿ ñÑßΓαπ¬Γ«αá ñ½∩ óδñѽÑ-
- ¡¿∩ ñ½∩ »á¼∩Γ¿ »ÑαѼѡ¡«⌐ «íΩÑ¬Γ¡«ú« Γ¿»á ¿½¿ ÑÑ «ßó«í«ªñÑ¡¿∩.
- Åα¿ φΓ«¼ ¿ß»«½∞ºπÑΓß∩ ß½ÑñπεΘ¿⌐ ß¿¡Γá¬ß¿ß:
-
- New(P, Construct)
- ¿
- Dispose(P, Destruct)
-
- úñÑ P - φΓ« π¬áºáΓѽ∞ ¡á »ÑαѼѡ¡πε, ßßδ½áεΘ¿⌐ß∩ ¡á «íΩÑ¬Γ¡δ⌐
- Γ¿», á Construct ¿ Destruct - φΓ« ó맮óδ ¬«¡ßΓαπ¬Γ«α«ó ¿ ñÑßΓαπ¬-
-
- B.Pascal 7 & Objects/LR - 164 -
-
- Γ«α«ó «íΩÑ¬Γ¡«ú« Γ¿»á. ä½∩ New φΣΣÑ¬Γ αáßΦ¿αÑ¡¡«ú« ß¿¡Γá¬ß¿ßá Γ«Γ
- ªÑ, τΓ« ¿ «Γ óδ»«½¡Ñ¡¿∩ «»ÑαáΓ«α«ó:
-
- New(P);
- P^.Construct;
-
- á ñ½∩ Dispose φΓ« φ¬ó¿óá½Ñ¡Γ¡« «»ÑαáΓ«αá¼:
-
- P^.Dispose;
- Dispose(P);
-
- üѺ αáßΦ¿αÑ¡¡«ú« ß¿¡Γá¬ß¿ßá óá¼ »α¿Φ½«ß∞ íδ τáßΓ« óß½Ññ ºá
- óδº«ó«¼ ¬«¡ßΓαπ¬Γ«αá óδºδóáΓ∞ New, ¿½¿ »«ß½Ñ ó맮óá ñÑßΓαπ¬Γ«αá
- óδºδóáΓ∞ Dispose. ÉáßΦ¿αÑ¡¡δ⌐ ß¿¡Γá¬ß¿ß π½πτΦáÑΓ τ¿ΓáѼ«ßΓ∞ ¿ß-
- σ«ñ¡«ú« ¬«ñá ¿ úÑ¡Ñα¿απÑΓ í«½ÑÑ ¬«α«Γ¬¿⌐ ¿ φΣΣÑ¬Γ¿ó¡δ⌐ ¬«ñ.
-
- Åα¿óÑñÑ¡¡δ⌐ »α¿¼Ñα ¿½½εßΓα¿απÑΓ ¿ß»«½∞º«óá¡¿Ñ αáßΦ¿αÑ¡¡«ú«
- ß¿¡Γá¬ß¿ßá New ¿ Dispose:
-
- var
- SP: PStrField
- ZP: PZipField
- begin
- New(SP, Init(1, 1, 25, 'ê¼∩'));
- New(ZP, Init(1, 2, 5, 'Å«τΓ«óδ⌐ ¿¡ñѬß'), 0, 99999));
- SP^.Edit;
- ZP^.Edit;
- .
- .
- .
- Dispose(ZP, Done);
- Dispose(SP, Done);
- end;
-
- éδ ¼«ªÑΓÑ Γá¬ªÑ ¿ß»«½∞º«óáΓ∞ New ¬á¬ Σπ¡¬µ¿ε, αáß»αÑñѽ∩εΘπε
- ¿ ó«ºóαáΘáεΘπε ñ¿¡á¼¿τÑ߬πε »ÑαѼѡ¡πε ºáñá¡¡«ú« αẼÑαá:
-
- New(T)
- ¿½¿
- New(T, Construct)
-
- é »Ñαó«⌐ Σ«α¼Ñ T ¼«ªÑΓ íδΓ∞ ½εíδ¼ ßß佫τ¡δ¼ Γ¿»«¼. é« óΓ«α«⌐
- Σ«α¼Ñ T ñ«½ªÑ¡ π¬áºδóáΓ∞ ¡á «íΩÑ¬Γ¡δ⌐ Γ¿», á Construct ñ«½ªÑ¡
- íδΓ∞ óδº«ó«¼ ¬«¡ßΓαπ¬Γ«αá φΓ«ú« «íΩѬΓá. é «í«¿σ ß½πτá∩σ Γ¿»«¼
- αѺπ½∞ΓáΓá Σπ¡¬µ¿¿ íπñÑΓ T.
-
- Åα¿óÑñѼ »α¿¼Ñα:
-
- var
- F1, F2: PField
- begin
- F1 := New(PStrField, Init(1, 1, 25, 'ê¼∩'));
- F1 := New(PZipField, Init(1, 2, 5, 'Å«τΓ«óδ⌐ ¿¡ñѬß', 0,
-
- B.Pascal 7 & Objects/LR - 165 -
-
- 99999));
- .
- .
- .
- WriteLn(F1^.GetStr); { óδºδóáÑΓ TStrField.GetStr }
- WriteLn(F2^.GetStr); { óδºδóáÑΓ TZipField.GetStr }
- .
- .
- .
- Dispose(F2, Done); { óδºδóáÑΓ TField.Done }
- Dispose(F1, Done); { óδºδóáÑΓ TStrField.Done }
- end;
-
- çá¼ÑΓ¿¼, τΓ« σ«Γ∩ F1 ¿ F2 ¿¼ÑεΓ Γ¿» PField, »αáó¿½á ß«ó¼Ñß-
- Γ¿¼«ßΓ¿ »« »α¿ßóá¿óá¡¿ε αáßΦ¿αÑ¡¡«ú« π¬áºáΓѽ∩ »«ºó«½∩εΓ »α¿ßóá¿-
- óáΓ∞ F1 ¿ F2 π¬áºáΓÑ½ε ¡á ½εí«⌐ »«Γ«¼«¬ TField. ū߬«½∞¬π GetStr
- ¿ Done ∩ó½∩εΓß∩ ó¿αΓπá½∞¡δ¼¿ ¼ÑΓ«ñἿ, ¼Ñσá¡¿º¼ ñ¿ß»ÑΓτÑα¿ºáµ¿¿
- ó¿αΓπá½∞¡«ú« ¼ÑΓ«ñá ¬«ααÑ¬Γ¡« óδºδóáÑΓ, ß««ΓóÑΓßΓóÑ¡¡«,
- TStrString.GetStr, TZipField.GetStr, TField.Done ¿
- TStrField.Done.
-
-
- Åα«µÑñπα¡δÑ »ÑαѼѡ¡δÑ
- ─────────────────────────────────────────────────────────────────
-
- Å«ß½Ñ «»αÑñѽѡ¿∩ »α«µÑñπα¡«ú« Γ¿»á »«∩ó½∩ÑΓß∩ 󫺼«ª¡«ßΓ∞
- «»¿ßδóáΓ∞ »ÑαѼѡ¡δÑ φΓ«ú« Γ¿»á. Æá¬¿Ñ »ÑαѼѡ¡δÑ ¡áºδóáεΓ »α«µÑ-
- ñπα¡δ¼¿ »ÑαѼѡ¡δ¼¿. ìá»α¿¼Ñα, ß πτÑΓ«¼ «»¿ßá¡¿⌐ Γ¿»á ¿º »αÑñδñπ-
- ΘÑú« »α¿¼Ñαá, ¼«ª¡« «íΩ∩ó¿Γ∞ ß½ÑñπεΘ¿Ñ »ÑαѼѡ¡δÑ:
-
- var
- P: SwapProc;
- F: MathFunc;
-
- èᬠ¿ µÑ½á∩ »ÑαѼѡ¡á∩, ¬«Γ«α«⌐ ¼«ª¡« »α¿ßó«¿Γ∞ º¡áτÑ¡¿Ñ µÑ-
- ½«ú« Γ¿»á, »α«µÑñπα¡«⌐ »ÑαѼѡ¡«⌐ ¼«ª¡« »α¿ßó«¿Γ∞ º¡áτÑ¡¿Ñ »α«µÑ-
- ñπα¡«ú« Γ¿»á. Æá¬¿¼ º¡áτÑ¡¿Ñ¼ ¼«ªÑΓ íδΓ∞, ¬«¡Ñτ¡«, ñαπúá∩ »α«µÑ-
- ñπα¡á∩ »ÑαѼѡ¡á∩, ¡« «¡« ¼«ªÑΓ Γá¬ªÑ »αÑñßΓáó½∩Γ∞ ß«í«⌐ ¿ñÑ¡Γ¿-
- Σ¿¬áΓ«α »α«µÑñπαδ ¿½¿ Σπ¡¬µ¿¿. é Γᬫ¼ ¬«¡ΓѬßΓÑ «»¿ßá¡¿∩ »α«µÑ-
- ñπαδ ¿½¿ Σπ¡¬µ¿¿ ¼«ª¡« αáßß¼áΓα¿óáΓ∞, ¬á¬ «»¿ßá¡¿Ñ «ß«í«ú« α«ñá
- ¬«¡ßΓá¡Γδ, º¡áτÑ¡¿Ñ¼ ¬«Γ«α«⌐ ∩ó½∩ÑΓß∩ »α«µÑñπαá ¿½¿ Σπ¡¬µ¿∩. ìá»-
- α¿¼Ñα, »πßΓ∞ ¼δ ¿¼ÑѼ ß½ÑñπεΘ¿Ñ «»¿ßá¡¿∩ »α«µÑñπαδ ¿ Σπ¡¬µ¿¿:
-
- procedure Swap(var A,B: integer);
- var
- Temp: integer;
- begin
- Temp := A;
- A := B;
- B := Temp;
- end.
-
- function Tan(Angle: real): real;
-
- B.Pascal 7 & Objects/LR - 166 -
-
- begin
- Tan := Sin(Angle) / Cos(Angle);
- end.
-
- Ä»¿ßá¡¡δ¼ αá¡ÑÑ »ÑαѼѡ¡δ¼ P ¿ F ΓÑ»Ñα∞ ¼«ª¡« »α¿ßó«¿Γ∞ º¡á-
- τÑ¡¿∩:
-
- P := Swap;
- F := Tan;
-
- Å«ß½Ñ Γᬫú« »α¿ßóá¿óá¡¿∩ «íαáΘÑ¡¿Ñ P(i,j) φ¬ó¿óá½Ñ¡Γ¡« Swap
- (i,j) ¿ F(X) φ¬ó¿óá½Ñ¡Γ¡« Tan(X).
-
- èᬠ¿ »α¿ ½εí«¼ ñαπú«¼ »α¿ßóá¿óá¡¿¿, º¡áτÑ¡¿∩ »ÑαѼѡ¡«⌐ ó
- ½Ñó«⌐ ¿ ó »αáó«⌐ τáßΓ¿ ñ«½ª¡δ íδΓ∞ ß«ó¼ÑßΓ¿¼δ »« »α¿ßóá¿óá¡¿ε.
- Åα«µÑñπα¡δÑ Γ¿»δ, τΓ«íδ «¡¿ í뫨 ß«ó¼ÑßΓ¿¼δ »« »α¿ßóá¿óá¡¿ε,
- ñ«½ª¡δ ¿¼ÑΓ∞ «ñ¡« ¿ Γ« ªÑ τ¿ß½« »áαá¼ÑΓα«ó, á »áαá¼ÑΓαδ ¡á ß««Γ-
- óÑΓßΓóπεΘ¿σ »«º¿µ¿∩σ ñ«½ª¡δ íδΓ∞ «ñ¿¡á¬«ó«ú« Γ¿»á. èá¬ π»«¼¿¡á-
- ½«ß∞ αá¡ÑÑ, ¿¼Ñ¡á »áαá¼ÑΓα«ó ó «»¿ßá¡¿¿ »α«µÑñπα¡«ú« Γ¿»á ¡¿¬á¬«-
- ú« ñÑ⌐ßΓó¿∩ ¡Ñ óδºδóáεΓ.
-
- èα«¼Ñ Γ«ú«, ñ½∩ «íÑß»ÑτÑ¡¿∩ ß«ó¼ÑßΓ¿¼«ßΓ¿ »« »α¿ßóá¿óá¡¿ε
- »α«µÑñπαá ¿ Σπ¡¬µ¿∩, Ñß½¿ ÑÑ ¡πª¡« »α¿ßó«¿Γ∞ »α«µÑñπα¡«⌐ »ÑαѼѡ-
- ¡«⌐, ñ«½ª¡á πñ«ó½ÑΓó«α∩Γ∞ ß½ÑñπεΘ¿¼ ΓαÑí«óá¡¿∩¼:
-
- - ¥Γ« ¡Ñ ñ«½ª¡á íδΓ∞ ßΓá¡ñáαΓ¡á∩ »α«µÑñπαá ¿½¿ Σπ¡¬µ¿∩.
- - Æá¬á∩ »α«µÑñπαá ¿½¿ Σπ¡¬µ¿∩ ¡Ñ ¼«ªÑΓ íδΓ∞ 󽫪ѡ¡«⌐.
- - Æá¬á∩ »α«µÑñπαá ¡Ñ ñ«½ª¡á íδΓ∞ »α«µÑñπα«⌐ Γ¿»á inline.
- - Ä¡á ¡Ñ ñ«½ª¡á íδΓ∞ »α«µÑñπα«⌐ »αÑαδóá¡¿∩ (interrupt).
-
- æΓá¡ñáαΓ¡δ¼¿ »α«µÑñπαἿ ¿ Σπ¡¬µ¿∩¼¿ ßτ¿ΓáεΓß∩ »α«µÑñπαδ ¿
- Σπ¡¬µ¿¿, «»¿ßá¡¡δÑ ó ¼«ñπ½Ñ System, ΓᬿÑ, ¬á¬ Writeln, Readln,
- Chr, Ord. ùΓ«íδ »«½πτ¿Γ∞ 󫺼«ª¡«ßΓ∞ ¿ß»«½∞º«óáΓ∞ ßΓá¡ñáαΓ¡πε
- »α«µÑñπαπ ¿½¿ Σπ¡¬µ¿ε ß »α«µÑñπα¡«⌐ »ÑαѼѡ¡«⌐, óδ ñ«½ª¡δ ¡á»¿-
- ßáΓ∞ ñ½∩ ¡ÑÑ ß»Ñµ¿á½∞¡πε "«í«½«τ¬π". ìá»α¿¼Ñα, »πßΓ∞ ¼δ ¿¼ÑѼ
- »α«µÑñπα¡δ⌐ Γ¿»:
-
- type
- IntProc = procedure(N: integer);
-
- æ½ÑñπεΘá∩ »α«µÑñπαá ñ½∩ ºá»¿ß¿ µÑ½«ú« τ¿ß½á íπñÑΓ ß«ó¼ÑßΓ¿-
- ¼«⌐ »« »α¿ßóá¿óá¡¿ε:
-
- procedure WriteInt(Number: Integer); far;
- begin
- Write(Number);
- end.
-
- 齫ªÑ¡¡δÑ »α«µÑñπαδ ¿ Σπ¡¬µ¿¿ ß »α«µÑñπα¡δ¼¿ »ÑαѼѡ¡δ¼¿ ¿ß-
- »«½∞º«óáΓ∞ ¡Ñ½∞º∩. Åα«µÑñπαá ¿½¿ Σπ¡¬µ¿∩ ßτ¿ΓáÑΓß∩ 󽫪ѡ¡«⌐,
- ¬«úñá «¡á «»¿ßδóáÑΓß∩ ó¡πΓα¿ ñαπú«⌐ »α«µÑñπαδ ¿½¿ Σπ¡¬µ¿¿. é ß½Ñ-
- ñπεΘѼ »α¿¼ÑαÑ »α«µÑñπαá Inner 󽫪ѡá ó »α«µÑñπαπ Outer ¿ »«φΓ«-
- ¼π ÑÑ ¡Ñ½∞º∩ »α¿ßóá¿óáΓ∞ »α«µÑñπα¡«⌐ »ÑαѼѡ¡«⌐:
-
- B.Pascal 7 & Objects/LR - 167 -
-
-
- program Nested;
- procedure Outer;
- procedure Inner;
- begin
- Writeln('Åα«µÑñπαá Inner ∩ó½∩ÑΓß∩ 󽫪ѡ¡«⌐');
- end;
- begin
- Inner;
- end;
- begin
- Outer;
- end.
-
- êß»«½∞º«óá¡¿Ñ »α«µÑñπα¡δσ Γ¿»«ó ¡Ñ «úαá¡¿τ¿óáÑΓß∩ »α«ßΓ«
- »α«µÑñπα¡δ¼¿ »ÑαѼѡ¡δ¼¿. èᬠ¿ ½εí«⌐ ñαπú«⌐ Γ¿», »α«µÑñπα¡δ⌐ Γ¿»
- ¼«ªÑΓ πτáßΓó«óáΓ∞ ó «»¿ßá¡¿¿ ßΓαπ¬Γπα¡«ú« Γ¿»á, τΓ« ó¿ñ¡« ¿º ß½Ñ-
- ñπεΘ¿σ «»¿ßá¡¿⌐:
-
- type
- GotoProc = procedure(X,Y: integer);
- ProcList = array[1..10] of GotoProc;
- WindowPtr = ^WindowRec;
- Window = record
- Next: WindowPtr;
- Header: string[31];
- Top,Left,Bottom,Right: integer;
- SetCursor: GotoProc;
- end;
- var
- P: ProcList;
- W: WindowPtr;
-
- æ πτÑΓ«¼ φΓ¿σ «»¿ßá¡¿⌐ ñ«»πßΓ¿¼δ ß½ÑñπεΘ¿Ñ ó맮óδ »α«µÑñπα:
-
- P[3](1,1);
- W.SetCursor(10,10);
-
- è«úñá »α«µÑñπα¡«⌐ »ÑαѼѡ¡«⌐ »α¿ßóá¿óáÑΓß∩ º¡áτÑ¡¿Ñ »α«µÑñπ-
- αδ, Γ« ¡á Σ¿º¿τÑ߬«¼ πα«ó¡Ñ »α«¿ßσ«ñ¿Γ ß½ÑñπεΘÑÑ: áñαÑß »α«µÑñπαδ
- ß«σαá¡∩ÑΓß∩ ó »ÑαѼѡ¡«⌐. öá¬Γ¿τÑ߬¿, »α«µÑñπα¡á∩ »ÑαѼѡ¡á∩
- óÑß∞¼á ¡á»«¼¿¡áÑΓ »ÑαѼѡ¡πε-π¬áºáΓѽ∞, Γ«½∞¬« ó¼ÑßΓ« ßß佬¿ ¡á
- ñá¡¡δÑ «¡á π¬áºδóáÑΓ ¡á »α«µÑñπαπ ¿½¿ Σπ¡¬µ¿ε. èᬠ¿ π¬áºáΓѽ∞,
- »α«µÑñπα¡á∩ »ÑαѼѡ¡á∩ ºá¡¿¼áÑΓ 4 íá⌐Γá (ñóá ß½«óá), ó ¬«Γ«αδσ
- ß«ñÑনΓß∩ áñαÑß »á¼∩Γ¿. é »Ñαó«¼ ß½«óÑ σαá¡¿Γß∩ ß¼ÑΘÑ¡¿Ñ, ó«
- óΓ«α«¼ - ßÑú¼Ñ¡Γ.
-
-
-
-
- B.Pascal 7 & Objects/LR - 168 -
-
- Åáαá¼ÑΓαδ »α«µÑñπα¡«ú« Γ¿»á
- ─────────────────────────────────────────────────────────────────
-
- ū߬«½∞¬π »α«µÑñπα¡δÑ Γ¿»δ ñ«»π߬áÑΓß∩ ¿ß»«½∞º«óáΓ∞ ó ½εí«¼
- ¬«¡ΓѬßΓÑ, Γ« ¼«ª¡« «»¿ßδóáΓ∞ »α«µÑñπαδ ¿½¿ Σπ¡¬µ¿¿, ¬«Γ«αδÑ
- ó«ß»α¿¡¿¼áεΓ »α«µÑñπαδ ¿ Σπ¡¬µ¿¿ ó ¬áτÑßΓóÑ »áαá¼ÑΓα«ó. é ß½Ññπε-
- ΘѼ »α¿¼ÑαÑ »«¬áºδóáÑΓß∩ ¿ß»«½∞º«óá¡¿Ñ »áαá¼ÑΓα«ó »α«µÑñπα¡«ú«
- Γ¿»á ñ½∩ óδó«ñá ΓαÑσ Γáí½¿µ αẽ¿τ¡δσ áα¿Σ¼ÑΓ¿τÑ߬¿σ Σπ¡¬µ¿⌐:
-
- program Tables;
-
- type
- Func = function(X,Y: integer): integer;
-
- function Add(X,Y: integer): integer; far;
- begin
- Add := X + Y;
- end;
-
- function Multiply(X,Y: integer): integer; far;
- begin
- Multiply := X*Y;
- end;
-
- function Funny(X,Y: integer): integer; far;
- begin
- Funny := (X+Y) * (X-Y);
- end;
-
- procedure PrintTable(W,H: integer; Operation: Func);
- var
- X,Y : integer;
- begin
- for Y := 1 to H do
- begin
- for X := 1 to W do Write(Operation(X,Y):5);
- Writeln;
- end;
- Writeln;
- end;
-
- begin
- PrintTable(10,10,Add);
- PrintTable(10,10,Multiply);
- PrintTable(10,10,Funny);
- end.
-
- B.Pascal 7 & Objects/LR - 169 -
-
-
- Åα¿ αáí«ΓÑ »α«úαá¼¼á Table óδó«ñ¿Γ Γα¿ Γáí½¿µδ. éΓ«αá∩ ¿º
- ¡¿σ óδú½∩ñ¿Γ ß½ÑñπεΘ¿¼ «íαẫ¼:
-
- 1 2 3 4 5 6 7 8 9 10
- 2 4 6 8 10 12 14 16 18 20
- 3 6 9 12 15 18 21 24 27 30
- 4 8 12 16 20 24 28 32 36 40
- 5 10 15 20 25 30 35 40 45 50
- 6 12 18 24 30 36 42 48 54 60
- 7 14 21 28 35 42 49 56 63 70
- 8 16 24 32 40 48 56 64 72 80
- 9 18 27 36 45 54 63 72 81 90
- 10 20 30 40 50 60 70 80 90 100
-
- Åáαá¼ÑΓαδ »α«µÑñπα¡«ú« Γ¿»á «ß«íÑ¡¡« »«½Ñº¡δ ó Γ«¼ ß½πτáÑ,
- ¬«úñá ¡áñ ¼¡«ªÑßΓó«¼ »α«µÑñπα ¿½¿ Σπ¡¬µ¿⌐ ¡πª¡« óδ»«½¡¿Γ∞ ¬á-
- ¬¿Ñ-Γ« «íΘ¿Ñ ñÑ⌐ßΓó¿∩. é ñá¡¡«¼ ß½πτáÑ »α«µÑñπαδ PrintTable
- »αÑñßΓáó½∩ÑΓ ß«í«⌐ «íΘÑÑ ñÑ⌐ßΓó¿Ñ, óδ»«½¡∩Ѽ«Ñ ¡áñ Σπ¡¬µ¿∩¼¿ Add,
- Multiply ¿ Funny.
-
- àß½¿ »α«µÑñπαá ¿½¿ Σπ¡¬µ¿∩ ñ«½ª¡δ »ÑαÑñáóáΓ∞ß∩ ó ¬áτÑßΓóÑ
- »áαá¼ÑΓαá, «¡¿ ñ«½ª¡δ πñ«ó½ÑΓó«α∩Γ∞ ΓѼ ªÑ »αáó¿½á¼ ß«ó¼ÑßΓ¿¼«ßΓ¿
- Γ¿»á, τΓ« ¿ »α¿ »α¿ßóá¿óá¡¿¿. Æ« ÑßΓ∞, Γá¬¿Ñ »α«µÑñπαδ ¿½¿ Σπ¡¬-
- µ¿¿ ñ«½ª¡δ ¬«¼»¿½¿α«óáΓ∞ß∩ ß ñ¿αÑ¬Γ¿ó«⌐ far, «¡¿ ¡Ñ ¼«úπΓ íδΓ∞
- óßΓα«Ñ¡¡δ¼¿ Σπ¡¬µ¿∩¼¿, ¡Ñ ¼«úπΓ íδΓ∞ 󽫪ѡ¡δ¼¿ ¿ ¡Ñ ¼«úπΓ «»¿ßδ-
- óáΓ∞ß∩ ß áΓα¿íπΓἿ inline ¿½¿ interrupt.
-
-
-
- B.Pascal 7 & Objects/LR - 170 -
-
- ───────────────────────────────────────────────────────────────────────
- â½áóá 10. Åα«úαá¼¼δ ¿ ¼«ñπ½¿
- ─────────────────────────────────────────────────────────────────
-
- æ¿¡Γá¬ß¿ß »α«úαá¼¼
- ─────────────────────────────────────────────────────────────────
-
- Åα«úαá¼¼á ó Borland Pascal ß«ßΓ«¿Γ ¿º ºáú«½«ó¬á »α«úαá¼¼δ,
- ¡Ñ«í∩ºáΓѽ∞¡«ú« «»ÑαáΓ«αá uses ¿ «ß¡«ó¡«ú« í½«¬á.
-
- »α«úαá¼¼á
- │ ┌─────────┐ ┌───┐ ┌────┐ ┌───┐
- └───┬─>│ºáú«½«ó«¬├──>│ ; ├───┬─────────────────>│í½«¬├─>│ . ├─>
- │ │»α«úαá¼¼δ│ └───┘ ^ │ ┌───────────┐ ^ └────┘ └───┘
- │ └─────────┘ │ └─>│»αÑñ½«ªÑ¡¿Ñ├─┘
- └──────────────────────┘ │ uses │
- └───────────┘
-
-
- çáú«½«ó«¬ »α«úαá¼¼δ
- ─────────────────────────────────────────────────────────────────
-
- çáú«½«ó«¬ »α«úαá¼¼δ «»αÑñѽ∩ÑΓ ¿¼∩ »α«úαá¼¼δ ¿ ÑÑ »áαá¼ÑΓαδ.
-
- ºáú«½«ó«¬ »α«úαá¼¼δ
- │
- │ ┌───────┐ ┌─────────────┐
- └──>│program├──>│¿ñÑ¡Γ¿Σ¿¬áΓ«α├─┬──────────────────────────────>
- └───────┘ └─────────────┘ │ ┌───┐ ┌─────────┐ ┌───┐ ^
- └─>│ ( ├─>│»áαá¼ÑΓαδ├─>│ ) ├─┘
- └───┘ │»α«úαá¼¼δ│ └───┘
- └─────────┘
-
- ┌───────────────┐
- »áαá¼ÑΓαδ »α«úαá¼¼δ ────>│ ß»¿ß«¬ ├────>
- │¿ñÑ¡Γ¿Σ¿¬áΓ«α«ó│
- └───────────────┘
-
- àß½¿ ºáú«½«ó«¬ »α«úαá¼¼δ »α¿ßπΓßΓóπÑΓ, «¡ ∩ó½∩ÑΓß∩ τ¿ßΓ« ñÑ-
- ¬«αáΓ¿ó¡«⌐ ñÑΓá½∞ε ¿ ¬«¼»¿½∩Γ«α Ñú« ¿ú¡«α¿απÑΓ.
-
-
-
- B.Pascal 7 & Objects/LR - 171 -
-
- Ä»ÑαáΓ«α uses
- ─────────────────────────────────────────────────────────────────
-
- Ä»ÑαáΓ«α uses ¿ñÑ¡Γ¿Σ¿µ¿απÑΓ óßÑ ¼«ñπ½¿, ¿ß»«½∞ºπѼδÑ »α«ú-
- αá¼¼«⌐, ó¬½ετá∩ ¡Ñ»«ßαÑñßΓóÑ¡¡« ¿ß»«½∞ºπѼδÑ ¼«ñ㫨 ¿ ¼«ñπ½¿, ¿ß-
- »«½∞ºπѼδÑ φΓ¿¼¿ ¼«ñπ½∩¼¿.
-
- ┌────┐ ┌─────────────┐ ┌───┐
- »αÑñ½«ªÑ¡¿Ñ uses ──>│uses├──┬──>│¿ñÑ¡Γ¿Σ¿¬áΓ«α├─────>│ ; ├───>
- └────┘ │ └─────────────┘ ^ └───┘
- │ ┌───┐ │
- └─────>│ , ├─────────┘
- └───┘
-
- î«ñπ½∞ System óßÑúñá ¿ß»«½∞ºπÑΓß∩ áóΓ«¼áΓ¿τÑ߬¿. ä½∩ »«ñ-
- ñÑ᪬¿ Γᬿσ ßαÑñßΓó, ¬á¬ Σá⌐½«óδ⌐ óó«ñ-óδó«ñ, «íαáí«Γ¬á ßΓ᫬,
- «»Ñαᵿ¿ ß »½áóáεΘÑ⌐ ºá»∩Γ«⌐, ñ¿¡á¼¿τÑ߬«Ñ αáß»αÑñѽѡ¿Ñ »á¼∩Γ¿ ¿
- ñαπú¿σ φëà ¼«ñπ½∞ αÑ὿ºπÑΓ óÑß∞ ¡¿ª¡¿⌐ πα«óÑ¡∞, á Γá¬ªÑ «íß½π-
- ª¿óáεΘ¿Ñ Σ«¡«óδÑ »α«úαá¼¼δ.
-
- Åá߬á½∞, ó ßó«ε «τÑαÑñ∞, «íß½πª¿óáÑΓ ¼¡«ú¿Ñ ßΓá¡ñáαΓ¡δÑ ¼«-
- ñπ½¿, ΓᬿÑ, ¬á¬ Dos ¿ Crt. ¥Γ« ¡Ñ »α«¿ßσ«ñ¿Γ áóΓ«¼áΓ¿τÑ߬¿: óδ
- ñ«½ª¡δ «í∩ºáΓѽ∞¡« ó¬½ετ¿Γ∞ ¿σ ó «»ÑαáΓ«α uses. ìá»α¿¼Ñα:
-
- uses Dos,Crt; { ΓÑ»Ñα∞ ¼«úπΓ íδΓ∞ ñ«ßΓπ»¡δ ßαÑñßΓóá ¼«ñπ½Ñ⌐
- Dos ¿ Crt }
-
-
- ùΓ«íδ ¡á⌐Γ¿ Σá⌐½, ß«ñÑαªáΘ¿⌐ ߬«¼»¿½¿α«óá¡¡δ⌐ ¼«ñπ½∞, ¬«¼»¿-
- ½∩Γ«α πßѬáÑΓ π¬áºá¡¡«Ñ ó «»ÑαáΓ«αÑ uses ¿¼∩ ¼«ñπ½∩ ñ« »Ñαóδσ
- ó«ß∞¼¿ Σá⌐½«ó ¿ ñ«íáó½∩ÑΓ αáßΦ¿αÑ¡¿Ñ Σá⌐½á. àß½¿ µÑ½Ñó«⌐ »½áΓΣ«α-
- ¼«⌐ ∩ó½∩ÑΓß∩ DOS, αáßΦ¿αÑ¡¿Ñ¼ íπñÑΓ .TPU. àß½¿ µÑ½Ñóá∩ »½áΓΣ«α¼á
- - Windows, Γ« αáßΦ¿αÑ¡¿Ñ¼ Σá⌐½á íπñÑΓ .TPW. àß½¿ µÑ½Ñó«⌐ »½áΓΣ«α-
- ¼«⌐ ∩ó½∩ÑΓß∩ ºáΘ¿ΘÑ¡¡δ⌐ αѪ¿¼ DOS, Γ« αáßΦ¿αÑ¡¿Ñ¼ Σá⌐½á íπñÑΓ
- .TPP. ò«Γ∩ ¿¼Ñ¡á Σá⌐½«ó πßѬáεΓß∩, ó «»ÑαáΓ«αÑ uses ñ«½ªÑ¡ π¬áºδ-
- óáΓ∞ß∩ »«½¡δ⌐ ¿ñÑ¡Γ¿Σ¿¬áΓ«α ¼«ñπ½∩.
-
-
-
- B.Pascal 7 & Objects/LR - 172 -
-
- æ¿¡Γá¬ß¿ß ¼«ñπ½Ñ⌐
- ─────────────────────────────────────────────────────────────────
-
- î«ñ㫨 ∩ó½∩εΓß∩ «ß¡«ó«⌐ ¼«ñπ½∞¡«ú« »α«úαá¼¼¿α«óá¡¿∩. Ä¡¿ ¿ß-
- »«½∞ºπεΓß∩ ñ½∩ ß«ºñá¡¿∩ í¿í½¿«ΓѬ, ¬«Γ«αδÑ ¼«úπΓ ó¬½ετáΓ∞ß∩ ó
- αẽ¿τ¡δÑ »α«úαá¼¼δ (»α¿ φΓ«¼ ßΓá¡«ó¿Γß∩ ¡Ñ«í∩ºáΓѽ∞¡δ¼ ¿¼ÑΓ∞ ó
- ¡á½¿τ¿¿ ¿ßσ«ñ¡δ⌐ ¬«ñ), á í«½∞Φ¿Ñ »α«úαá¼¼δ ¼«úπΓ »«ñαáºñѽ∩Γ∞ß∩
- ¡á ½«ú¿τÑ߬¿ ßó∩ºá¡¡δÑ ¼«ñπ½¿.
-
- ┌─────────┐ ┌───┐ ┌──────────┐
- ¼«ñπ½∞ ─────>│ºáú«½«ó«¬├──>│ ; ├──>│¿¡ΓÑαΣÑ⌐ß-├───┐
- │ ¼«ñπ½∩ │ └───┘ │¡δ⌐ αáºñѽ│ │
- └─────────┘ └──────────┘ │
- ┌──────────────────────────────────────┘
- │ ┌──────────┐ ┌─────────────┐ ┌───┐
- └─>│ αáºñѽ ├───>│ αáºñѽ ├──>│ . ├──>
- │αÑ὿ºáµ¿¿│ │¿¡¿µ¿á½¿ºáµ¿¿│ └───┘
- └──────────┘ └─────────────┘
-
- çáú«½«ó«¬ ¼«ñπ½∩
- ─────────────────────────────────────────────────────────────────
-
- é ºáú«½«ó¬Ñ ¼«ñπ½∩ «»αÑñѽ∩ÑΓß∩ ¿¼∩ ¼«ñπ½∩.
-
- ┌────┐ ┌────────────────────┐
- ºáú«½«ó«¬ ¼«ñπ½∩ ───>│unit│──>│¿ñÑ¡Γ¿Σ¿¬áΓ«α ¼«ñπ½∩│────>
- └────┘ └────────────────────┘
-
- ê¼∩ ¼«ñπ½∩ ¿ß»«½∞ºπÑΓß∩ »α¿ ßßδ½¬Ñ ¡á ¼«ñπ½∞ ó »αÑñ½«ªÑ¡¿¿
- ¿ß»«½∞º«óá¡¿∩. ¥Γ« ¿¼∩ ñ«½ª¡« íδΓ∞ π¡¿¬á½∞¡δ¼, Γᬠ¬á¬ ñóá ¼«ñπ½∩
- ß «ñ¡¿¼ ¿¼Ñ¡Ñ¼ ¡Ñ ¼«úπΓ «ñ¡«óαѼѡ¡« ¿ß»«½∞º«óáΓ∞ß∩.
-
- ê¼∩ ¿ßσ«ñ¡«ú« Σá⌐½á ¼«ñπ½∩ ¿ ñó«¿τ¡«ú« Σá⌐½á ñ«½ª¡δ ß«ó»á-
- ñáΓ∞ ß ¿ñÑ¡Γ¿Σ¿¬áΓ«α«¼ ¼«ñπ½∩, πßÑτÑ¡¡δ¼ ñ« »Ñαóδσ 8 ß¿¼ó«½«ó.
- àß½¿ φΓ« ¡Ñ Γá¬, Γ« ¬«¼»¿½∩Γ«α ¡Ñ ß¼«ªÑΓ ¡á⌐Γ¿ ¿ßσ«ñ¡δ⌐ ¿/¿½¿
- ñó«¿τ¡δ⌐ Σá⌐½ »α¿ ¬«¼»¿½∩µ¿¿ ¿ß»«½∞ºπεΘÑ⌐ φëà ¼«ñπ½∞ »α«úαá¼¼δ.
-
-
-
- B.Pascal 7 & Objects/LR - 173 -
-
- ê¡ΓÑαΣÑ⌐ß¡á∩ ßѬµ¿∩
- ─────────────────────────────────────────────────────────────────
-
- é ¿¡ΓÑαΣÑ⌐ß¡«⌐ ßѬµ¿¿ «»¿ßδóáεΓß∩ ΓÑ ¬«¡ßΓá¡Γδ, Γ¿»δ, »ÑαÑ-
- ¼Ñ¡¡δÑ, »α«µÑñπαδ ¿ Σπ¡¬µ¿¿, ¬«Γ«αδÑ ∩ó½∩εΓß∩ ú½«íá½∞¡δ¼¿, Γ«
- ÑßΓ∞ ñ«ßΓπ»¡δ¼¿ «ß¡«ó¡«⌐ »α«úαá¼¼Ñ (»α«úαá¼¼Ñ ¿½¿ ¼«ñπ½ε, ¬«Γ«αδÑ
- ¿ß»«½∞ºπεΓ ñá¡¡δ⌐ ¼«ñπ½∞). Äß¡«ó¡á∩ »α«úαá¼¼á ¿¼ÑÑΓ ñ«ßΓπ» ¬ φΓ¿¼
- φ½Ñ¼Ñ¡Γá¼, ¬á¬ Ñß½¿ íδ «¡¿ í뫨 «»¿ßá¡δ ó ¼«ñπ½Ñ, ∩ó½∩εΘ¿¼ß∩ ó½«-
- ªÑ¡¡δ¼ »« «Γ¡«ΦÑ¡¿ε ¬ ñá¡¡«⌐ »α«úαá¼¼Ñ.
-
- ¿¡ΓÑαΣÑ⌐ß¡á∩ ßѬµ¿∩
- │
- │ ┌─────────┐
- └─>│interfaße├─┬─────────────────────────────────────────────┬─>
- │ │ │ ┌───────────┐^ ^ │ ┌──────────────────┐ ^ │
- └─────────┘ └─>│ «»ÑαáΓ«α ├┘ │ ├─>│ αáºñѽ «»¿ßá¡¿∩ ├─┤ │
- │ uses │ │ │ │ ¬«¡ßΓá¡Γ │ │ │
- └───────────┘ │ │ └──────────────────┘ │ │
- │ │ ┌──────────────────┐ │ │
- │ ├─>│ αáºñѽ «»¿ßá¡¿∩ ├─┤ │
- │ │ │ Γ¿»«ó »ÑαѼѡ¡δσ │ │ │
- │ │ └──────────────────┘ │ │
- │ │ ┌──────────────────┐ │ │
- │ ├─>│ αáºñѽ «»¿ßá¡¿∩ ├─┤ │
- │ │ │ »ÑαѼѡ¡δσ │ │ │
- │ │ └──────────────────┘ │ │
- │ │ ┌──────────────────┐ │ │
- │ └─>│αáºñѽ ºáú«½«ó¬«ó ├─┘ │
- │ │»α«µÑñπα ¿ Σπ¡¬µ¿⌐│ │
- │ └──────────────────┘ │
- └───────────────────────────┘
-
- αáºñѽ ºáú«½«ó¬«ó
- »α«µÑñπα ¿ Σπ¡¬µ¿⌐
- │ ┌─────────┐ ┌───┐
- └────┬──>│ºáú«½«ó«¬├──────────>│ ; ├─┬───────────────────────>
- │ │»α«µÑñπαδ│ ^ └───┘ │ ┌─────────┐ ┌───┐ ^
- │ └─────────┘ │ └─>│ñ¿αÑ¬Γ¿óá├──>│ ; ├─┘
- │ ┌─────────────────┐ │ │ inline │ └───┘
- └─>│ºáú«½«ó«¬ Σπ¡¬µ¿¿├─┘ └─────────┘
- └─────────────────┘
-
- é Γ«¼ ß½πτáÑ, Ñß½¿ »α«µÑñπαá ¿½¿ Σπ¡¬µ¿∩ ∩ó½∩ÑΓß∩ »α«µÑñπα«⌐
- ¿½¿ Σπ¡¬µ¿Ñ⌐ Γ¿»á inline, ó ¿¡ΓÑαΣÑ⌐ß¡«⌐ ßѬµ¿¿ ß«ñÑনΓß∩ Γ«½∞¬«
- ß»¿ß«¬ ºáú«½«ó¬«ó »α«µÑñπα ¿½¿ Σπ¡¬µ¿⌐. î«ñπ½∞ »α«µÑñπαδ ¿½¿
- Σπ¡¬µ¿¿ ß½ÑñπÑΓ ñá½∞ΦÑ ó ßѬµ¿¿ αÑ὿ºáµ¿¿. çá¼ÑΓ¿¼, τΓ« ºáú«½«-
- ó«¬ »α«µÑñπαδ ¿½¿ Σπ¡¬µ¿¿ ¼«ªÑΓ ñπí½¿α«óáΓ∞ß∩ ¿ íδΓ∞ ºñÑß∞ Γᬿ¼
- ªÑ, ¬á¬ ó ¿¡ΓÑαΣÑ⌐ß¡«⌐ ßѬµ¿¿. éá¼ ¡Ñ ¡πª¡« ºáñáóáΓ∞ ºñÑß∞ ß»¿ß«¬
- Σ«α¼á½∞¡δσ »áαá¼ÑΓα«ó, ¡« Ñß½¿ óδ φΓ« ßñѽ὿ ¿ Ñß½¿ «»¿ßá¡¿Ñ ó
- ¿¡ΓÑαΣÑ⌐ß¡«⌐ ßѬµ¿¿ ¿ ßѬµ¿¿ αÑ὿ºáµ¿¿ ¡Ñ ß«ó»áñáεΓ, Γ« ¬«¼»¿½∩-
- Γ«α ó« óαѼ∩ ¬«¼»¿½∩µ¿¿ óδñáßΓ ß««íΘÑ¡¿Ñ «í «Φ¿í¬Ñ.
-
-
- B.Pascal 7 & Objects/LR - 174 -
-
- æÑ¬µ¿∩ αÑ὿ºáµ¿¿
- ─────────────────────────────────────────────────────────────────
-
- é ßѬµ¿¿ αÑ὿ºáµ¿¿ «»αÑñѽ∩εΓß∩ ¼«ñ㫨 óßÑσ ú½«íá½∞¡δσ »α«-
- µÑñπα ¿½¿ Σπ¡¬µ¿⌐. é ¡Ñ⌐ Γá¬ªÑ «»¿ßδóáεΓß∩ ¬«¡ßΓá¡Γδ, »ÑαѼѡ¡δÑ,
- »α«µÑñπαδ ¿ Σπ¡¬µ¿¿, ∩ó½∩εΘ¿Ñß∩ ½«¬á½∞¡δ¼¿, Γ« ÑßΓ∞ ¡Ññ«ßΓπ»¡δ¼¿
- «ß¡«ó¡«⌐ »α«úαá¼¼Ñ.
-
- æÑ¬µ¿∩ αÑ὿ºáµ¿¿
- │
- │ ┌──────────────┐ ┌──────────────────┐
- └─>│implementation├─┬──────────────────>│ αáºñѽ «»¿ßá¡¿⌐ ├──>
- └──────────────┘ │ ┌───────────┐^ └──────────────────┘
- └─>│ «»ÑαáΓ«α ├┘
- │ uses │
- └───────────┘
-
- Å« ¼Ñσá¡¿º¼π ñÑ⌐ßΓó¿∩ «»¿ßá¡¿∩ »α«µÑñπα ¿ Σπ¡¬µ¿⌐ ó ¿¡ΓÑα-
- ΣÑ⌐ß¡á∩ ßѬµ¿∩ á¡á½«ú¿τ¡á «»ÑαѪáεΘÑ¼π «»¿ßá¡¿ε, σ«Γ∩ ñ¿αÑ¬Γ¿óá
- forward ¡Ñ π¬áºδóáÑΓß∩. Æá¬¿¼ «íαẫ¼, φΓ¿ »α«µÑñπαδ ¿ Σπ¡¬µ¿¿
- ¼«úπΓ íδΓ∞ «»αÑñѽѡδ (¿ ¬ ¡¿¼ ¼«ª¡« «íαáΘáΓ∞ß∩ ó ½εí«⌐ »«ß½Ññ«-
- óáΓѽ∞¡«ßΓ¿) ó ßѬµ¿¿ αÑ὿ºáµ¿¿.
-
- ä«»π߬áÑΓß∩ ñπí½¿α«óá¡¿Ñ ºáú«½«ó¬«ó »α«µÑñπα ¿ Σπ¡¬µ¿⌐ ¿º
- ¿¡ΓÑαΣÑ⌐ß¡«⌐ τáßΓ¿. éá¼ ¡Ñ ¡πª¡« »α¿ φΓ«¼ ºáñáóáΓ∞ ß»¿ß«¬ Σ«α-
- ¼á½∞¡δσ »áαá¼ÑΓα«ó, ¡« Ñß½¿ óδ φΓ« ñѽáÑΓÑ, ¬«¼»¿½∩Γ«α ¡á φΓá»Ñ
- ¬«¼»¿½∩µ¿¿ ó ß½πτáÑ ¡Ñß«ó»áñÑ¡¿∩ «»¿ßá¡¿⌐ ó ¿¡ΓÑαΣÑ⌐ß¡«⌐ τáßΓ¿ ¿
- ßѬµ¿¿ αÑ὿ºáµ¿¿ íπñÑΓ óδñáóáΓ∞ ß««íΘÑ¡¿Ñ «í «Φ¿í¬Ñ.
-
- B.Pascal 7 & Objects/LR - 175 -
-
- æÑ¬µ¿∩ ¿¡¿µ¿á½¿ºáµ¿¿
- ─────────────────────────────────────────────────────────────────
-
- æÑ¬µ¿∩ ¿¡¿µ¿á½¿ºáµ¿¿ ∩ó½∩ÑΓß∩ »«ß½Ññ¡Ñ⌐ ßѬµ¿Ñ⌐ ¼«ñπ½∩. Ä¡á
- ¼«ªÑΓ ß«ßΓ«∩Γ∞ ½¿í« ¿º ºáαѺÑαó¿α«óá¡¡«ú« ß½«óá end (ó φΓ«¼ ß½π-
- τáÑ ¼«ñπ½∞ ¡Ñ ß«ñÑαª¿Γ ¬«ñá ¿¡¿µ¿á½¿ºáµ¿¿), ½¿í« ¿º «»ÑαáΓ«α¡«⌐
- τáßΓ¿, ¬«Γ«αá∩ ñ«½ª¡á óδ»«½¡∩Γ∞ß∩ ñ½∩ ¿¡¿µ¿á½¿ºáµ¿¿ ¼«ñπ½∩.
-
- ┌───┐
- ßѬµ¿∩ ¿¡¿µ¿á½¿ºáµ¿¿ ───┬──>│end├──────────────────>
- │ └───┘ ^
- │ ┌─────────────────┐ │
- └─>│«»ÑαáΓ«α¡á∩ τáßΓ∞├─┘
- └─────────────────┘
-
- æÑ¬µ¿¿ ¿¡¿µ¿á½¿ºáµ¿¿ ¼«ñπ½Ñ⌐, ¬«Γ«αδÑ ¿ß»«½∞ºπεΓß∩ »α«úαá¼-
- ¼«⌐, óδ»«½¡∩εΓß∩ ó Γ«¼ ªÑ »«α∩ñ¬Ñ, ó ¬á¬«¼ ¼«ñ㫨 π¬áºá¡δ ó «»Ñ-
- αáΓ«αÑ uses.
-
- è«ßóÑ¡¡δÑ ßß佬¿ ¡á ¼«ñπ½¿
- ─────────────────────────────────────────────────────────────────
-
- é «»ÑαáΓ«αÑ uses ó «ß¡«ó¡«⌐ »α«úαá¼¼Ñ ñ«½ª¡δ ß«ñÑαªáΓ∞ß∩
- ¿¼Ñ¡á óßÑσ ¼«ñπ½Ñ⌐, ¡Ñ»«ßαÑñßΓóÑ¡¡« ¿½¿ ¬«ßóÑ¡¡« ¿ß»«½∞ºπѼδσ «ß-
- ¡«ó¡«⌐ »α«úαá¼¼«⌐. Éáßß¼«Γα¿¼ ß½ÑñπεΘ¿⌐ »α¿¼Ñα:
-
- Program Prog;
- uses Unit1, Unit2
- const a = b;
- begin
- end.
- end.
-
- unit Unit2;
- interface
- uses Unit1;
- const b = c;
- implementation
- end.
-
- unit Unit1;
- interface
- const c = 1;
- implementation
- const d = 2;
- end;
-
- é ñá¡¡«¼ »α¿¼ÑαÑ Unit12 ¡Ñ»«ßαÑñßΓóÑ¡¡« ºáó¿ß¿Γ «Γ Unit1, á
- Prog ¡Ñ»«ßαÑñßΓóÑ¡¡« ºáó¿ß¿Γ «Γ Unit2. èα«¼Ñ Γ«ú«, Prog ºáó¿ß¿Γ
- ¬«ßóÑ¡¡« «Γ Unit1 (τÑαѺ Unit1), σ«Γ∩ ¡¿ «ñ¿¡ ¿º «»¿ßá¡¡δσ ó
- Unit1 ¿ñÑ¡Γ¿Σ¿¬áΓ«α«ó ó Prog ¡Ñ ñ«ßΓπ»Ñ¡.
-
- ä½∩ ¬«¼»¿½∩µ¿¿ »α«úαá¼¼δ ¬«¼»¿½∩Γ«α ñ«½ªÑ¡ ¿¼ÑΓ∞ 󫺼«ª¡«ßΓ∞
-
- B.Pascal 7 & Objects/LR - 176 -
-
- ¡áσ«ñ¿Γ∞ óßÑ ¼«ñπ½¿, «Γ ¬«Γ«αδσ «¡á »α∩¼« ¿½¿ ¬«ßóÑ¡¡« ºáó¿ß¿Γ.
- Å«φΓ«¼π, ñ½∩ ¬«¼»¿½∩µ¿¿ Prog ¬«¼»¿½∩Γ«α ñ«½ªÑ¡ ¿¼ÑΓ∞ 󫺼«ª¡«ßΓ∞
- ¡á⌐Γ¿ ¿ Unit1, ¿ Unit2, ¿¡áτÑ ó«º¡¿¬¡ÑΓ «Φ¿í¬á.
-
- è«úñá ó ¿¡ΓÑαΣÑ⌐ß¡πε τáßΓ∞ ¼«ñπ½∩ ó¡«ß∩Γß∩ ¿º¼Ñ¡Ñ¡¿∩, ñαπú¿Ñ
- ¼«ñπ½¿, ¿ß»«½∞ºπεΘ¿Ñ φëà ¼«ñπ½∞, ñ«½ª¡δ íδΓ∞ ºá¡«ó« ߬«¼»¿½¿α«-
- óá¡δ. Åα¿ ¿ß»«½∞º«óá¡¿¿ ¬«¼á¡ñ Make ¿½¿ Build ¬«¼»¿½∩Γ«α ñѽáÑΓ
- φΓ« áóΓ«¼áΓ¿τÑ߬¿. Äñ¡á¬«, Ñß½¿ ¿º¼Ñ¡Ñ¡¿∩ ¬«ß¡π½¿ß∞ Γ«½∞¬« ßѬµ¿¿
- αÑ὿ºáµ¿¿ ¿½¿ ßѬµ¿¿ ¿¡¿µ¿á½¿ºáµ¿¿, Γ« ñαπú¿Ñ ¼«ñπ½¿, ó ¬«Γ«αδσ
- ¿ß»«½∞ºπÑΓß∩ φëà ¼«ñπ½∞, »ÑαѬ«¼»¿½¿α«óáΓ∞ ¡Ñ ¡πª¡«. é »αÑñδñπ-
- ΘѼ »α¿¼ÑαÑ, Ñß½¿ ¿¡ΓÑαΣÑ⌐ß¡á∩ τáßΓ∞ ¼«ñπ½∩ Unit1 ¿º¼Ñ¡¿½áß∞
- (¡á»α¿¼Ñα, ß = 2), Γ« ¼«ñπ½∞ Unit2 ¡πª¡« »ÑαѬ«¼»¿½¿α«óáΓ∞. 꺼Ñ-
- ¡Ñ¡¿Ñ ªÑ ßѬµ¿¿ αÑ὿ºáµ¿¿ (¡á»α¿¼Ñα, d = 1) ¡Ñ ΓαÑíπÑΓ »ÑαѬ«¼-
- »¿½∩µ¿¿ Unit2.
-
- Åα¿ ¬«¼»¿½∩µ¿¿ ¼«ñπ½∩ ó Borland Pascal ¡á «ß¡«óÑ ¬«¡Γα«½∞¡«⌐
- ßπ¼¼δ ¿¡ΓÑαΣÑ⌐ß¡«⌐ ßѬµ¿¿ óδτ¿ß½∩ÑΓß∩ ¡«¼Ñα óÑαß¿¿ ¼«ñπ½∩. é »αÑ-
- ñδñπΘѼ »α¿¼ÑαÑ »α¿ ¬«¼»¿½∩µ¿¿ ¼«ñπ½∩ Unit2 ó ߬«¼»¿½¿α«óá¡¡«⌐
- óÑαß¿¿ ¼«ñπ½∩ Unit2 ß«σαá¡∩ÑΓß∩ ¡«¼Ñα óÑαß¿¿ ¼«ñπ½∩ Unit1. Åα¿
- ¬«¼»¿½∩µ¿¿ «ß¡«ó¡«⌐ »α«úαá¼¼δ ¡«¼Ñα óÑαß¿¿ ¼«ñπ½∩ Unit1 ßαáó¡¿óá-
- ÑΓß∩ ß ¡«¼Ñα«¼ óÑαß¿¿, ß«σαá¡Ñ¡¡δ¼ ó ¼«ñπ½Ñ Unit2. àß½¿ ¡«¼Ñαá
- óÑαß¿⌐ ¡Ñ ß«ó»áñáεΓ, τΓ« ßó¿ñÑΓѽ∞ßΓóπÑΓ «í ¿º¼Ñ¡Ñ¡¿¿ ó ¿¡ΓÑα-
- ΣÑ⌐ß¡«⌐ τáßΓ¿ ¼«ñπ½∩ Unit1 ß« óαѼѡ¿ »«ß½Ññ¡Ñ⌐ ¬«¼»¿½∩µ¿¿ ¼«ñπ½∩
- Unit2, ¬«¼»¿½∩Γ«α, ó ºáó¿ß¿¼«ßΓ¿ «Γ αѪ¿¼á ¬«¼»¿½∩µ¿¿, óδñáÑΓ ß«-
- «íΘÑ¡¿Ñ «í «Φ¿í¬Ñ ¿½¿ »ÑαѬ«¼»¿½¿απÑΓ ¼«ñπ½∞ Unit2 (ó ºáó¿ß¿¼«ßΓ¿
- «Γ αѪ¿¼á ¬«¼»¿½∩µ¿¿).
-
-
-
- B.Pascal 7 & Objects/LR - 177 -
-
- ÅÑαѬαÑßΓ¡δÑ ßß佬¿ ¡á ¼«ñπ½¿
- ─────────────────────────────────────────────────────────────────
-
- ÉẼÑΘÑ¡¿Ñ ó ßѬµ¿¿ αÑ὿ºáµ¿¿ «»ÑαáΓ«αá uses »«ºó«½∩ÑΓ
- "߬αδΓ∞" ó¡πΓαÑ¡¡¿Ñ ñÑΓ὿ ¼«ñπ½∩, »«ß¬«½∞¬π ¿ß»«½∞ºπѼδÑ ó ßѬ-
- µ¿¿ αÑ὿ºáµ¿¿ ¼«ñ㫨 «¬áºδóáεΓß∩ "¡Ñó¿ñ¿¼δ¼¿" ñ½∩ Γ«ú«, ¬Γ« φΓ«Γ
- ¼«ñπ½∞ ¿ß»«½∞ºπÑΓ. ü«½ÑÑ ó᪡δ¼, «ñ¡á¬«, ∩ó½∩ÑΓß∩ Γ«, τΓ« φΓ«
- »«ºó«½∩ÑΓ óá¼ ßΓα«¿Γ∞ óºá¿¼«ºáó¿ß¿¼δÑ ¼«ñπ½¿.
-
- é ß½ÑñπεΘÑ⌐ »α«úαá¼¼Ñ »«¬áºá¡δ ñóá ¼«ñπ½∩, ¬«Γ«αδÑ "¿ß»«½∞-
- ºπεΓ" ñαπú ñαπúá. Äß¡«ó¡á∩ »α«úαá¼¼á Circular ¿ß»«½∞ºπÑΓ ¼«ñπ½∞ ß
- ¿¼Ñ¡Ñ¼ Display. î«ñπ½∞ Display ß«ñÑαª¿Γ ó ßó«Ñ⌐ ¿¡ΓÑαΣÑ⌐ß¡«⌐ ßѬ-
- µ¿¿ «ñ¡π »α«úαá¼¼π WriteXY, ¬«Γ«αá∩ ¿¼ÑÑΓ Γα¿ »áαá¼ÑΓαá: »áα𠬫-
- «αñ¿¡áΓ (x,y) ¿ ß««íΘÑ¡¿Ñ ñ½∩ óδó«ñá ¡á φ¬αá¡. WriteXY »ÑαѼÑΘáÑΓ
- ¬παß«α ó Γ«τ¬π (x,y) ¿ óδó«ñ¿Γ Γá¼ ß««íΘÑ¡¿Ñ. é »α«Γ¿ó¡«¼ ß½πτáÑ
- «¡á óδºδóáÑΓ »α«ßΓπε »α«úαá¼¼π «íαáí«Γ¬¿ «Φ¿í¬¿.
-
- Å«¬á ¼δ ¡Ñ ó¿ñ¿¼ ºñÑß∞ ¡¿τÑú« ¿¡ΓÑαÑß¡«ú«: »α«µÑñπαá WriteXY
- »α«ßΓ« ¿ß»«½∞ºπÑΓß∩ ó¼ÑßΓ« »α«µÑñπαδ Write. Äñ¡á¬« ñá½ÑÑ, ¬«úñá
- »α«úαá¼¼á «íαáí«Γ¬¿ «Φ¿í¬¿ íπñÑΓ óδó«ñ¿Γ∞ ß««íΘÑ¡¿Ñ ¡á φ¬αá¡, ¡á-
- τ¿¡áεΓß∩ »ÑαѬαÑßΓ¡δÑ ßß佬¿ (óÑñ∞ »α¿ φΓ«¼ «¡á ß¡«óá ¿ß»«½∞ºπÑΓ
- WriteXY). Æá¬¿¼ «íαẫ¼, ¼δ ¿¼ÑѼ »α«µÑñπαπ WriteXY, óδºδóáεΘπε
- »α«µÑñπαπ «íαáí«Γ¬¿ «Φ¿í¬¿ SwapError, ¬«Γ«αá∩ ó ßó«ε «τÑαÑñ∞ óδ-
- ºδóáÑΓ WriteXY ñ½∩ óδó«ñá ß««íΘÑ¡¿∩ ¡á φ¬αá¡. àß½¿ π óáß πªÑ «Γ
- óßÑú« φΓ«ú« ºá¬απª¿½áß∞ ú«½«óá, ¡Ñ íÑñá. äáóá⌐ΓÑ αáßß¼«Γα¿¼ ¿ß-
- σ«ñ¡δ⌐ ¬«ñ ó »α¿¼ÑαÑ ¿ πó¿ñ¿¼, τΓ« óßÑ φΓ« ¡Ñ ßΓ«½∞ πª ºá»πΓá¡«.
-
- Äß¡«ó¡á∩ »α«úαá¼¼á Circular «τ¿ΘáÑΓ φ¬αá¡ ¿ óδ»«½¡∩ÑΓ Γα¿
- «íαáΘÑ¡¿∩ ¬ »α«µÑñπαÑ WriteXY:
-
- program Circular;
- { óδó«ñ¿Γ ΓѬßΓ, ¿ß»«½∞ºπ∩ WriteXY }
-
- uses
- WinCrt, Display;
-
- begin
- ClrScr;
- WriteXY(1, 1, 'ïÑóδ⌐ óÑασ¡¿⌐ πú«½ φ¬αá¡á');
- WriteXY(100, 100, 'çá »αÑñѽἿ φ¬αá¡á');
- WriteXY(81 - Lenght('æ¡«óá ó φ¬αá¡..'), 15,
- 'æ¡«óá ó φ¬αá¡..');
- end.
-
- éºú½∩¡¿ΓÑ ¡á ¬««αñ¿¡áΓδ (x,y) »α¿ óΓ«α«¼ «íαáΘÑ¡¿¿ ¬ »α«µÑ-
- ñπαÑ WriteXY. é Γ«τ¬Ñ ß ¬««αñ¿¡áΓἿ (100,100) ¡á 80σ25-ß¿¼ó«½∞-
- ¡«¼ φ¬αá¡Ñ óδóÑßΓ¿ ΓѬßΓ ¡Ñ󫺼«ª¡«. äáóá⌐ΓÑ ΓÑ»Ñα∞ »«ß¼«Γα¿¼,
- ¬á¬ αáí«ΓáÑΓ »α«µÑñπαá WriteXY. äá½ÑÑ »α¿óÑñÑ¡ ΓѬßΓ ¿ßσ«ñ¡«ú«
- ¬«ñá ¼«ñπ½∩ Display, ó ¬«Γ«α«¼ ß«ñÑনΓß∩ »α«µÑñπαá WriteXY. àß½¿
- ¬««αñ¿¡áΓδ (x,y) ∩ó½∩εΓß∩ ñ«»πßΓ¿¼δ¼¿, «¡á óδó«ñ¿Γ ¡á φ¬αá¡ ß««í-
- ΘÑ¡¿Ñ. é »α«Γ¿ó¡«¼ ß½πτáÑ «¡á óδó«ñ¿Γ ß««íΘÑ¡¿Ñ «í «Φ¿í¬Ñ.
-
- unit Display;
-
- B.Pascal 7 & Objects/LR - 178 -
-
- { ß«ñÑαª¿Γ »α«ßΓπε »α«úαá¼¼π óδó«ñá ¿¡Σ«α¼áµ¿¿ ¡á φ¬αá¡ }
-
- interface
-
- procedure WriteXY(X,Y : integer, Message : string);
-
- implementation
- uses
- Crt, Error;
- procedure WriteXY(X,Y : integer, Message : string);
- begin
- if (X in [1..80] and Y in [1..25] then
- begin
- Goto(X,Y);
- Write(Message);
- end;
- else
- ShowError('ìÑóÑα¡δÑ ¬««αñ¿¡áΓδ ó »α«µÑñπαÑ WriteXY');
- end;
-
- end.
-
- Åα«µÑñπαá ShowError, óδºδóáѼá∩ ó »α«µÑñπαÑ WriteXY, »«¬áºá-
- ¡á ó »α¿óÑñÑ¡¡«¼ ñá½ÑÑ ¿ßσ«ñ¡«¼ ¬«ñÑ ¼«ñπ½∩ Error. Ä¡á óßÑúñá óδ-
- ó«ñ¿Γ ß««íΘÑ¡¿Ñ «í «Φ¿í¬Ñ ¡á 25-⌐ ßΓα«¬Ñ φ¬αá¡á.
-
- unit Error;
- { ß«ñÑαª¿Γ »α«ßΓπε »α«úαá¼¼π ß««íΘÑ¡¿∩ «í «Φ¿í¬Ñ }
-
- interface
-
- procedure ShowError(ErrMsg : string);
-
- implementation
-
- uses
- Display;
-
- procedure ShowError(ErrMsg :string);
- begin
- WriteXY(1,25, 'ÄΦ¿í¬á: '+ ErrMsg);
- end;
-
- end.
-
- ÄíαáΓ¿ΓÑ ó¡¿¼á¡¿Ñ, τΓ« «»ÑαáΓ«αδ uses ó ßѬµ¿¿ αÑ὿ºáµ¿¿
- «í«¿σ ¼«ñπ½Ñ⌐ (Display ¿ Error) ßßδ½áεΓß∩ ñαπú ¡á ñαπúá. ¥Γ¿ ñóá
- ¼«ñπ½∩ ¼«úπΓ ßßδ½áΓ∞ß∩ ñαπú ¡á ñαπúá ó ßѬµ¿¿ αÑ὿ºáµ¿¿ í½áú«ñá-
- α∩ Γ«¼π, τΓ« Borland Pascal ¼«ªÑΓ ñ½∩ «íÑ¿σ ¼«ñπ½Ñ⌐ óδ»«½¡∩Γ∞
- »«½¡πε ¬«¼»¿½∩µ¿ε ¿¡ΓÑαΣÑ⌐ß¡δσ ßѬµ¿⌐. äαπú¿¼¿ ß½«óἿ, ¬«¼»¿½∩-
- Γ«α ó«ß»α¿¡¿¼áÑΓ ßß佬π ¡á τáßΓ¿τ¡« ߬«¼»¿½¿α«óá¡¡δ⌐ ¼«ñπ½∞ A ó
- ßѬµ¿¿ αÑ὿ºáµ¿¿ ¼«ñπ½∩ é, Ñß½¿ ¿¡ΓÑαΣÑ⌐ß¡δÑ ßѬµ¿¿ ¼«ñπ½∩ A ¿
- ¼«ñπ½∩ é ¡Ñ ºáó¿ß∩Γ ñαπú «Γ ñαπúá (¿, ß½Ññ«óáΓѽ∞¡«, ßΓα«ú« ß«í-
-
- B.Pascal 7 & Objects/LR - 179 -
-
- ½εñáεΓß∩ »αáó¿½á Åá߬á½∩, ¬áßáεΘ¿Ñß∩ »«α∩ñ¬á «»¿ßá¡¿∩).
-
- é ß½πτáÑ óºá¿¼«ºáó¿ß¿¼«ßΓ¿ ¿¡ΓÑαΣÑ⌐ß¡δσ ßѬµ¿⌐ ¼«ñπ½Ñ⌐ óδ
- »«½πτ¿ΓÑ «Φ¿í¬π ¿º-ºá »ÑαѬαÑßΓ¡δσ ßß佫¬.
-
-
- æ«ó¼ÑßΓ¡«Ñ ¿ß»«½∞º«óá¡¿Ñ «»¿ßá¡¿⌐
- ─────────────────────────────────────────────────────────────────
-
- ¡« ¼«ñ¿Σ¿µ¿α«óáΓ∞ »α«µÑñπαπ WriteXY Γᬿ¼ «íαẫ¼, τΓ«íδ
- «¡á ó«ß»α¿¡¿¼á½á ñ«»«½¡¿Γѽ∞¡δ⌐ »áαá¼ÑΓα, ºáñáεΘ¿⌐ »α∩¼«πú«½∞¡«Ñ
- «¬¡« ¡á φ¬αá¡Ñ:
-
- procedure WriteXY(SomeWindow : WindRec;
- X, Y : integer;
- Message : string);
-
- procedure ShowError(Somewindow : WindRec; ErrMsg : string);
-
- ìπª¡« πτ¿ΓδóáΓ∞, τΓ« ñóÑ »α«µÑñπαδ ¡áσ«ñ∩Γß∩ ó αạδσ ¼«ñπ-
- ½∩σ. äáªÑ Ñß½¿ óδ «»¿ßδóáÑΓÑ WindData ó ¿¡ΓÑαΣÑ⌐ß¡«⌐ ßѬµ¿¿ «ñ¡«-
- ú« ¼«ñπ½∩, Γ« ¡ÑΓ Γᬫú« ñ«»πßΓ¿¼«ú« ß»«ß«íá, ß »«¼«Θ∞ε ¬«Γ«α«ú«
- φΓ« «»¿ßá¡¿Ñ ¼«ú½« íδ íδΓ∞ ñ«ßΓπ»¡« ó ñαπú«¼ ¼«ñπ½Ñ. ÉÑΦÑ¡¿Ñ ß«ß-
- Γ«¿Γ ó Γ«¼, τΓ«íδ «»¿ßáΓ∞ ΓαÑΓ¿⌐ ¼«ñπ½∞, ó ¬«Γ«α«¼ ß«ñÑনΓß∩
- Γ«½∞¬« «»αÑñѽѡ¿Ñ ºá»¿ß¿ WindRec:
-
- unit WindData;
- interface
-
- type
- WindRec = record
- X1, Y1, X2, Y2 : integer;
- ForeColor,
- BackColor : byte;
- Active : boolean;
- end;
- implementation
- end.
-
- é ñ«íáó½Ñ¡¿Ñ ¬ Γ«¼π, τΓ« ¼«ñ¿Σ¿¬áµ¿∩ ¬«ñá »α«µÑñπα WriteXY ¿
- ShowError »«ºó«½∩ÑΓ ¿ß»«½∞º«óáΓ∞ ¡«óδ⌐ »áαá¼ÑΓα, ó ¿¡ΓÑαΣÑ⌐ß¡«⌐
- ßѬµ¿¿ ¼«ñπ½Ñ⌐ Display ¿ Error ΓÑ»Ñα∞ ¼«ªÑΓ ¿ß»«½∞º«óáΓ∞ß∩
- WindData. ¥Γ« ñ«»πßΓ¿¼«, Γᬠ¬á¬ ¼«ñπ½∞ WindData ¡Ñ ºáó¿ß¿Γ «Γ
- ßó«Ñú« «»ÑαáΓ«αá uses, á ¼«ñ㫨 Display ¿ Error ßßδ½áεΓß∩ ñαπú ¡á
- ñαπúá Γ«½∞¬« ó ß««ΓóÑΓßΓóπεΘ¿σ ßѬµ¿∩σ αÑ὿ºáµ¿¿.
-
- éºá¿¼«ºáó¿ß¿¼δÑ ¼«ñ㫨 ¼«úπΓ íδΓ∞ »«½Ñº¡δ ó «Γñѽ∞¡δσ ß¿Γπá-
- µ¿∩σ, ¡« ¿ß»«½∞º«óáΓ∞ ¿σ ¡áñ« ᬬπαáΓ¡«. àß½¿ óδ íπñÑΓÑ »α¿¼Ñ¡∩Γ∞
- ¿σ Γá¬, úñÑ φΓ« ¡Ñ ΓαÑíπÑΓß∩, »α«úαá¼¼π ßΓá¡ÑΓ ß½«ª¡Ñ⌐ «íß½πª¿-
- óáΓ∞, ¿ «¡á íπñÑΓ í«½∞ΦÑ »«ñóÑαªÑ¡á «Φ¿í¬á¼.
-
-
-
- B.Pascal 7 & Objects/LR - 180 -
-
- ───────────────────────────────────────────────────────────────────────
- â½áóá 11. 信ἿτÑ߬¿ ¬«¼»«¡πѼδÑ í¿í½¿«ΓѬ¿
- ─────────────────────────────────────────────────────────────────
-
- 信ἿτÑ߬¿ ¬«¼»«¡πѼδÑ í¿í½¿«ΓѬ¿ (DLL) »«ºó«½∩εΓ ¡Ñ߬«½∞-
- ¬¿¼ »α¿¬½áñ¡δ¼ »α«úαá¼¼á Windows ¿½¿ DOS ºáΘ¿ΘÑ¡¡«ú« αѪ¿¼á ß«ó-
- ¼ÑßΓ¡« ¿ß»«½∞º«óáΓ∞ ¬«ñ ¿ αÑßπαßδ. é Borland Pascal óδ ¼«ªÑΓÑ ¬á¬
- ¿ß»«½∞º«óáΓ∞ ßπΘÑßΓóπεΘ¿Ñ DLL, Γᬠ¿ ¡á»¿ßáΓ∞ ßó«¿ ß«íßΓóÑ¡¡δÑ
- DLL, ¬«Γ«αδÑ ¼«ª¡« »α¿¼Ñ¡∩Γ∞ ó ñαπú¿σ »α«úαá¼¼áσ.
-
- ùΓ« Γá¬«Ñ DLL?
- ─────────────────────────────────────────────────────────────────
-
- DLL - φΓ« óδ»«½¡∩Ѽδ⌐ ¼«ñπ½∞, ß«ñÑαªáΘ¿⌐ »α«úαá¼¼¡δ⌐ ¬«ñ ¿½¿
- αÑßπαßδ, ¿ß»«½∞ºπѼδÑ ñαπú¿¼¿ »α¿¬½áñ¡δ¼¿ »α«úαἼἿ ¿½¿ DLL.
- è«¡µÑ»Γπá½∞¡« ñ¿¡á¼¿τÑ߬¿ ¬«¼»«¡πѼá∩ í¿í½¿«ΓѬá á¡á½«ú¿τ¡á∩ ¼«-
- ñπ½ε - «¡¿ «íÑß»Ñτ¿óáεΓ ñ½∩ »α«úαá¼¼ »α«µÑñπαδ ¿ Σπ¡¬µ¿¿. Äñ¡á¬«
- ¼Ñªñπ DLL ¿ ¼«ñπ½∩¼¿ ¿¼ÑεΓß∩ ßπΘÑßΓóÑ¡¡δÑ αẽ¿τ¿∩. é τáßΓ¡«ßΓ¿,
- ¼«ñ㫨 ¬«¼»«¡πεΓß∩ ßΓáΓ¿τÑ߬¿, á DLL - ñ¿¡á¼¿τÑ߬¿.
-
- è«úñá »α«úαá¼¼á ¿ß»«½∞ºπÑΓ »α«µÑñπαπ ¿½¿ Σπ¡¬µ¿ε ¿º ¼«ñπ½∩,
- ¬«»¿∩ ¬«ñá φΓ«⌐ »α«µÑñπαδ ¿½¿ Σπ¡¬µ¿¿ ßΓáΓ¿τÑ߬¿ ¬«¼»«¡πÑΓß∩ ß
- óδ»«½¡∩Ñ¼δ¼ Σá⌐½«¼ »α«úαá¼¼δ. àß½¿ ñóÑ »α«úαá¼¼δ óδ»«½¡∩εΓß∩ «ñ-
- ¡«óαѼѡ¡« ¿ ¿ß»«½∞ºπεΓ «ñ¡π ¿ Γπ ªÑ »α«µÑñπαπ ¿ Σπ¡¬µ¿ε ¼«ñπ½∩,
- Γ« ó ß¿ßΓÑ¼Ñ íπñÑΓ »α¿ßπΓßΓó«óáΓ∞ ñóÑ ¬«»¿¿ φΓ«⌐ »«ñ»α«úαá¼¼δ.
- ¥ΣΣÑ¬Γ¿ó¡ÑÑ í佫 íδ ¿ß»«½∞º«óáΓ∞ «ñ¡π ¬«»¿ε. Æá¬πε 󫺼«ª¡«ßΓ∞
- »αÑñ«ßΓáó½∩ÑΓ DLL.
-
- é «Γ½¿τ¿Ñ «Γ ¼«ñπ½∩ DLL ¡Ñ ¬«¼»«¡πÑΓß∩ ß ¿ß»«½∞ºπεΘÑ⌐ DLL
- »α«úαá¼¼«⌐. é¼ÑßΓ« φΓ«ú« ¬«ñ ¿ αÑßπαßδ DLL ¡áσ«ñ∩Γß∩ ó «Γñѽ∞¡«¼
- óδ»«½¡∩Ѽ«¼ Σá⌐½Ñ ß αáßΦ¿αÑ¡¿Ñ¼ .DLL. ¥Γ«Γ Σá⌐½ ñ«½ªÑ¡ »α¿ßπΓß-
- Γó«óáΓ∞ »α¿ óδ»«½¡Ñ¡¿¿ »α«úαá¼¼δ-¬½¿Ñ¡Γá. éδºδóáѼδÑ »α«úαá¼¼«⌐
- »α«µÑñπαδ ¿ Σπ¡¬µ¿¿ ñ¿¡á¼¿τÑ߬¿ ¬«¼»«¡πεΓß∩ ß« ßó«¿¼¿ Γ«τ¬á¼¿
- óσ«ñá ó ¿ß»«½∞ºπѼ«⌐ »α«úαá¼¼Ñ DLL.
-
- äαπú«Ñ «Γ½¿τ¿Ñ ¼«ñπ½Ñ⌐ «Γ DLL ß«ßΓ«¿Γ ó Γ«¼, τΓ« ¼«ñ㫨 ¼«-
- úπΓ φ¬ß»«αΓ¿α«óáΓ∞ Γ¿»δ, ¬«¡ßΓá¡Γδ, ñá¡¡δÑ ¿ «íΩѬΓδ, á DLL -
- Γ«½∞¬« »α«µÑñπαδ ¿ Σπ¡¬µ¿¿.
-
- ùΓ«íδ ÑÑ ¼«ª¡« í佫 ¿ß»«½∞º«óáΓ∞ ó »α«úαá¼¼Ñ Borland Pascal,
- DLL ¡Ñ «í∩ºáΓѽ∞¡« ñ«½ª¡á íδΓ∞ ¡á»¿ßá¡á ¡á Borland Pascal. èα«¼Ñ
- Γ«ú«, »α«úαá¼¼δ, ¡á»¿ßá¡¡δÑ ¡á ñαπú¿σ ∩ºδ¬áσ, ¼«úπΓ ¿ß»«½∞º«óáΓ∞
- DLL, ¡á»¿ßá¡¡δÑ ¡á Borland Pascal. DLL, Γᬿ¼ «íαẫ¼, ¿ñÑá½∞¡«
- »«ñσ«ñ¿Γ »α¿ »α«úαá¼¼¡δσ »α«Ñ¬Γáσ, αÑ὿ºπѼδσ ¡á ¡Ñ߬«½∞¬¿σ ∩ºδ-
- ¬áσ.
-
-
- êß»«½∞º«óá¡¿Ñ DLL
- ─────────────────────────────────────────────────────────────────
-
- ùΓ«íδ ¼«ñπ½∞ ¼«ú ¿ß»«½∞º«óáΓ∞ »α«µÑñπαπ ¿½¿ Σπ¡¬µ¿ε ó DLL,
- «¡ ñ«½ªÑ¡ ¿¼»«αΓ¿α«óáΓ∞ »α«µÑñπαπ ¿½¿ Σπ¡¬µ¿ε ß »«¼«Θ∞ε «»¿ßá¡¿∩
- external. ìá»α¿¼Ñα, ó ß½ÑñπεΘѼ «»¿ßá¡¿¿ ¿º DLL ¿ ¿¼Ñ¡Ñ¼ KERNEL
- (∩ñα« Windows) ¿¼»«αΓ¿απÑΓß∩ Σπ¡¬µ¿∩ ß ¿¼Ñ¡Ñ¼ GlobalAlloc:
-
- B.Pascal 7 & Objects/LR - 181 -
-
-
- function GlobalAlloc(Glags: Word; Bytes: Longint): THandle;
- far; external 'KERNEL' index 15;
-
- é ¿¼»«αΓ¿απѼ«⌐ »α«µÑñπαÑ ¿½¿ Σπ¡¬µ¿¿ ñ¿αÑ¬Γ¿óá external ºá-
- ¡¿¼áÑΓ ¼ÑßΓ« «»¿ßáΓѽ∞¡«⌐ ¿ «»ÑαáΓ«α¡«⌐ τáßΓ¿, ¬«Γ«αδÑ ¡πª¡« í佫
- íδ ó¬½ετ¿Γ∞ ó »α«Γ¿ó¡«¼ ß½πτáÑ. é ¿¼»«αΓ¿απѼδσ »α«µÑñπαáσ ¿
- Σπ¡¬µ¿∩σ ñ«½ª¡á ¿ß»«½∞º«óáΓ∞ß∩ ñá½∞¡∩∩ ¼«ñѽ∞ ó맮óá, óδíαá¡¡á∩
- ¬½ετÑóδ¼ ß½«ó«¼ far ¿½¿ ñ¿αÑ¬Γ¿ó«⌐ ¬«¼»¿½∩Γ«αá {$F+}; ó« óßѼ «ß-
- Γá½∞¡«¼ ¿σ »«óÑñÑ¡¿Ñ ¡Ñ «Γ½¿τáÑΓß∩ «Γ «íδτ¡δσ »α«µÑñπα ¿ Σπ¡¬µ¿⌐.
-
- Borland Pascal ¿¼»«αΓ¿απÑΓ »α«µÑñπαδ ¿ Σπ¡¬µ¿¿ ΓαѼ∩ ß»«ß«-
- íἿ:
-
- - »« ¿¼Ñ¡¿;
- - »« ¡«ó«¼π ¿¼Ñ¡¿;
- - »« »«α∩ñ¬«ó«¼π ¡«¼Ñαπ.
-
- ö«α¼áΓ ñ¿αÑ¬Γ¿ó external ñ½∩ ¬áªñ«ú« ¿º ΓαÑσ ¼ÑΓ«ñ«ó »«¬áºá¡
- ó »α¿óÑñÑ¡¡«¼ ¡¿ªÑ »α¿¼ÑαÑ.
-
- è«úñá «»ÑαáΓ«α index ¿½¿ name ¡Ñ π¬áºá¡, »α«µÑñπαá ¿½¿ Σπ¡¬-
- µ¿∩ φ¬ß»«αΓ¿απεΓß∩ »« ¿¼Ñ¡¿. ¥Γ« ¿¼∩ ß«ó»áñáÑΓ ß ¿ñÑ¡Γ¿Σ¿¬áΓ«α«¼
- »α«µÑñπαδ ¿½¿ Σπ¡¬µ¿¿. é ñá¡¡«¼ »α¿¼ÑαÑ »α«µÑñπαá ImportByName
- ¿¼»«αΓ¿απÑΓß∩ ¿º í¿í½¿«ΓѬ¿ 'TESTLIB' »« ¿¼Ñ¡¿ 'IMPORTBYNAME':
-
- procedure ImportByName; external 'TESTLIB';
-
- è«úñá ºáñá¡ «»ÑαáΓ«α name, »α«µÑñπαá ¿½¿ Σπ¡¬µ¿∩ ¿¼»«αΓ¿απ-
- ÑΓß∩ »«ñ ¿¼Ñ¡Ñ¼, «Γ½¿τ¡δ¼ «Γ ¿¼Ñ¡¿ ¿ñÑ¡Γ¿Σ¿¬áΓ«αá. é ß½ÑñπεΘѼ
- »α¿¼ÑαÑ »α«µÑñπαá ImportByName ¿¼»«αΓ¿απÑΓß∩ ¿º í¿í½¿«ΓѬ¿
- 'TESTLIB' »« ¿¼Ñ¡¿ 'REALNAME':
-
- procedure ImportByName; external 'TESTLIB'name 'REALNAME'
-
- ìᬫ¡Ñµ, »α¿ ¡á½¿τ¿¿ «»ÑαáΓ«α index »α«µÑñπαá ¿½¿ Σπ¡¬µ¿∩
- ¿¼»«αΓ¿απÑΓß∩ »« »«α∩ñ¬«ó«¼π º¡áτÑ¡¿ε. Æá¬«⌐ ó¿ñ ¿¼»«αΓá π¼Ñ¡∞Φá-
- ÑΓ óαѼ∩ ºáúαπº¬¿ ¼«ñπ½∩, Γᬠ¬á¬ «Γ»áñáÑΓ ¡Ñ«íσ«ñ¿¼«ßΓ∞ »«¿ß¬á
- ¿¼Ñ¡¿ ó Γáí½¿µÑ ¿¼Ñ¡ DLL. é ß½ÑñπεΘѼ »α¿¼ÑαÑ »α«µÑñπαá
- ImportByOrd ¿¼»«αΓ¿απÑΓß∩ ¿º í¿í½¿«ΓѬ¿ 'TESTLIB':
-
- procedure ImportByOrd; external 'TESTLIB' index 5;
-
- ê¼∩ DLL ºáñáÑΓß∩ »«ß½Ñ ¬½ετÑó«ú« ß½«óá external, á ¡«ó«Ñ
- ¿¼∩, ºáñá¡¡«Ñ ó «»ÑαáΓ«αÑ name, ¡Ñ «í∩ºá¡« »αÑñßΓáó½∩Γ∞ ß«í«⌐
- ßΓ᫬«óδÑ ½¿ΓÑαá½δ. ä«»π߬áÑΓß∩ ½εí«Ñ ßΓ᫬«ó«Ñ óδαáªÑ¡¿Ñ-¬«¡ß-
- Γá¡Γá. ǡὫú¿τ¡«, »«α∩ñ¬«óδ⌐ ¡«¼Ñα, ºáñáóáѼδ⌐ ó «»ÑαáΓ«αÑ
- index, ¼«ªÑΓ íδΓ∞ ½εíδ¼ µÑ½«τ¿ß½Ñ¡¡δ¼ óδαáªÑ¡¿Ñ¼-¬«¡ßΓá¡Γ«⌐.
-
- const
- TestLib = TestLib;
- Ordinal = 5;
-
-
- B.Pascal 7 & Objects/LR - 182 -
-
- procedure ImportByName; external TestLib;
- procedure ImportByName; external TestLibname 'REALNAME'
- procedure ImportByOrd; external TestLib index Ordinal;
-
- ò«Γ∩ DLL ¼«ªÑΓ ß«ñÑαªáΓ∞ »ÑαѼѡ¡δÑ, ¿¼»«αΓ¿α«óáΓ∞ ¿σ ó ñαπ-
- ú¿Ñ ¼«ñ㫨 ¡Ñ󫺼«ª¡«. ïεí«⌐ ñ«ßΓπ» ¬ »ÑαѼѡ¡δ¼ DLL ñ«½ªÑ¡ «ßπ-
- ΘÑßΓó½∩Γ∞ß∩ τÑαѺ »α«µÑñπα¡δ⌐ ¿¡ΓÑαΣÑ⌐ß.
-
-
- î«ñ㫨 ¿¼»«αΓá
- ─────────────────────────────────────────────────────────────────
-
- Ä»¿ßá¡¿∩ ¿¼»«αΓ¿απѼδσ »α«µÑñπα ¿ Σπ¡¬µ¿⌐ ¼«úπΓ »«¼ÑΘáΓ∞ß∩
- ¡Ñ»«ßαÑñßΓóÑ¡¡« ó »α«úαá¼¼π, ¬«Γ«αá∩ ¿σ ¿¼»«αΓ¿απÑΓ. Äñ¡á¬« «íδτ-
- ¡« «¡¿ «íΩÑñ¿¡∩εΓß∩ ó ¼«ñπ½∞ ¿¼»«αΓá, ß«ñÑαªáΘ¿⌐ «»¿ßá¡¿∩ óßÑσ
- »α«µÑñπα ¿ Σπ¡¬µ¿⌐ ó DLL, á Γá¬ªÑ óßÑ Γ¿»δ ¿ ¬«¡ßΓá¡Γδ, ¡Ñ«íσ«ñ¿-
- ¼δÑ ñ½∩ ¿¡ΓÑαΣÑ⌐ßá ß DLL. Åα¿¼ÑαἿ Γá¬¿σ ¼«ñπ½Ñ⌐ ¿¼»«αΓá ∩ó½∩εΓ-
- ß∩ »«ßΓáó½∩ѼδÑ ß Borland Pascal ¼«ñ㫨 WinTypes, WinProcs ¿
- WinAPI. î«ñ㫨 ¿¼»«αΓá ¡Ñ «í∩ºáΓѽ∞¡δ ñ½∩ ¿¡ΓÑαΣÑ⌐ßá ß DLL, ¡«
- «¡¿ º¡áτ¿Γѽ∞¡« π»α«ΘáεΓ «íß½πª¿óá¡¿Ñ ¿ß»«½∞ºπεΘ¿σ ¼¡«ªÑßΓó« DLL
- »α«Ñ¬Γ«ó.
-
- é ¬áτÑßΓóÑ »α¿¼Ñαá αáßß¼«Γα¿¼ DLL ß ¿¼Ñ¡Ñ¼ DATETIME.DLL, ß«-
- ñÑαªáΘπε τÑΓδαÑ »«ñ»α«úαá¼¼δ ñ½∩ »«½πτÑ¡¿∩ ¿ πßΓá¡«ó¬¿ ñáΓδ ¿
- óαѼѡ¿ ß »«¼«Θ∞ε Γ¿»á ºá»¿ß¿, ß«ñÑαªáΘÑ⌐ τ¿ß½«, ¼Ñß∩µ, ú«ñ ¿ ºá-
- »¿ß¿, ¬«Γ«αá∩ ß«ñÑαª¿Γ ßѬπ¡ñπ, ¼¿¡πΓπ ¿ τáß. é¼ÑßΓ« ߻ѵ¿Σ¿¬áµ¿¿
- ß««ΓóÑΓßΓóπεΘ¿σ «»¿ßá¡¿⌐ »α«µÑñπαδ, Σπ¡¬µ¿¿ ¿ Γ¿»á ó ¬áªñ«⌐ ¿ß-
- »«½∞ºπεΘÑ⌐ DLL »α«úαá¼¼Ñ óδ ¼«ªÑΓÑ »«ßΓα«¿Γ∞ ¡áα∩ñπ ß DLL ¼«ñπ½∞
- ¿¼»«αΓá. é ß½ÑñπεΘѼ »α¿¼ÑαÑ ß«ºñáÑΓß∩ Σá⌐½ .TPW (ó »αÑñ»«½«ªÑ-
- ¡¿¿, τΓ« µÑ½Ñó«⌐ »½áΓΣ«α¼«⌐ ∩ó½∩ÑΓß∩ Windows), ¡« «ΓßπΓßΓóπεΓ ¬«ñ
- ¿ ñá¡¡δÑ ñ½∩ ¿ß»«½∞ºπεΘÑ⌐ Ñú« »α«úαá¼¼δ.
-
- unit DateTime;
-
- interface
-
- type
- TTimeRec = record
- Second: Integer;
- Minute: Integer;
- Hour: Integer;
- end;
-
- type
- TDateRec
- TDateRec = record
- Day: Integer;
- Month: Integer;
- Year: Integer;
- end;
-
- procedure SetTime(var Time: TTimeRec);
- procedure GetTime(var Time: TTimeRec);
-
- B.Pascal 7 & Objects/LR - 183 -
-
- procedure SetDate(var Date: TDateRec);
- procedure GetDate(var Date: TDateRec);
-
- inplementation
-
- procedure SetTime; external 'DATETIME' index 1;
- procedure GetTime; external 'DATETIME' index 2;
- procedure SetDate; external 'DATETIME' index 3;
- procedure GetTime; external 'DATETIME' index 4;
-
- end.
-
- ïεíá∩ »α«úαá¼¼á, ¿ß»«½∞ºπεΘá∩ DATETIME.DLL ¼«ªÑΓ ΓÑ»Ñα∞
- »α«ßΓ« ºáñáΓ∞ ó ßó«Ñ¼ «»ÑαáΓ«αÑ uses ¼«ñπ½∞ DateTime. Åα¿óÑñѼ
- »α¿¼Ñα »α«úαá¼¼δ Windows:
-
- program ShowTime;
-
- uses WinCrt, DateTime;
-
- var
- Time: TTimeRec;
-
- begin
- GetTime(Time);
- with Time do
- WriteLn('ÆÑ¬πΘÑÑ óαѼ∩: ', Hour, ':', Minute, ':',
- Second);
- end.
-
- äαπú¿¼ »αÑ¿¼πΘÑßΓó«¼ ¿ß»«½∞º«óá¡¿∩ ¼«ñπ½∩ ¿¼»«αΓá, Γᬫú«
- ¬á¬ DateTime, ∩ó½∩ÑΓß∩ Γ«, τΓ« »α¿ ¼«ñ¿Σ¿¬áµ¿¿ DATETIME.DLL «í¡«-
- ó¿Γ∞ ΓαÑíπÑΓß∩ Γ«½∞¬« ¼«ñπ½∞ ¿¼»«αΓá DateTime.
-
- è«úñá óδ ¬«¼»¿½¿απÑΓÑ ¿ß»«½∞ºπεΘπε DLL »α«úαá¼¼π, ¬«¼»¿½∩Γ«α
- ¡Ñ ¿ΘÑΓ DLL, ΓᬠτΓ« ÑÑ »α¿ßπΓßΓó¿Ñ ¡Ñ ΓαÑíπÑΓß∩. Äñ¡á¬« DLL
- ñ«½ª¡á »α¿ßπΓßΓó«óáΓ∞ ó ß¿ßΓÑ¼Ñ »α¿ óδ»«½¡Ñ¡¿¿ »α«úαá¼¼δ.
-
- àß½¿ óδ »¿ΦÑΓÑ ß«íßΓóÑ¡¡δÑ DLL, «¡¿ ¡Ñ ¬«¼»¿½¿απεΓß∩ áóΓ«¼á-
- Γ¿τÑ߬¿ »α¿ ¬«¼»¿½∩µ¿¿ ¿ß»«½∞ºπεΘÑ⌐ ÑÑ »α«úαá¼¼δ ß »«¼«Θ∞ε ¬«¼á¡-
- ñδ Compile│Make. DLL ß½ÑñπÑΓ ¬«¼»¿½¿α«óáΓ∞ «Γñѽ∞¡«.
-
-
-
-
- B.Pascal 7 & Objects/LR - 184 -
-
- æΓáΓ¿τÑ߬¿⌐ ¿ ñ¿¡á¼¿τÑ߬¿⌐ ¿¼»«αΓ
- ─────────────────────────────────────────────────────────────────
-
- ä¿αÑ¬Γ¿óá external «íÑß»Ñτ¿óáÑΓ ó«º¼«ª¡«ßΓ∞ ßΓáΓ¿τÑ߬«ú« ¿¼-
- »«αΓá »α«µÑñπα ¿ Σπ¡¬µ¿⌐ ¿º DLL. æΓáΓ¿τÑ߬¿ ¿¼»«αΓ¿απѼá∩ »α«µÑ-
- ñπαá ¿ Σπ¡¬µ¿∩ óßÑúñá ßßδ½áÑΓß∩ ¡á «ñ¡π ¿ Γπ ªÑ Γ«τ¬π óσ«ñá ó
- DLL. ÉáßΦ¿αÑ¡¿∩ Windows ¿ ºáΘ¿ΘÑ¡¡«ú« αѪ¿¼á DOS Borland »«ññÑα-
- ª¿óáÑΓ Γá¬ªÑ ñ¿¡á¼¿τÑ߬¿⌐ ¿¼»«αΓ, »α¿ ¬«Γ«α«¼ ¿¼∩ DLL ¿ ¿¼∩ ¿½¿
- »«α∩ñ¬«óδ⌐ ¡«¼Ñα ¿¼»«αΓ¿απѼ«⌐ »α«µÑñπαδ ¿½¿ Σπ¡¬µ¿¿ ºáñáÑΓß∩ ó«
- óαѼ∩ óδ»«½¡Ñ¡¿∩. Åα¿óÑñÑ¡¡á∩ ¡¿ªÑ »α«úαá¼¼á ShowTime ¿ß»«½∞ºπÑΓ
- ñ¿¡á¼¿τÑ߬¿⌐ ¿¼»«αΓ ñ½∩ ó맮óá »α«µÑñπαδ GetTime ó DATETIME.DLL.
- ÄíαáΓ¿ΓÑ ó¡¿¼á¡¿Ñ ¡á ¿ß»«½∞º«óá¡¿Ñ »ÑαѼѡ¡«⌐ »α«µÑñπα¡«ú« Γ¿»á
- ñ½∩ »αÑñßΓáó½Ñ¡¿∩ áñαÑßá »α«µÑñπαδ GetTime.
-
- program ShowTime;
-
- uses WinProcs, WinTypes, WinCrt;
-
- type
- TTimeRec = record
- Second: Integer;
- Minute: Integer;
- Hour: Integer;
- end;
- TGetTime = procedure(var Time: TTimeRec);
-
- var
- Time: TTimeRec;
- Handle: THAndle;
- GetTime: TGetTime;
-
- begin
- Handle := LoadLibrary('DATETIME.DLL');
- if Handle >= 32 then
- begin
- @GetTie := GetProcAddress(Handle, 'GETTIME');
- if @GetTime <> nil then
- begin
- GetTime(Time);
- with Time do
- WriteLn('ÆÑ¬πΘÑÑ óαѼ∩: ', Hour, ':', Minute, ':',
- Second);
- end;
- FreeLibrary(Handle);
- end;
- end;
-
-
-
-
- B.Pascal 7 & Objects/LR - 185 -
-
- ìỿßá¡¿Ñ DLL
- ─────────────────────────────────────────────────────────────────
-
- æΓαπ¬Γπαá DLL Borland Pascal ¿ñÑ¡Γ¿τ¡á∩ ßΓαπ¬ΓπαÑ »α«úαá¼¼δ,
- ¡« DLL ¡áτ¿¡áÑΓß∩ ó¼ÑßΓ« ºáú«½«ó¬á program ß ºáú«½«ó¬á program.
- çáú«½«ó«¬ library π¬áºδóáÑΓ Borland Pascal, τΓ« ¡πª¡« ß«ºñáΓ∞ óδ-
- »«½¡∩Ѽδ⌐ Σá⌐½ ß αáßΦ¿αÑ¡¿Ñ¼ .DLL, á ¡Ñ ß αáßΦ¿αÑ¡¿Ñ¼ .EXE, ¿ óδ-
- »«½¡∩Ѽδ⌐ Σá⌐½ »«¼ÑτáÑΓß∩ ¬á¬ DLL.
-
- í¿í½¿«ΓѬá
- │
- │ ┌─────────────┐ ┌───┐ ┌──────┐
- └──>│ ºáú«½«ó«¬ ├──>│ ; ├─┬──────────────────│ í½«¬ ├───────>
- │ í¿í½¿«ΓѬ¿ │ └───┘ │ ┌──────────┐ ^ └──────┘
- └─────────────┘ └──>│ «»ÑαáΓ«α ├─┘
- │ uses │
- └──────────┘
-
- ┌─────────┐ ┌───────────────┐
- ºáú«½«ó«¬ ────>│ library ├──>│ ¿ñÑ¡Γ¿Σ¿¬áΓ«α ├─────>
- »α«µÑñπαδ └─────────┘ └───────────────┘
-
- é »α¿óÑñÑ¡¡«¼ ¡¿ªÑ »α¿¼ÑαÑ »α¿óÑñÑ¡á «τÑ¡∞ »α«ßΓπε DLL ß
- ñóπ¼∩ φ¬ß»«αΓ¿απÑ¼δ¼¿ Σπ¡¬µ¿∩¼¿ Min ¿ Max, ¬«Γ«αδÑ óδτ¿ß½∩εΓ ¡á¿-
- ¼Ñ¡∞ΦÑÑ ¿ ¡á¿í«½∞ΦÑÑ ¿º ñóπσ µÑ½«τ¿ß½Ñ¡¡δσ º¡áτÑ¡¿⌐.
-
- library MinMax;
-
- function Min(X, Y: Integer): Integer; export;
- begin
- if X < Y then Min := X else Min := Y;
- end;
-
- function Max(X, Y: Integer): Integer; export;
- begin
- if X > Y then Max := X else Max := Y;
- end;
-
- exports
- Min index 1,
- Max index 2;
-
- begin
- end.
-
- ÄíαáΓ¿ΓÑ ó¡¿¼á¡¿Ñ ¡á ¿ß»«½∞º«óá¡¿Ñ ñ½∩ »«ñú«Γ«ó¬¿ Min ¿ Max,
- ñ½∩ φ¬ß»«αΓá ¬½ετÑó«ú« ß½«óá export, ¿ ¡á «»ÑαáΓ«α exports, ¿ß-
- »«½∞ºπѼδ⌐ ñ½∩ Σá¬Γ¿τÑ߬«ú« φ¬ß»«αΓá ñóπσ »«ñ»α«úαá¼¼, π¬áºδóáε-
- Θ¿⌐, ñ½∩ ¬áªñ«⌐ ¿º ¡¿σ, ¡Ñ«í∩ºáΓѽ∞¡δ⌐ »«α∩ñ¬«óδ⌐ ¡«¼Ñα.
-
- ò«Γ∩ »αÑñδñπΘ¿⌐ »α¿¼Ñα φΓ«ú« ¡Ñ »«¬áºδóáÑΓ, í¿í½¿«ΓÑ¬á ¼«ªÑΓ
- ß«ßΓ«∩Γ∞ ¿º ¡Ñ߬«½∞¬¿σ ¼«ñπ½Ñ⌐. é Γᬿσ ß½πτá∩σ ¿ßσ«ñ¡δ⌐ Σá⌐½
- í¿í½¿«ΓѬ¿ τáßΓ« ßó«ñ¿Γß∩ ¬ «»ÑαáΓ«απ uses, «»ÑαáΓ«απ exports ¿
-
- B.Pascal 7 & Objects/LR - 186 -
-
- ¬«ñπ ¿¡¿µ¿á½¿ºáµ¿¿ í¿í½¿«ΓѬ¿. ìá»α¿¼Ñα:
-
- library Eritors;
-
- uses EdInit, EdInOut, EdFormat, EdPrint;
-
- exports
- InitEditors index 1,
- DoneEditors index 2,
- InsertText index 3,
- DeleteSelection index 4,
- FormatSelection index 5,
- PrintSelection index 6,
- .
- .
- .
- SetErrorHandler index 53;
-
- begin
- InitLibrary;
- end.
-
-
-
-
- B.Pascal 7 & Objects/LR - 187 -
-
- ä¿αÑ¬Γ¿óá »α«µÑñπαδ export
- ─────────────────────────────────────────────────────────────────
-
- àß½¿ »α«µÑñπαδ ¿ Σπ¡¬µ¿¿ ñ«½ª¡δ φ¬ß»«αΓ¿α«óáΓ∞ß∩ DLL, «¡¿
- ñ«½ª¡δ ¬«¼»¿½¿α«óáΓ∞ß∩ ß ñ¿αÑ¬Γ¿ó«⌐ ¬«¼»¿½∩Γ«αá export. ä¿αÑ¬Γ¿óá
- export »α¿¡áñ½Ñª¿Γ ¬ Γ«¼π ªÑ ßѼÑ⌐ßΓóπ »α«µÑñπα¡δσ ñ¿αÑ¬Γ¿ó, τΓ«
- ¿ near, far, inline ¿ interrupt. ¥Γ« «º¡áτáÑΓ, τΓ« ñ¿αÑ¬Γ¿óá
- export, Ñß½¿ «¡á »α¿ßπΓßΓóπÑΓ, ñ«½ª¡á π¬áºδóáΓ∞ß∩ »ÑαÑñ »Ñαóδ¼
- ºáñ᡿Ѽ »α«µÑñπαδ ¿½¿ Σπ¡¬µ¿¿ - «¡á ¡Ñ ¼«ªÑΓ π¬áºδóáΓ∞ß∩ ó «»αÑ-
- ñѽ∩εΘѼ «»¿ßá¡¿¿ ¿½¿ ó «»ÑαѪáεΘѼ «»¿ßá¡¿¿.
-
- ä¿αÑ¬Γ¿óá export ñѽáÑΓ »α«µÑñπαπ ¿½¿ Σπ¡¬µ¿ε φ¬ß»«αΓ¿απÑ-
- ¼«⌐. Ä¡á »α¿¡πñ¿Γѽ∞¡« ¿ß»«½∞ºπÑΓ ñ½∩ »«ñ»α«úαá¼¼δ ñá½∞¡¿⌐ Γ¿»
- ó맮óá ¿ »«ñú«Γáó½¿óáÑΓ ÑÑ ñ½∩ φ¬ß»«αΓá, úÑ¡Ñα¿απ∩ ñ½∩ »α«µÑñπαδ
- ߻ѵ¿á½∞¡δ⌐ ¬«ñ óσ«ñá ¿ óδσ«ñá. çá¼ÑΓ¿¼, «ñ¡á¬«, τΓ« Σá¬Γ¿τÑ߬¿⌐
- φ¬ß»«αΓ »α«µÑñπαδ ¿½¿ Σπ¡¬µ¿¿ ¡Ñ »α«¿ßσ«ñ¿Γ, »«¬á »«ñ»α«úαá¼¼á ¡Ñ
- »ÑαÑτ¿ß½∩ÑΓß∩ ó «»ÑαáΓ«αÑ exports í¿í½¿«ΓѬ¿.
-
-
- Ä»ÑαáΓ«α exports
- ─────────────────────────────────────────────────────────────────
-
- Åα«µÑñπαá ¿½¿ Σπ¡¬µ¿∩ φ¬ß»«αΓ¿απÑΓß∩ DLL, ¬«úñá «¡á π¬áºδóá-
- ÑΓß∩ ó «»ÑαáΓ«αÑ exports í¿í½¿«ΓѬ¿.
-
- «»ÑαáΓ«α exports
- │ ┌─────────┐ ┌────────────────┐ ┌───┐
- └──>│ exports ├──>│ ß»¿ß«¬ φ¬ß»«αΓá├───────────>│ ; ├───────>
- └─────────┘ └────────────────┘ └───┘
-
- ┌────────────────┐
- ß»¿ß«¬ φ¬ß»«αΓá ──┬─>│ ºá»¿ß∞ φ¬c»«αΓá├───────────>
- │ └────────────────┘ ^
- │ ┌───┐ │
- └───────>│ ; ├─────────┘
- └───┘
-
- «»ÑαáΓ«α exports
- │ ┌───────────────┐
- └───>│ ¿ñÑ¡Γ¿Σ¿¬áΓ«α ├──┬────────────────────────────────────┐
- └───────────────┘ │ ┌───────┐ ┌─────────────────┐ ^ │
- └──>│ index ├─>│ µÑ½á∩ ¬«¡ßΓá¡Γá ├─┘ │
- └───────┘ └─────────────────┘ │
- ┌──────────────────────────────────────────────────────────────┘
- └─┬─────────────────────────────────────┬──────────────────────>
- │ ┌──────┐ ┌─────────────────────┐ ^│ ┌──────────┐ ^
- └>│ name ├──>│ ßΓ᫬«óá∩ ¬«¡ßΓá¡Γá ├─┘└─>│ resident ├──┘
- └──────┘ └─────────────────────┘ └──────────┘
-
- Ä»ÑαáΓ«α exports ¼«ªÑΓ óßΓαÑτáΓ∞ß∩ ó ½εí«¼ ¼ÑßΓÑ «»¿ßáΓѽ∞-
- ¡«⌐ τáßΓ¿ »α«úαá¼¼δ ¿½¿ í¿í½¿«ΓѬ¿ ¿ ½εí«Ñ τ¿ß½« αáº. èáªñá∩ ºá-
- »¿ß∞ ó «»ÑαáΓ«αÑ exports ºáñáÑΓ ¿ñÑ¡Γ¿Σ¿¬áΓ«α φ¬ß»«αΓ¿απѼ«⌐ »α«-
- µÑñπαδ ¿½¿ Σπ¡¬µ¿¿. Äñ¡á¬«, φΓá »α«µÑñπαá ¿½¿ Σπ¡¬µ¿∩ ñ«½ª¡á «»¿-
-
- B.Pascal 7 & Objects/LR - 188 -
-
- ßδóáΓ∞ß∩ ñ« «»ÑαáΓ«αá exports, ¿ ÑÑ «»¿ßá¡¿Ñ ñ«½ª¡« ß«ñÑαªáΓ∞ ñ¿-
- αÑ¬Γ¿óπ export. ÅÑαÑñ ¿ñÑ¡Γ¿Σ¿¬áΓ«α«¼ ó «»ÑαáΓ«αÑ exports óδ ¼«-
- ªÑΓÑ π¬áºáΓ∞ ¿ñÑ¡Γ¿Σ¿¬áΓ«α ¼«ñπ½∩ ß Γ«τ¬«⌐; φΓ« ¡áºδóáÑΓß∩ »«½-
- ¡«ßΓ∞ε πΓ«τ¡Ñ¡¡δ¼ ¿ñÑ¡Γ¿Σ¿¬áΓ«α«¼.
-
- çỿß∞ φ¬ß»«αΓá ¼«ªÑΓ Γá¬ªÑ ó¬½ετáΓ∞ ó ßÑí∩ «»ÑαáΓ«α index,
- ¬«Γ«αδ⌐ ß«ßΓ«¿Γ ¿º ¬½ετÑó«ú« ß½«óá index, ºá ¬«Γ«αδ¼ ß½ÑñπÑΓ µÑ-
- ½«τ¿ß½Ñ¡¡«Ñ º¡áτÑ¡¿Ñ ó ñ¿á»áº«¡Ñ «Γ 1 ñ« 32767. è«úñá ºáñáÑΓß∩
- «»ÑαáΓ«α index, ñ½∩ φ¬ß»«αΓ¿απѼ«⌐ »α«µÑñπαδ ¿½¿ Σπ¡¬µ¿¿ ñ«½ª¡«
- ¿ß»«½∞º«óáΓ∞ß∩ ߻ѵ¿á½∞¡«Ñ »«α∩ñ¬«ó«Ñ º¡áτÑ¡¿Ñ. àß½¿ ó ºá»¿ß¿
- φ¬ß»«αΓá «»ÑαáΓ«α index «ΓßπΓßΓóπÑΓ, Γ« »«α∩ñ¬«ó«Ñ º¡áτÑ¡¿Ñ »α¿ß-
- óá¿óáÑΓß∩ áóΓ«¼áΓ¿τÑ߬¿.
-
- çỿß∞ ¼«ªÑΓ ß«ñÑαªáΓ∞ «»ÑαáΓ«α name, ß«ßΓ«∩Θ¿⌐ ¿º ¬½ετÑó«ú«
- ß½«óá name, ºá ¬«Γ«αδ¼ ß½ÑñπÑΓ ßΓ᫬«óá∩ ¬«¡ßΓá¡Γá. Åα¿ ¡á½¿τ¿¿
- «»ÑαáΓ«αá name φ¬ß»«αΓ¿απѼá∩ »α«µÑñπαá ¿½¿ Σπ¡¬µ¿∩ ñ«½ª¡á φ¬ß-
- »«αΓ¿α«óáΓ∞ß∩ ß »«¼«Θ∞ε ºáñáóáѼ«ú« ßΓ᫬«ó«⌐ ¬«¡ßΓá¡Γ«⌐ ¿¼Ñ¡¿.
- àß½¿ «»ÑαáΓ«α name ó ºá»¿ß¿ φ¬ß»«αΓá «ΓßπΓßΓóπÑΓ, Γ« »α«µÑñπαá
- ¿½¿ Σπ¡¬µ¿∩ φ¬ß»«αΓ¿απÑΓß∩ »« ÑÑ ¿ñÑ¡Γ¿Σ¿¬áΓ«απ (ß¿¼ó«½δ ¬«Γ«α«ú«
- »αÑ«íαáºπεΓß∩ ó óÑασ¡¿⌐ αÑú¿ßΓα).
-
- ìᬫ¡Ñµ, ºá»¿ß∞ φ¬ß»«αΓá ¼«ªÑΓ ó¬½ετáΓ∞ ó ßÑí∩ ¬½ετÑó«Ñ ß½«-
- ó« resident. Åα¿ ºáñá¡¿¿ ¬½ετÑó«ú« ß½«óá resident ¿¡Σ«α¼áµ¿∩ «í
- φ¬ß»«αΓÑ «ßΓáÑΓß∩ ó »á¼∩Γ¿, »«¬á DLL ºáúαπªÑ¡á. Åáαá¼ÑΓα resident
- ßπΘÑßΓóÑ¡¡« π¼Ñ¡∞ΦáÑΓ óαѼ∩ »«¿ß¬á »«ñ»α«úαá¼¼δ ó DLL »« ¿¼Ñ¡¿.
-
- Åα«úαá¼¼á ¼«ªÑΓ ß«ñÑαªáΓ∞ «»ÑαáΓ«α exports, ¡« φΓ« óßΓαÑτá-
- ÑΓß∩ αÑñ¬«, Γᬠ¬á¬ Windows ¡Ñ »«ºó«½∩ÑΓ »α¿¬½áñ¡δ¼ »α«úαá¼¼á¼
- φ¬ß»«αΓ¿α«óáΓ∞ Σπ¡¬µ¿¿, ¿ß»«½∞ºπѼδÑ ñαπú¿Ñ »α¿¬½áñ¡δ¼¿ »α«úαá¼-
- ¼á¼¿.
-
-
-
- B.Pascal 7 & Objects/LR - 189 -
-
- è«ñ ¿¡¿µ¿á½¿ºáµ¿¿ í¿í½¿«ΓѬ¿
- ─────────────────────────────────────────────────────────────────
-
- Ä»ÑαáΓ«α¡á∩ τáßΓ∞ í¿í½¿«ΓѬ¿ ß«ßΓ«¿Γ ¿º ¬«ñá ¿¡¿µ¿á½¿ºáµ¿¿
- í¿í½¿«ΓѬ¿. è«ñ ¿¡¿µ¿á½¿ºáµ¿¿ óδ»«½¡∩ÑΓß∩ Γ«½∞¬« «ñ¿¡ αẠ»α¿
- »Ñαó«¡áτá½∞¡«⌐ ºáúαπº¬Ñ í¿í½¿«ΓѬ¿. è«úñá ñαπú¿Ñ »α¿¬½áñ¡δÑ »α«ú-
- αá¼¼δ íπñπΓ ¿ß»«½∞º«óáΓ∞ πªÑ ºáúαπªÑ¡¡πε í¿í½¿«ΓѬπ, ¬«ñ ¿¡¿µ¿á-
- ½¿ºáµ¿¿ »«óΓ«α¡« ¡Ñ óδ»«½¡∩ÑΓß∩, ¡« πóѽ¿τ¿óáÑΓß∩ ßτÑΓτ¿¬ ¿ß»«½∞-
- º«óá¡¿∩ DLL.
-
- DLL σαá¡¿Γß∩ ó »á¼∩Γ¿, »«¬á ÑÑ ßτÑΓτ¿¬ ¿ß»«½∞º«óá¡¿∩ í«½∞ΦÑ
- ¡π½∩. è«úñá ßτÑΓτ¿¬ ¿ß»«½∞º«óá¡¿∩ ßΓá¡«ó¿Γß∩ ¡π½Ñóδ¼, π¬áºδóá∩,
- τΓ« óßÑ ¿ß»«½∞ºπεΘ¿Ñ DLL »α¿¬½áñ¡δÑ »α«úαá¼¼δ ºáóÑαΦ¿½¿ αáí«Γπ,
- «¡á πñá½∩ÑΓß∩ ¿º »á¼∩Γ¿. Åα¿ φΓ«¼ óδ»«½¡∩ÑΓß∩ ¬«ñ »α«µÑñπαδ óδσ«-
- ñá. Åα«µÑñπαδ óδσ«ñá αÑú¿ßΓα¿απεΓß∩ ß »«¼«Θ∞ε »ÑαѼѡ¡«⌐
- ExitProc, ¬«Γ«αá∩ «»¿ßδóáÑΓß∩ ó â½áóÑ 22 "é«»α«ßδ π»αáó½Ñ¡¿∩".
-
- è«ñ ¿¡¿µ¿á½¿ºáµ¿¿ DLL «íδτ¡« óδ»«½¡∩ÑΓ Γá¬¿Ñ ºáñáτ¿ ¬á¬ αÑ-
- ú¿ßΓαᵿ∩ ¬½áßßá «¬¡á ñ½∩ ß«ñÑαªáΘ¿σß∩ ó DLL «¬«¡¡δσ »α«µÑñπα ¿
- πßΓá¡«ó¬á ¡áτá½∞¡δσ º¡áτÑ¡¿⌐ ñ½∩ ú½«íá½∞¡δσ »ÑαѼѡ¡δσ DLL. ôßΓá-
- ¡«ó¿ó ó ¡π½Ñó«Ñ º¡áτÑ¡¿Ñ »ÑαѼѡ¡πε ExitCode, ¬«ñ ¿¡¿µ¿á½¿ºáµ¿¿
- í¿í½¿«ΓѬ¿ ¼«ªÑΓ π¬áºáΓ∞ ß«ßΓ«∩¡¿Ñ «Φ¿í¬¿ (ExitCode «»¿ßδóáÑΓß∩ ó
- ¼«ñπ½Ñ System). Å« π¼«½τá¡¿ε ExitCode αáó¡á 1, τΓ« π¬áºδóáÑΓ ¡á
- πß»ÑΦ¡πε ¿¡¿µ¿á½¿ºáµ¿ε. àß½¿ ¬«ñ ¿¡¿µ¿á½¿ºáµ¿¿ πßΓá¡áó½¿óáÑΓ º¡á-
- τÑ¡¿Ñ φΓ«⌐ »ÑαѼѡ¡«⌐ ó 0, Γ« DLL óδúαπªáÑΓß∩ ¿º ß¿ßΓѼ¡«⌐ »á¼∩-
- Γ¿, ¿ óδºδóáεΘá∩ »α¿¬½áñ¡á∩ »α«úαá¼¼á πóÑñ«¼½∩ÑΓß∩ « ¡Ñπñáτ¡«⌐
- ºáúαπº¬Ñ DLL.
-
- è«úñá óδ»«½¡∩ÑΓß∩ í¿í½¿«ΓÑτ¡á∩ »α«µÑñπαá óδσ«ñá, »ÑαѼѡ¡á∩
- ExitCode ¡Ñ ß«ñÑαª¿Γ ¬«ñ ºáóÑαΦÑ¡¿∩ »α«µÑßßá. é¼ÑßΓ« φΓ«ú«
- ExitCode ß«ñÑαª¿Γ «ñ¡« ¿º º¡áτÑ¡¿⌐ wep_System ¿½¿ wep_Free_DLL,
- «»αÑñѽѡ¡δσ ó ¼«ñπ½Ñ WinTypes. wep_System π¬áºδóáÑΓ ¡á ºáóÑαΦÑ-
- ¡¿Ñ αáí«Γδ Windows, á wep_Free_DLL π¬áºδóáÑΓ ¡á Γ«, τΓ« óδúαπªÑ¡á
- ñá¡¡á∩ DLL.
-
- Åα¿óÑñѼ »α¿¼Ñα í¿í½¿«ΓѬ¿ ß ¬«ñ«¼ ¿¡¿µ¿á½¿ºáµ¿¿ ¿ »α«µÑñπ-
- α«⌐ óδσ«ñá:
-
- library Test;
-
- {$S-}
-
- uses WinTypes, WinProcs;
-
- var
- SaveExit: Pointer;
-
- procedure LibExit; far;
- begin
- if ExitCode = wep_System_Exit then
- begin
- .
- .
-
- B.Pascal 7 & Objects/LR - 190 -
-
- .
- { óδ»«½¡∩ÑΓß∩ ºáóÑαΦÑ¡¿Ñ αáí«Γδ ß¿ßΓѼδ }
- .
- .
- .
- end else
- begin
- .
- .
- .
- { αáºúαπªáÑΓß∩ DLL }
- .
- .
- .
- end;
- ExitProcess : SaveExit;
- end;
-
- begin
- .
- .
- .
- { óδ»«½¡¿Γ∞ ¿¡¿µ¿á½¿ºáµ¿ε DLL }
- .
- .
- .
- SaveExit := ExitProc; { ß«σαá¡¿Γ∞ ßΓáαδ⌐ π¬áºáΓѽ∞
- »α«µÑñπαδ óδσ«ñá }
- ExitProc := @LibExit; { πßΓá¡«ó¬á »α«µÑñπαδ óδσ«ñá
- LibExit }
- end.
-
- é ºáΘ¿ΘÑ¡¡«¼ αѪ¿¼Ñ DOS »ÑαÑñáóáѼ«Ñ »α«µÑñπαÑ óδσ«ñá DLL
- º¡áτÑ¡¿Ñ ExitCode óßÑúñá αáó¡« 0 ¿ ß««ΓóÑΓßΓóπÑΓ wep_FREE_DLL.
-
- Å«ß½Ñ αáºúαπº¬¿ DLL φ¬ß»«αΓ¿απѼá∩ Σπ¡¬µ¿∩ óδºδóáÑΓ »α«µÑñπ-
- απ WEP (»α«µÑñπαá óδσ«ñá Windows) DLL, Ñß½¿ «¡á »α¿ßπΓßΓóπÑΓ.
- ü¿í½¿«ΓѬá Borland Pascal áóΓ«¼áΓ¿τÑ߬¿ φ¬ß»«αΓ¿απÑΓ Σπ¡¬µ¿ε WEP,
- ¬«Γ«αá∩ »α«ñ«½ªáÑΓ óδºδóáΓ∞ ºá»¿ßá¡¡δ⌐ ó »ÑαѼѡ¡«⌐ ExitProc áñ-
- αÑß, »«¬á ExitProc ¡Ñ »α¿¼ÑΓ º¡áτÑ¡¿∩ nil. ū߬«½∞¬π φëà ¼Ñσá-
- ¡¿º¼ »α«µÑñπα óδσ«ñá ß««ΓóÑΓßΓóπÑΓ αáí«ΓÑ ß »α«µÑñπαἿ óδσ«ñá ó
- »α«úαá¼¼áσ Borland Pascal, ¿ ó »α«úαá¼¼áσ, ¿ ó í¿í½¿«ΓѬáσ óδ ¼«-
- ªÑΓÑ ¿ß»«½∞º«óáΓ∞ «ñ¡π ¿ Γπ ªÑ ½«ú¿¬π »α«µÑñπα óδσ«ñá.
-
- ū߬«½∞¬π «»Ñαᵿ«¡¡á∩ ß¿ßΓÑ¼á »α¿ ºáóÑαΦÑ¡¿¿ DLL »ÑαѬ½ετá-
- ÑΓ ó¡πΓαÑ¡¡¿⌐ ßΓѬ, »α«µÑñπαδ óδσ«ñá ó DLL ñ«½ª¡δ ¬«¼»¿½¿α«óáΓ∞ß∩
- ß ºá»αÑΘÑ¡¿Ñ¼ »α«óÑન ßΓѬá (ó ß«ßΓ«∩¡¿¿ {$S-}). èα«¼Ñ Γ«ú«, Ñß-
- ½¿ ó »α«µÑñπαÑ óδσ«ñá DLL »α«¿ßσ«ñ¿Γ «Φ¿í¬á φΓá»á óδ»«½¡Ñ¡¿∩,
- «»Ñαᵿ«¡¡á∩ ß¿ßΓѼá áóáα¿⌐¡« ºáóÑαΦáÑΓ αáí«Γπ, »«φΓ«¼π óδ ñ½∩
- »αÑñ«ΓóαáΘÑ¡¿∩ «Φ¿í«¬ φΓá»á óδ»«½¡Ñ¡¿∩ óδ ñ«½ª¡δ ó¬½ετ¿Γ∞ ó ßó«⌐
- ¬«ñ ñ«ßΓáΓ«τ¡«Ñ ¬«½¿τÑßΓó« »α«óÑ᫬.
-
-
-
- B.Pascal 7 & Objects/LR - 191 -
-
- çá¼Ñτá¡¿∩ »« »α«úαá¼¼¿α«óá¡¿ε í¿í½¿«ΓѬ
- ─────────────────────────────────────────────────────────────────
-
- é ß½ÑñπεΘ¿σ αáºñѽáσ «»¿ßá¡δ ¡Ñ¬«Γ«αδÑ ó᪡δÑ ¼«¼Ñ¡Γδ, ¬«Γ«-
- αδÑ ß½ÑñπÑΓ ¿¼ÑΓ∞ ó ó¿ñπ »α¿ αáí«ΓÑ ß DLL.
-
- ⽫íá½∞¡δÑ »ÑαѼѡ¡δÑ ó DLL
- ─────────────────────────────────────────────────────────────────
-
- DLL ¿¼ÑÑΓ ßó«⌐ ß«íßΓóÑ¡¡δ⌐ ßÑú¼Ñ¡Γ ñá¡¡δσ, ¿ ½εíá∩ «»¿ßá¡¡á∩
- ó DLL »ÑαѼѡ¡á∩ ∩ó½∩ÑΓß∩ ½«¬á½∞¡«⌐ ñ½∩ φΓ«⌐ DLL. DLL ¡Ñ ¼«ªÑΓ
- »«½πτ¿Γ∞ ñ«ßΓπ» ¬ »ÑαѼѡ¡δ¼, «»¿ßá¡¡δ¼ ó óδºδóáεΘ¿σ DLL ¼«ñπ½∩σ,
- ¿ ¡Ñ ¼«ªÑΓ φ¬ß»«αΓ¿α«óáΓ∞ »ÑαѼѡ¡δÑ ó ñαπú¿Ñ ¼«ñπ½¿. Æá¬«⌐ ñ«ß-
- Γπ» ñ«½ªÑ¡ αÑ὿º«óδóáΓ∞ß∩ τÑαѺ »α«µÑñπα¡δ⌐ ¿¡ΓÑαΣÑ⌐ß.
-
- ⽫íá½∞¡δÑ »ÑαѼѡ¡δÑ ¿ Σá⌐½δ ó DLL
- ─────────────────────────────────────────────────────────────────
-
- èᬠ»αá󿽫, DLL ¡Ñ ∩ó½∩ÑΓß∩ "ó½áñѽ∞µÑ¼" ¬á¬¿σ-½¿í« «Γ¬αδ-
- óáѼδσ Ñ⌐ Σá⌐½«ó ¿½¿ »«½πτáѼδσ Ñ⌐ «Γ ß¿ßΓѼδ ú½«íá½∞¡δσ í½«¬«ó
- »á¼∩Γ¿. Æá¬¿¼¿ «íΩѬΓἿ ó½áñÑÑΓ (»α∩¼« ¿½¿ ¬«ßóÑ¡¡«) ßá¼á »α¿¬-
- ½áñ¡á∩ »α«úαá¼¼á, óδºδóáεΘá∩ DLL.
-
- è«úñá »α¿¬½áñ¡á∩ »α«úαá¼¼á ºáóÑαΦáÑΓ αáí«Γπ, ½εíδÑ «Γ¬αδΓδÑ
- Σá⌐½δ, ó½áñѽ∞µÑ¼ ¬«Γ«αδσ «¡á ∩ó½∩ÑΓß∩, áóΓ«¼áΓ¿τÑ߬¿ ºá¬αδóáεΓ-
- ß∩, á óßÑ »α¿¡áñ½ÑªáΘ¿Ñ Ñ⌐ ú½«íá½∞¡δÑ í½«¬¿ »á¼∩Γ¿ áóΓ«¼áΓ¿τÑ߬¿
- «ßó«í«ªñáεΓß∩. ¥Γ« «º¡áτáÑΓ, τΓ« «»¿ßáΓѽ¿ ñá¡¡δσ Σá⌐½«ó ¿ í½«¬«ó
- »á¼∩Γ¿, ºá»¿ßá¡¡δÑ ó DLL ó ú½«íá½∞¡δσ »ÑαѼѡ¡δσ, ¼«úπΓ ó ½εí«Ñ
- óαѼ∩ ßΓáΓ∞ ¡Ññ«»πßΓ¿¼δ¼¿ íѺ πóÑñ«¼½Ñ¡¿∩ DLL. Å« φΓ«⌐ »α¿τ¿¡Ñ
- DLL ¡Ñ ß½ÑñπÑΓ »«½áúáΓ∞ß∩ ¡á ñ«»πßΓ¿¼«ßΓ∞ «»¿ßáΓѽ∩ Σá⌐½á ¿ ú½«-
- íá½∞¡δσ «»¿ßáΓѽÑ⌐ »á¼∩Γ¿, σαá¡∩Θ¿σß∩ ¼Ñªñπ «íαáΘÑ¡¿∩¼¿ ¬ DLL ó
- ú½«íá½∞¡δσ »ÑαѼѡ¡δσ. Æá¬¿Ñ «»¿ßáΓѽ¿ ß½ÑñπÑΓ ßñѽáΓ∞ »áαá¼ÑΓαá-
- ¼¿ »α«µÑñπα ¿ Σπ¡¬µ¿⌐ DLL, ¿ óδºδóáεΘá∩ »α¿¬½áñ¡á∩ »α«úαá¼¼á
- ñ«½ª¡á «ΓóÑτáΓ∞ ºá ¿σ »«ññÑ᪬π.
-
- é Windows ú½«íá½∞¡δÑ í½«¬¿ »á¼∩Γ¿, αáß»αÑñѽѡ¡δÑ ß áΓα¿íπ-
- Γ«¼ gmem_DDEShare («»αÑñѽѡ¡δÑ ó ¼«ñπ½Ñ WinTypes), »α¿¡áñ½ÑªáΓ
- DLL, á ¡Ñ óδºδóáεΘ¿¼ »α¿¬½áñ¡δ¼ »α«úαá¼¼á¼. Æá¬¿Ñ í½«¬¿ »á¼∩Γ¿
- «ßΓáεΓß∩ αáß»αÑñѽѡ¡δ¼¿, »«¬á «¡¿ ∩ó¡« ¡Ñ «ßó«í«ªñáεΓß∩ DLL, ¿½¿
- »«¬á DLL ¡Ñ óδúαπªáÑΓß∩.
-
- Çñ¼¿¡¿ßΓαáΓ«α »á¼∩Γ¿ ºáΘ¿ΘÑ¡¡«ú« αѪ¿¼á DOS ¡Ñ »«ññÑনóáÑΓ
- ß«ó¼ÑßΓ¡« ¿ß»«½∞ºπѼδσ í½«¬«ó »á¼∩Γ¿ ¿ ¿ú¡«α¿απÑΓ Σ½áú
- gmem_DDEShare. é ºáΘ¿ΘÑ¡¡«¼ αѪ¿¼Ñ DOS αáß»αÑñѽ∩ѼδÑ DLL í½«¬¿
- »á¼∩Γ¿ óßÑúñá »α¿¡áñ½ÑªáΓ óδºδóáεΘÑ⌐ í¿í½¿«ΓѬπ DLL »α«úαá¼¼Ñ.
-
- DLL ¿ ¼«ñπ½∞ System
- ─────────────────────────────────────────────────────────────────
-
- é »α«ñ«½ªÑ¡¿¿ ßπΘÑßΓó«óá¡¿∩ DLL »ÑαѼѡ¡á∩ HInstance ß«ñÑα-
- ª¿Γ «»¿ßáΓѽ∞ φ¬ºÑ¼»½∩αá DLL. ÅÑαѼѡ¡δÑ FPrevInst ¿ CmdShow ó
- DLL óßÑúñá αáó¡δ 0 (¬á¬ ¿ »ÑαѼѡ¡á∩ PrefixSeg), »«ß¬«½∞¬π DLL ¡Ñ
- ¿¼ÑÑΓ »αÑΣ¿¬ßá »α«úαá¼¼¡«ú« ßÑú¼Ñ¡Γá (PSP). é »α¿¬½áñ¡«⌐ »α«úαá¼-
-
- B.Pascal 7 & Objects/LR - 192 -
-
- ¼Ñ PrefixSeg ¡¿¬«úñá ¡Ñ αáó¡á 0, »«φΓ«¼π »α«óÑα¬á PrefixSeg <> 0
- ó«ºóαáΘáÑΓ True, Ñß½¿ ΓѬπΘѼ ¼«ñπ½Ñ¼ ∩ó½∩ÑΓß∩ »α¿¬½áñ¡á∩ »α«ú-
- αá¼¼á, ¿ False, Ñß½¿ ΓѬπΘ¿¼ ¼«ñπ½Ñ¼ ∩ó½∩ÑΓß∩ DLL.
-
- ùΓ«íδ «íÑß»Ñτ¿Γ∞ »αáó¿½∞¡πε αáí«Γπ áñ¼¿¡¿ßΓαáΓ«αá ñ¿¡á¼¿τÑß-
- ¬¿ αáß»αÑñѽ∩Ѽ«⌐ «í½áßΓ¿, ß«ñÑαªáΘÑú«ß∩ ó ¼«ñπ½Ñ System, ¬«ñ ºá-
- »π߬á í¿í½¿«ΓѬ¿ πßΓá¡áó½¿óáÑΓ »ÑαѼѡ¡πε HeapAllocFlags ó º¡áτÑ-
- ¡¿Ñ gmem_Moveable + gmem_DDEShare. é Windows φΓ« »α¿ó«ñ¿Γ ¬ Γ«¼π,
- τΓ« óßÑ í½«¬¿ »á¼∩Γ¿, αáß»αÑñѽѡ¡δÑ τÑαѺ »α«µÑñπαδ New ¿
- GetMem, íπñπΓ »α¿¡áñ½ÑªáΓ∞ DLL, á ¡Ñ óδºδóáεΘÑ⌐ ÑÑ »α¿¬½áñ¡«⌐
- »α«úαá¼¼Ñ.
-
- Åα¿¼Ñτá¡¿Ñ: Å«ñα«í¡«ßΓ¿ «í áñ¼¿¡¿ßΓαáΓ«αÑ »á¼∩Γ¿ óδ
- ¼«ªÑΓÑ ¡á⌐Γ¿ ó â½áóÑ 21.
-
- ÄΦ¿í¬¿ φΓá»á óδ»«½¡Ñ¡¿∩ ó DLL
- ─────────────────────────────────────────────────────────────────
-
- àß½¿ ó DLL »α«¿ßσ«ñ¿Γ «Φ¿í¬á φΓá»á óδ»«½¡Ñ¡¿∩, óδºδóáεΘá∩
- DLL »α¿¬½áñ¡á∩ »α«úαá¼¼á ºáóÑαΦáÑΓ αáí«Γπ. Åα¿ φΓ«¼ ßá¼á DLL ¡Ñ
- «í∩ºáΓѽ∞¡« πñá½∩ÑΓß∩ ¿º »á¼∩Γ¿, »«ß¬«½∞¬π «¡á ¼«ªÑΓ ¿ß»«½∞º«-
- óáΓ∞ß∩ ñαπú¿¼¿ »α¿¬½áñ¡δ¼¿ »α«úαἼἿ.
-
- ū߬«½∞¬π DLL ¡Ñ ¼«ªÑΓ º¡áΓ∞, óδºδóáÑΓß∩ ½¿ «¡á ¿º »α¿¬½áñ-
- ¡«⌐ »α«úαá¼¼δ Borland Pascal ¿½¿ ¿º »α¿¬½áñ¡«⌐ »α«úαá¼¼δ, ¡á»¿-
- ßá¡¡«⌐ ¡á ñαπú«¼ ∩ºδ¬Ñ »α«úαá¼¼¿α«óá¡¿∩, Γ« DLL ¡Ñ ¼«ªÑΓ óδºδóáΓ∞
- »α«µÑñπαδ óδσ«ñá »α¿¬½áñ¡«⌐ »α«úαá¼¼δ ñ« ºáóÑαΦÑ¡¿∩ »α¿¬½áñ¡«⌐
- »α«úαá¼¼δ. Åਪ½áñ¡á∩ »α«úαá¼¼á »α«ßΓ« »αÑαδóáÑΓß∩ ¿ óδúαπªáÑΓß∩
- ¿º »á¼∩Γ¿. Å« φΓ«⌐ »α¿τ¿¡Ñ, τΓ«íδ Γᬿσ «Φ¿í«¬ ¡Ñ »α«¿ßσ«ñ¿½«,
- ¡πª¡« «íÑß»Ñτ¿Γ∞ ó DLL ñ«ßΓáΓ«τ¡«Ñ ¬«½¿τÑßΓó« »α«óÑ᫬.
-
- àß½¿ ó DLL »«ñ Windows »α«¿ßσ«ñ¿Γ «Φ¿í¬á φΓá»á óδ»«½¡Ñ¡¿∩,
- Γ« ¡áñѪ¡ÑÑ óßÑú« »«½¡«ßΓ∞ε óδ⌐Γ¿ ó Windows. àß½¿ óδ »α«ßΓ« »δΓá-
- ÑΓÑß∞ ¼«ñ¿Σ¿µ¿α«óáΓ∞ ¿ »ÑαÑßΓα«¿Γ∞ ßí«⌐¡δ⌐ ¬«ñ DLL, á ºáΓѼ ß¡«óá
- óδ»«½¡¿Γ∞ »α¿¬½áñ¡πε »α«úαá¼¼π, Windows ¡Ñ íπñÑΓ ºáúαπªáΓ∞ ¡«óπε
- óÑαß¿ε, Ñß½¿ «Φ¿í«τ¡á∩ óÑαß¿∩ πªÑ ¡áσ«ñ¿Γß∩ ó »á¼∩Γ∞. éδ⌐ñ¿ΓÑ ¿º
- Windows ¿ »ÑαѺá»πßΓ¿ΓÑ ÑÑ, á Borland Pascal «íÑß»Ñτ¿Γ ºáúαπº¬π
- ¬«ααÑ¬Γ¡«⌐ óÑαß¿¿ DLL.
-
- DLL ¿ ßÑú¼Ñ¡Γδ ßΓѬá
- ─────────────────────────────────────────────────────────────────
-
- é «Γ½¿τ¿Ñ «Γ »α¿¬½áñ¡«⌐ »α«úαá¼¼δ DLL ¡Ñ ¿¼ÑÑΓ ßó«Ñú« ß«íß-
- ΓóÑ¡¡«ú« ßÑú¼Ñ¡Γá ßΓѬá. é¼ÑßΓ« φΓ«ú« «¡á ¿ß»«½∞ºπÑΓ ßÑú¼Ñ¡Γ ßΓÑ-
- ¬á óδºδóáεΘÑ⌐ DLL »α¿¬½áñ¡«⌐ »α«úαá¼¼δ. ¥Γ« ¼«ªÑΓ ß«ºñáΓ∞ »α«í½Ñ-
- ¼δ ó »«ñ»α«úαá¼¼Ñ DLL, ¬«Γ«αδÑ »«½áúáεΓ, τΓ« αÑú¿ßΓαδ DS ¿ SS
- ßßδ½áεΓß∩ ¡á «ñ¿¡ ¿ ëà ªÑ ßÑú¼Ñ¡Γ, ¬á¬ φΓ« ¿¼ÑÑΓ ¼ÑßΓ« ó ¼«ñπ½Ñ
- »α¿¬½áñ¡«⌐ »α«úαá¼¼δ Windows.
-
- Borland Pascal ¡¿¬«úñá ¡Ñ úÑ¡Ñα¿απÑΓ ¬«ñ, »«ñαáºπ¼ÑóáεΘ¿⌐
- αáóÑ¡ßΓó« DS = SS, ¿ ó í¿í½¿«ΓÑ¬Ñ ¿ß»«½¡∩εΘÑ⌐ ß¿ßΓѼδ Borland
- Pascal Γᬿσ »αÑñ»«½«ªÑ¡¿⌐ ¡Ñ ñѽáÑΓß∩. àß½¿ óδ »¿ΦÑΓÑ ¬«ñ ¡á
- ∩ºδ¬Ñ áßßѼí½Ñαá, Γ« ¡Ñ »«½áúá⌐ΓÑß∞ ¡á Γ«, τΓ« αÑú¿ßΓαδ DS ¿ SS
-
- B.Pascal 7 & Objects/LR - 193 -
-
- ß«ñÑαªáΓ «ñ¡« ¿ Γ« ªÑ º¡áτÑ¡¿Ñ.
-
- 櫺ñá¡¿Ñ ß«ó¼ÑßΓ¡« ¿ß»«½∞ºπѼδσ DLL
- ─────────────────────────────────────────────────────────────────
-
- Borland Pascal »«ññÑনóáÑΓ DLL, ¬«Γ«αδÑ ¼«úπΓ ß«ó¼ÑßΓ¡« ¿ß-
- »«½∞º«óáΓ∞ß∩ ó ºáΘ¿ΘÑ¡¡«¼ αѪ¿¼Ñ DOS ¿ ó Windows. æ«ó¼ÑßΓ¡« ¿ß-
- »«½∞ºπѼδÑ DLL ß«ó¼ÑßΓ¿¼δ ¡á πα«ó¡Ñ ñó«¿τ¡«ú« ¬«ñá. ¥Γ« «º¡áτáÑΓ,
- τΓ« «ñ¿¡ ¿ ëà ªÑ Σá⌐½ .DLL ¼«ªÑΓ ¿ß»«½∞º«óáΓ∞ß∩ ó »α¿¬½áñ¡«⌐
- »α«úαá¼¼Ñ ºáΘ¿ΘÑ¡¡«ú« αѪ¿¼á DOS ¿½¿ ó »α¿¬½áñ¡«⌐ »α«úαá¼¼Ñ
- Windows.
-
- Åα¿ ¬«¼»¿½∩µ¿¿ ß«ó¼ÑßΓ¡« ¿ß»«½∞ºπѼ«⌐ DLL ó ¬áτÑßΓóÑ µÑ½Ñó«⌐
- »½áΓΣ«α¼δ ¡πª¡« óδí¿αáΓ∞ Windows:
-
- * é IDE óδíÑα¿ΓÑ ¬«¼á¡ñπ Compile│Target ¿ ó ñ¿á½«ú«ó«¼ «¬¡Ñ
- Target (ûѽÑóá∩ »½áΓΣ«α¼á) π¬áª¿ΓÑ Windows.
-
- * Åα¿ ¿ß»«½∞º«óá¡¿¿ ¬«¼»¿½∩Γ«αá, αáí«ΓáεΘÑú« ó αѪ¿¼Ñ ¬«-
- ¼á¡ñ¡«⌐ ßΓ᫬¿, ñ½∩ óδí«αá ó ¬áτÑßΓóÑ µÑ½Ñó«⌐ »½áΓΣ«α¼δ
- Windows ¿ß»«½∞ºπ⌐ΓÑ »ÑαѬ½ετáΓѽ∞ /CW.
-
- DLL, ߬«¼»¿½¿α«óá¡¡á∩ ñ½∩ ºáΘ¿ΘÑ¡¡«ú« αѪ¿¼á DOS, »«ñ
- Windows ¿ß»«½∞º«óáΓ∞ß∩ ¡Ñ ¼«ªÑΓ, Γᬠ¬á¬ í¿í½¿«ΓÑ¬á ¿ß»«½¡∩εΘÑ⌐
- ß¿ßΓÑ¼δ ºáΘ¿ΘÑ¡¡«ú« αѪ¿¼á DOS ¿ß»«½∞ºπÑΓ «Γñѽ∞¡δÑ Σπ¡¬µ¿«¡á½∞-
- ¡δÑ ó맮óδ DOS ¿ DPMI, ¬«Γ«αδÑ ß½ÑñπÑΓ ¿ºíÑúáΓ∞ ó Windows.
-
- æ«ó¼ÑßΓ¡« ¿ß»«½∞ºπѼá∩ DLL ¼«ªÑΓ óºá¿¼«ñÑ⌐ßΓó«óáΓ∞ ß «»Ñαá-
- µ¿«¡¡«⌐ ß¿ßΓѼ«⌐ (DOS ºáΘ¿ΘÑ¡¡«ú« αѪ¿¼Ñ ¿½¿ Windows) Γ«½∞¬« τÑ-
- αѺ ¼«ñπ½∞ WinAPI. ¥Γ«Γ ¼«ñπ½∞ »αÑñßΓáó½∩ÑΓ Σπ¡¬µ¿¿, «íΘ¿Ñ ñ½∩
- ºáΘ¿ΘÑ¡¡«ú« αѪ¿¼á DOS ¿ Windows. äαπú¿Ñ ¿¡ΓÑαΣÑ⌐ß¡δÑ ¼«ñπ½¿
- Windows, Γá¬¿Ñ ¬á¬ WinTypes ¿ WinProcs, «»¿ßδóáεΓ í«½∞Φ«Ñ τ¿ß½«
- »«ñ»α«úαá¼¼ API, ¡Ñ »«ññÑনóáѼδσ ó ºáΘ¿ΘÑ¡¡«¼ αѪ¿¼Ñ DOS.
-
- Åα¿¼Ñτá¡¿Ñ: Ä ¼«ñπ½Ñ WinAPI αáß߬áºδóáÑΓß∩ ó â½áóÑ 17
- "Åα«úαá¼¼¿α«óá¡¿Ñ ó ºáΘ¿ΘÑ¡¡«¼ αѪ¿¼Ñ DOS".
-
- é᪡« «Γ¼ÑΓ¿Γ∞, τΓ« σ«Γ∩ ß«ó¼ÑßΓ¡« ¿ß»«½∞ºπѼá∩ DLL ¼«ªÑΓ
- óδ»«½¡∩Γ∞ß∩ «ñ¡«óαѼѡ¡« ¿ »«ñ Windows, ó «¬¡Ñ ºáΘ¿ΘÑ¡¡«ú« αѪ¿¼á
- Windows DOS, ßó∩º∞ τÑαѺ DLL ¼Ñªñπ ñóπ¼∩ «»Ñαᵿ«¡¡δ¼¿ ßαÑñἿ
- ¡Ñ󫺼«ª¡á. ÉÑá½∞¡« ó ß¿ßΓÑ¼Ñ íπñÑΓ »α¿ßπΓßΓó«óáΓ∞ ñóÑ ¬«»¿¿ DLL,
- ¬áªñá∩ ¿º ¬«Γ«αδσ ºáΘ¿ΘÑ¡á «Γ ñαπú«⌐ ¿ ¿ß»«½∞ºπÑΓ »«½¡«ßΓ∞ε ¿º«-
- ½¿α«óá¡¡πε «í½áßΓ∞ »á¼∩Γ¿.
-
- B.Pascal 7 & Objects/LR - 194 -
-
- ───────────────────────────────────────────────────────────────────────
- ùáßΓ∞ II. â½áóá 12. ü¿í½¿«ΓѬ¿ ¿ß»«½¡∩εΘÑ⌐ ß¿ßΓѼδ
- ─────────────────────────────────────────────────────────────────
-
- Borland Pascal ó¬½ετáÑΓ ó ßÑí∩ í¿í½¿«ΓѬ¿ ¿ß»«½¡∩εΘÑ⌐ ß¿ßΓÑ-
- ¼δ ñ½∩ ºáΘ¿ΘÑ¡¡«ú« αѪ¿¼á DOS, αÑá½∞¡«ú« αѪ¿¼á DOS ¿ Windows.
- ìá¿í«½ÑÑ τáßΓ« ¿ß»«½∞ºπѼδÑ í¿í½¿«ΓѬ¿ ¿ß»«½¡∩εΘÑ⌐ ß¿ßΓÑ¼δ ¡áσ«-
- ñ∩Γß∩ ó Σá⌐½áσ TURBO.TPL (αÑá½∞¡δ⌐ αѪ¿¼ DOS), TPP.TPL (ºáΘ¿ΘÑ¡-
- ¡δ⌐ αѪ¿¼ DOS) ¿ TPW.TPL (Windows). ä«»«½¡¿Γѽ∞¡δÑ ¼«ñ㫨 »«ßΓáó-
- ½∩εΓß∩ ó «Γñѽ∞¡δσ Σá⌐½áσ .TPU, .TPP ¿ .TPW.
-
- * ä½∩ αÑá½∞¡«ú« αѪ¿¼á DOS í¿í½¿«ΓѬá TURBO.TPL ß«ñÑαª¿Γ ¼«-
- ñ㫨 System, Overlay, Crt, Dos ¿ Printer. èα«¼Ñ Γ«ú«, ó
- «Γñѽ∞¡δσ Σá⌐½áσ .TPU »«ßΓáó½∩εΓß∩ ¼«ñ㫨 Graph, Strings,
- WinDos, Turbo3 ¿ Graph3.
-
- * ä½∩ ºáΘ¿ΘÑ¡¡«ú« αѪ¿¼á DOS í¿í½¿«ΓѬá TPP.TPL ß«ñÑαª¿Γ ¼«-
- ñ㫨 System, Crt, Dos, Printer, Strings, WinDos ¿ WinAPI.
- èα«¼Ñ Γ«ú«, ó ó¿ñÑ «Γñѽ∞¡«ú« Σá⌐½á .TPP »«ßΓáó½∩ÑΓß∩ ¼«-
- ñπ½∞ Graph.
-
- * ä½∩ Windows í¿í½¿«ΓѬá TPW.TPL ß«ñÑαª¿Γ ¼«ñ㫨 System,
- Strings, WinTypes, WinProcs, Win31, WinAPI, WinDos, WinCrt
- ¿ WinPrn. é ó¿ñÑ ¿ßσ«ñ¡«ú« ¬«ñá »«ßΓáó½∩εΓß∩ ¡Ñ¬«Γ«αδÑ ñ«-
- »«½¡¿Γѽ∞¡δÑ ¼«ñ㫨 Windows.
-
- èα«¼Ñ í¿í½¿«ΓѬ ¿ß»«½¡∩εΘÑ⌐ ß¿ßΓѼδ, Borland Pascal ó¬½ετáÑΓ
- ó ßÑí∩ »α¿¬½áñ¡πε ßαÑñπ Turbo Vision ñ½∩ αÑá½∞¡«ú« ¿ ºáΘ¿ΘÑ¡¡«ú«
- αѪ¿¼á DOS ¿ »α¿¬½áñ¡πε ßαÑñπ ObjectWindows ñ½∩ Windows. ¥Γ¿ í¿í-
- ½¿«ΓѬ¿ «»¿ßá¡δ ó "Éπ¬«ó«ñßΓóÑ »« »α«úαá¼¼¿α«óá¡¿ε ß Turbo
- Vision" ¿ ó "Éπ¬«ó«ñßΓóÑ »« »α«úαá¼¼¿α«óá¡¿ε ß ¿ß»«½∞º«ó᡿Ѽ
- ObjectWindows".
-
- é ñá¡¡«⌐ ú½áóÑ ¬αáΓ¬« «»¿ßδóáÑΓß∩ ¬áªñδ⌐ ¼«ñπ½∞ í¿í½¿«ΓѬ¿
- ¿ß»«½¡∩εΘÑ⌐ ß¿ßΓѼδ.
-
- î«ñ㫨 Borland Pascal
- ─────────────────────────────────────────────────────────────────
-
- Borland Pascal «íÑß»Ñτ¿óáÑΓ óá¼ ñ«ßΓπ» ¬ í«½∞Φ«¼π τ¿ß½π
- óßΓα«Ñ¡¡δσ ¬«¡ßΓá¡Γ, Γ¿»«ó ñá¡¡δσ, »ÑαѼѡ¡δσ, »α«µÑñπα ¿ Σπ¡¬-
- µ¿⌐. ìѬ«Γ«αδÑ ¿º ¡¿σ ߻ѵ¿Σ¿τ¡δ ñ½∩ Borland Pascal, ñαπú¿Ñ ß»Ñ-
- µ¿Σ¿τ¡δ ñ½∩ »α«úαá¼¼¿α«óá¡¿∩ »α¿¬½áñ¡δσ ºáñáτ ñ½∩ Windows ¿½¿
- Dos. êσ ¬«½¿τÑßΓó« óѽ¿¬«, «ñ¡á¬«, ó ßó«Ñ⌐ »α«úαá¼¼Ñ óδ αÑñ¬« ¿ß-
- »«½∞ºπÑΓÑ ¿σ óßÑ ßαáºπ. Å«φΓ«¼π «¡¿ αáºñÑ½Ñ¡δ ¡á ßó∩ºá¡¡δÑ úαπ»-
- »δ, ¡áºδóáѼδÑ ¼«ñπ½∩¼¿. é φΓ«¼ ß½πτáÑ ¼«ª¡« ¿ß»«½∞º«óáΓ∞ Γ«½∞¬«
- ΓÑ ¼«ñπ½¿, ¬«Γ«αδÑ ¡Ñ«íσ«ñ¿¼δ ó »α«úαá¼¼Ñ.
-
- Åα«úαá¼¼¡δ⌐ ¼«ñπ½∞ (unit) »αÑñßΓáó½∩ÑΓ ß«í«⌐ ¡áí«α ¬«¡ßΓá¡Γ,
- Γ¿»«ó ñá¡¡δσ, »ÑαѼѡ¡δσ, »α«µÑñπα ¿ Σπ¡¬µ¿⌐. èáªñδ⌐ ¼«ñπ½∞ á¡á-
- ½«ú¿τÑ¡ «Γñѽ∞¡«⌐ »α«úαá¼¼Ñ ¡á Åá߬á½Ñ: «¡ ¼«ªÑΓ ¿¼ÑΓ∞ «ß¡«ó¡«Ñ
- Γѽ«, ¬«Γ«α«Ñ óδºδóáÑΓß∩ »ÑαÑñ ºá»π߬«¼ óáΦÑ⌐ »α«úαá¼¼δ ¿ «ßπ-
- ΘÑßΓó½∩ÑΓ ¡Ñ«íσ«ñ¿¼πε ¿¡¿µ¿á½¿ºáµ¿ε. è«α«τÑ ú«ó«α∩, ¼«ñπ½∞ »αÑñß-
- Γáó½∩ÑΓ ß«í«⌐ í¿í½¿«ΓÑ¬π «»¿ßá¡¿⌐, ¬«Γ«απε ¼«ª¡« óßΓáó¿Γ∞ ó »α«ú-
-
- B.Pascal 7 & Objects/LR - 195 -
-
- αá¼¼π ¿ ¬«Γ«αá∩ »«ºó«½¿Γ αáºí¿Γ∞ »α«úαá¼¼π ¡á τáßΓ¿, ¬«¼»¿½¿απÑ-
- ¼δÑ «Γñѽ∞¡«.
-
- î«ñπ½∞ «íÑß»Ñτ¿óáÑΓ ¡áí«α ßαÑñßΓó í½áú«ñáα∩ óσ«ñ∩Θ¿¼ ó ¡Ñú«
- »α«µÑñπαá¼ ¿ Σπ¡¬µ¿∩¼ »α¿ »«ññÑαª¬Ñ ¬«¡ßΓá¡Γ, Γ¿»«ó ñá¡¡δσ ¿ »Ñ-
- αѼѡ¡δσ, «ñ¡á¬« ñÑ⌐ßΓó¿Γѽ∞¡á∩ αÑ὿ºáµ¿∩ φΓ¿σ ßαÑñßΓó ߬αδΓá ó
- ß¿½π Γ«ú«, τΓ« ¼«ñπ½∞ αáºñѽѡ ¡á ñóÑ τáßΓ¿: ¿¡ΓÑαΣÑ⌐ß ¿ αÑ὿ºá-
- µ¿ε. àß½¿ »α«úαá¼¼á ¿ß»«½∞ºπÑΓ ¼«ñπ½∞, Γ« óßÑ «»¿ßá¡¿∩ ¼«ñπ½∩
- ßΓá¡«ó∩Γß∩ ñ«ßΓπ»¡δ¼¿ φΓ«⌐ »α«úαá¼¼Ñ, ¬á¬ Ñß½¿ íδ «¡¿ í뫨 «»αÑ-
- ñѽѡδ ó ¡Ñ⌐ ßἫ⌐.
-
- æΓαπ¬Γπαá ¼«ñπ½∩ á¡á½«ú¿τ¡á ßΓαπ¬ΓπαÑ »α«úαá¼¼δ. éßÑ «»¿ßá-
- ¡¿∩ ó¡πΓα¿ ¼«ñπ½∩ ßó∩ºá¡δ ñαπú ß ñαπú«¼. ìá»α¿¼Ñα, ¼«ñπ½∞ Strings
- ß«ñÑαª¿Γ óßÑ «»¿ßá¡¿∩, ¡Ñ«íσ«ñ¿¼δÑ ñ½∩ »«ñ»α«úαá¼¼ «íαáí«Γ¬¿
- ßΓ᫬, ºá¬á¡τ¿óáεΘ¿σß∩ ¡π½Ñóδ¼ ß¿¼ó«½«¼.
-
-
- î«ñπ½∞ System
- ─────────────────────────────────────────────────────────────────
-
- î«ñπ½∞ System αÑ὿ºπÑΓ »«ññÑনóáεΘ¿Ñ »«ñ»α«úαá¼¼δ ¡¿ª¡Ñú«
- πα«ó¡∩ ñ½∩ óßÑσ óßΓα«Ñ¡¡δσ ßαÑñßΓó, Γᬿσ ¬á¬ óó«ñ-óδó«ñ, αáí«Γá
- ß« ßΓα«¬á¼¿, «»Ñαᵿ¿ ß »½áóáεΘÑ⌐ Γ«τ¬«⌐ ¿ ñ¿¡á¼¿τÑ߬«Ñ αáß»αÑñÑ-
- ½Ñ¡¿Ñ »á¼∩Γ¿.
-
- î«ñπ½∞ System ß«ñÑαª¿Γ óßÑ ßΓá¡ñáαΓ¡δÑ ¿ óßΓα«Ñ¡¡δÑ »α«µÑñπ-
- αδ ¿ Σπ¡¬µ¿¿ Borland Pascal. ïεíá∩ »«ñ»α«úαá¼¼á Borland Pascal,
- ¡Ñ ∩ó½∩εΘá∩ß∩ τáßΓ∞ε ßΓá¡ñáαΓ¡«ú« Åá߬á½∩ ¿ ¡Ñ ¡áσ«ñ∩Θá∩ß∩ ¡¿ ó
- ¬á¬«¼ ñαπú«¼ ¼«ñπ½Ñ, ß«ñÑনΓß∩ ó ¼«ñπ½Ñ System. ¥Γ«Γ ¼«ñπ½∞ áó-
- Γ«¼áΓ¿τÑ߬¿ ¿ß»«½∞ºπÑΓß∩ ó« óßÑσ »α«úαá¼¼áσ, ¿ Ñú« ¡Ñ ΓαÑíπÑΓß∩
- π¬áºδóáΓ∞ ó «»ÑαáΓ«αÑ uses.
-
-
- î«ñπ½∞ Dos ¿ WinDos
- ─────────────────────────────────────────────────────────────────
-
- î«ñ㫨 Dos ¿ WinDos αÑ὿ºπεΓ ¼¡«ú«τ¿ß½Ñ¡¡δÑ »α«µÑñπαδ ¿
- Σπ¡¬µ¿¿ Åá߬á½∩, ¬«Γ«αδÑ φ¬ó¿óá½Ñ¡Γ¡δ ¡á¿í«½ÑÑ τáßΓ« ¿ß»«½∞ºπѼδ¼
- ó맮óá¼ DOS, ¬á¬ ¡á»α¿¼Ñα, GetÆime, SetÆime, DiskSize ¿ Γᬠñá-
- ½ÑÑ. èα«¼Ñ Γ«ú«, WinDos «»αÑñѽ∩ÑΓ ñóÑ »α«úαá¼¼δ ¡¿º¬«ú« πα«ó¡∩
- îsDos ¿ Intr, ¬«Γ«αδÑ »«ºó«½∩εΓ á¬Γ¿ó¿º¿α«óáΓ∞ ½εí«⌐ ó맮ó MS-DOS
- ¿½¿ ß¿ßΓѼ¡«Ñ »αÑαδóá¡¿Ñ. Æ¿» Registers »αÑñßΓáó½∩ÑΓ ß«í«⌐ Γ¿»
- ñá¡¡δσ ñ½∩ »áαá¼ÑΓαá ó îsDos ¿ Intr. èα«¼Ñ Γ«ú«, «»αÑñѽ∩εΓß∩ ¡Ñ-
- ¬«Γ«αδÑ ñαπú¿Ñ ¬«¡ßΓá¡Γδ ¿ Γ¿»δ ñá¡¡δσ. ì¿ «ñ¡á ¿º φΓ¿σ »«ñ»α«ú-
- αá¼¼ ¡Ñ «»αÑñѽѡá ó ßΓá¡ñáαΓ¡«¼ Åá߬á½Ñ, »«φΓ«¼π «¡¿ »«¼ÑΘÑ¡δ ó
- ßó«¿ ß«íßΓóÑ¡¡δÑ ¼«ñπ½¿. Å«ñα«í¡ÑÑ ¼«ñ㫨 WinDos ¿ Dos «»¿ßδóáεΓ-
- ß∩ ó â½áóÑ 16 "ê¡ΓÑαΣÑ⌐ß ß DOS".
-
-
- î«ñπ½∞ Crt
- ─────────────────────────────────────────────────────────────────
-
- î«ñπ½∞ Crt αÑ὿ºπÑΓ α∩ñ ¼«Θ¡δσ »α«úαá¼¼, »αÑñ«ßΓáó½∩εΘ¿σ
-
- B.Pascal 7 & Objects/LR - 196 -
-
- óá¼ »«½¡πε 󫺼«ª¡«ßΓ∞ π»αáó½Ñ¡¿∩ ßαÑñßΓóἿ ¬«¼»∞εΓÑαá Éæ, Γᬿ-
- ¼¿, ¬á¬ π»αáó½Ñ¡¿Ñ αѪ¿¼«¼ φ¬αá¡á, αáßΦ¿αÑ¡¡δÑ ¬«ñδ ¬½áó¿áΓπαδ,
- µóÑΓá, «¬¡á, ¿ ºóπ¬«óδÑ ß¿ú¡á½δ. î«ñπ½∞ Crt ¼«ªÑΓ ¿ß»«½∞º«óáΓ∞ß∩
- Γ«½∞¬« ó »α«úαá¼¼áσ, αáí«ΓáεΘ¿σ ¡á »Ñαß«¡á½∞¡δσ ¬«¼»∞εΓÑαáσ IBM
- Éæ, Éæ AT, ÉS/2 Σ¿α¼δ IBM ¿ »«½¡«ßΓ∞ε ß«ó¼ÑßΓ¿¼δσ ß ¡¿¼¿.
-
- Äñ¡¿¼ ¿º «ß¡«ó¡δσ »αÑ¿¼πΘÑßΓó ¿ß»«½∞º«óá¡¿∩ ¼«ñπ½∩ Crt ∩ó½∩-
- ÑΓß∩ í«½∞Φá∩ ߬«α«ßΓ∞ ¿ ú¿í¬«ßΓ∞ »α¿ óδ»«½¡Ñ¡¿¿ «»Ñαᵿ⌐ αáí«Γδ ß
- φ¬αá¡«¼. Åα«úαá¼¼δ, ¡Ñ αáí«ΓáεΘ¿Ñ ß ¼«ñπ½Ñ¼ Crt, óδó«ñ∩Γ ¡á φ¬αá¡
- ¿¡Σ«α¼áµ¿ε ß »«¼«Θ∞ε ßαÑñßΓó «»Ñαᵿ«¡¡«⌐ ß¿ßΓѼδ DOS, τΓ« ßó∩ºá-
- ¡« ß ñ«»«½¡¿Γѽ∞¡δ¼¿ ¡Ñ»α«¿ºó«ñ¿Γѽ∞¡δ¼¿ ºáΓαáΓἿ. Åα¿ ¿ß»«½∞º«-
- óá¡¿¿ ¼«ñπ½∩ Crt óδó«ñ¿¼á∩ ¿¡Σ«α¼áµ¿∩ »«ßδ½áÑΓß∩ ¡Ñ»«ßαÑñßΓóÑ¡¡«
- ó íẫóπε ß¿ßΓѼπ óó«ñá-óδó«ñá (éIÄS), ¿½¿, ñ½∩ ÑΘÑ í«½ÑÑ íδßΓαδσ
- «»Ñαᵿ⌐, ¡Ñ»«ßαÑñßΓóÑ¡¡« ó ó¿ñÑ«»á¼∩Γ∞.
-
- Ä ¼«ñπ½Ñ Crt αáß߬áºδóáÑΓ ó â½áóÑ 14 "éó«ñ ¿ óδó«ñ".
-
-
- î«ñπ½∞ WinCrt
- ─────────────────────────────────────────────────────────────────
-
- î«ñπ½∞ WinCrt - φΓ« ñpá⌐óÑp πßΓp«⌐ßΓóá ΓѬßΓ«óδσ Σá⌐½«ó, ¬«-
- Γ«pδ⌐ »ÑpÑ«»pÑñѽ∩ÑΓ óδó«ñ ó »p«¬pπτ¿óáѼ«Ñ «¬¡«. ò«Γ∩ í«½∞Φá∩
- τáßΓ∞ óáΦ¿σ »p«úpá¼¼ ñ½∩ Windows, ¬á¬ »pá󿽫, íπñÑΓ ß«ºñáóáΓ∞
- ßó«¿ ß«íßΓóÑ¡¡δÑ «¬¡á, ¼«ñπ½∞ WinCrt ¼«ª¡« ¿ß»«½∞º«óáΓ∞ ñ½∩
- íδßΓαδσ ¿ »α«ßΓδσ »α«úαá¼¼, íếαπεΘ¿σß∩ ¡á ΓѬßΓáσ, ¬«úñá óá¼
- ¡πª¡« íδßΓα« »«½πτ¿Γ∞ αѺπ½∞ΓáΓδ. î«ñπ½∞ WinCrt «»¿ßδóáÑΓß∩ ó
- ú½áóÑ 14 "éó«ñ ¿ óδó«ñ".
-
-
- î«ñπ½∞ Printer
- ─────────────────────────────────────────────────────────────────
-
- î«ñπ½∞ Printer »«ºó«½∩ÑΓ óá¼ »«ßδ½áΓ∞ ßΓá¡ñáαΓ¡δ⌐ óδó«ñ Åáß-
- ¬á½∩ ¡á »α¿¡ΓÑα, ¿ß»«½∞ºπ∩ »α«µÑñπαδ Write ¿ WriteLn. Å«ñα«í¡ÑÑ
- «¡ «»¿ßδóáÑΓß∩ ó ú½áóÑ 14 "éó«ñ ¿ óδó«ñ".
-
-
- î«ñπ½∞ WinPrn
- ─────────────────────────────────────────────────────────────────
-
- î«ñπ½∞ WinPrn »«ºó«½∩ÑΓ óá¼ »«ßδ½áΓ∞ ßó«Ñ⌐ óáΦÑ⌐ »α«úαá¼¼δ
- Windows ¡á »α¿¡ΓÑα »« óáΦѼπ óδí«απ. Å«ñα«í¡ÑÑ «¡ «»¿ßδóáÑΓß∩ ó
- ú½áóÑ 14 "éó«ñ ¿ óδó«ñ".
-
-
- î«ñπ½∞ Overlay
- ─────────────────────────────────────────────────────────────────
-
- î«ñπ½∞ Overlay »«ºó«½∩ÑΓ óá¼ π¼Ñ¡∞Φ¿Γ∞ ΓαÑí«óá¡¿∩ ¬ »á¼∩Γ¿
- »α«úαá¼¼δ DOS αÑá½∞¡«ú« αѪ¿¼á. öá¬Γ¿τÑ߬¿, óδ ¼«ªÑΓÑ »¿ßáΓ∞
- »α«úαá¼¼δ, »αÑóδΦáεΘ¿Ñ «íΘ¿⌐ «íΩѼ ñ«ßΓπ»¡«⌐ »á¼∩Γ¿, »«ß¬«½∞¬π ó
- ¬áªñδ⌐ ¼«¼Ñ¡Γ ó »á¼∩Γ¿ íπñÑΓ ¡áσ«ñ¿Γ∞ß∩ Γ«½∞¬« τáßΓ∞ óáΦÑ⌐ »α«ú-
-
- B.Pascal 7 & Objects/LR - 197 -
-
- αá¼¼δ. Å«ñα«í¡« ñá¡¡δ⌐ ¼«ñπ½∞ «»¿ßá¡ ó â½áóÑ 20 "êß»«½∞º«óá¡¿Ñ
- «óÑα½ÑÑó".
-
-
- î«ñπ½∞ Strings
- ─────────────────────────────────────────────────────────────────
-
- î«ñπ½∞ Strings «íÑß»Ñτ¿óáÑΓ «íαáí«Γ¬π ¡«óδσ ßΓ᫬, ºá¬á¡τ¿-
- óáεΘ¿σß∩ »πßΓδ¼ ß¿¼ó«½«¼. æΓ᫬¿, ßΓá¡ñáαΓ¡δÑ ñ½∩ Åá߬á½∩,
- «íαáíáΓδóáεΓß∩ ¼«ñπ½Ñ¼ System. Å«ñα«í¡ÑÑ ¼«ñπ½∞ Strings «»¿ßδóá-
- ÑΓß∩ ó â½áóÑ 18 "êß»«½∞º«óá¡¿Ñ ßΓ᫬ ß ºáóÑαΦáεΘ¿¼ ¡π½Ñ¼".
-
-
- î«ñπ½∞ Graph
- ─────────────────────────────────────────────────────────────────
-
- î«ñπ½∞ Graph «íÑß»Ñτ¿óáÑΓ α∩ñ íδßΓαδσ ¿ ¼«Θ¡δσ úαáΣ¿τÑ߬¿σ
- »«ñ»α«úαá¼¼. Ä¡ αÑ὿ºπÑΓ ¡Ñºáó¿ß¿¼δ⌐ «Γ πßΓα«⌐ßΓó úαáΣ¿τÑ߬¿⌐
- ñαá⌐óÑα Borland, »«ññÑনóáεΘ¿⌐ úαáΣ¿¬π CGA, EGA, VGA, Hercules,
- AT&T 400, MCGA, 3270PC ¿ 8514. î«ñπ½∞ Graph ¡Ñ óßΓα«Ñ¡ ó
- TURBO.TPL, «¡ ¡áσ«ñ¿Γß∩ ¡á Γ«¼ ªÑ ñ¿ß¬Ñ, τΓ« ¿ Σá⌐½δ .BGI (úαáΣ¿-
- τÑ߬¿⌐ ¿¡ΓÑαΣÑ⌐ß Borland) ¿ .CHR (Φα¿ΣΓδ).
-
- Å«ñα«í¡ÑÑ « ¼«ñπ½Ñ Graph αáß߬áºδóáÑΓß∩ ó â½áóÑ 19 "êß»«½∞-
- º«óá¡¿Ñ úαáΣ¿τÑ߬«ú« ¿¡ΓÑαΣÑ⌐ßá Borland".
-
-
- î«ñ㫨 Turbo3 ¿ Graph3
- ─────────────────────────────────────────────────────────────────
-
- î«ñ㫨 Turbo3 ¿ Graph3 »αÑñπß¼«ΓαÑ¡δ Γ«½∞¬« ñ½∩ «íαáΓ¡«⌐
- ß«ó¼ÑßΓ¿¼«ßΓ¿. Turbo3 ß«ñÑαª¿Γ ñóÑ »ÑαѼѡ¡δÑ ¿ ¡Ñ߬«½∞¬« »α«µÑ-
- ñπα, ¬«Γ«αδÑ í«½∞ΦÑ ¡Ñ »«ññÑনóáεΓß∩ Borland Pascal. Graph3 ß«-
- ñÑαª¿Γ »«½¡δ⌐ ¡áí«α úαáΣ¿τÑ߬¿σ »«ñ»α«úαá¼¼ óÑαß¿¿ 3.0 - «ß¡«ó-
- ¡δσ, »α«ñó¿¡πΓδσ, ¿ ¿ß»«½∞ºπεΘ¿σ úαáΣ¿¬π ó «Γ¡«ß¿Γѽ∞¡δσ ¬«¼á¡-
- ñáσ. ê¡Σ«α¼áµ¿ε «í φΓ¿σ Σá⌐½áσ óδ ¼«ªÑΓÑ ¡á⌐Γ¿ ó Σá⌐½Ñ
- TURBO3.INT.
-
-
- î«ñ㫨 WinTypes ¿ WinProcs
- ─────────────────────────────────────────────────────────────────
-
- î«ñπ½∞ WinTypes ß«ñÑαª¿Γ óßÑ ¬«¡ßΓá¡Γδ, ßΓαπ¬Γπαδ ñá¡¡δσ ¿
- ßΓ¿½¿, ¿ß»«½∞ºπѼδÑ ó »α¿¬½áñ¡«¼ »α«úαá¼¼¡«¼ ¿¡ΓÑαΣÑ⌐ßÑ Windows.
- î«ñπ½∞ WinTypes »«ñα«í¡« «»¿ßδóáÑΓß∩ ó ß»αáó«τ¡«⌐ ß¿ßΓÑ¼Ñ Borland
- Pascal.
-
- î«ñπ½∞ WinProcs ß«ñÑαª¿Γ óßÑ Σπ¡¬µ¿¿ ¿ »α«µÑñπαδ, ß«ßΓáó½∩ε-
- Θ¿Ñ »α¿¬½áñ¡«⌐ »α«úαá¼¼¡δ⌐ ¿¡ΓÑαΣÑ⌐ß Windows. î«ñπ½∞ WinProcs
- Γá¬ªÑ »«ñα«í¡« «»¿ßδóáÑΓß∩ ó ß»αáó«τ¡«⌐ ß¿ßΓѼÑ.
-
- æ«ó¼ÑßΓ¡« φΓ¿ ¼«ñ㫨 «íαáºπεΓ »α¿¬½áñ¡«⌐ »α«úαá¼¼¡δ⌐ ¿¡ΓÑα-
- ΣÑ⌐ß Windows (API).
-
- B.Pascal 7 & Objects/LR - 198 -
-
-
- î«ñπ½∞ Win31
- ─────────────────────────────────────────────────────────────────
-
- î«ñπ½∞ Win31 «íÑß»Ñτ¿óáÑΓ ¿¡ΓÑαΣÑ⌐ß ß ñ«»«½¡¿Γѽ∞¡δ¼¿ »«ñ»-
- α«úαἼἿ API, ¬«Γ«αδÑ ¼«ª¡« ¡á⌐Γ¿ ó Windows 3.1. Åਪ½áñ¡δÑ
- »α«úαá¼¼δ, ¿ß»«½∞ºπεΘ¿Ñ Win31, ¡Ñ αáí«ΓáεΓ »«ñ Windows 3.0.
-
-
- î«ñπ½∞ WinAPI
- ─────────────────────────────────────────────────────────────────
-
- î«ñπ½∞ WinAPI «»αÑñѽ∩ÑΓ »«ñ¼¡«ªÑßΓó« »«ñ»α«úαá¼¼ API
- Windows, »«ññÑনóáѼδσ ¿ ó Windows, ¿ ó ºáΘ¿ΘÑ¡¡«¼ αѪ¿¼Ñ DOS.
- Å«ñα«í¡ÑÑ «í φΓ«¼ ¼«ñπ½Ñ αáß߬áºδóáÑΓß∩ ó â½áóÑ 17 "Åα«úαá¼¼¿α«-
- óá¡¿Ñ ó ºáΘ¿ΘÑ¡¡«¼ αѪ¿¼Ñ DOS".
-
-
- î«ñπ½¿, »«ññÑনóáεΘ¿Ñ Windows 3.1
- ─────────────────────────────────────────────────────────────────
-
- Borland Pascal »«ññÑনóáÑΓ API Windows 3.1 ó ß½ÑñπεΘ¿σ ¼«-
- ñπ½∩σ:
-
- ColorDlg LZExpand ShellAPI
- CommDlg MMSystem Stress
- Cpl OLE ToolHelp
- DDEML PenWin Ver
- Dlgs Print WinMem32
-
-
-
-
- B.Pascal 7 & Objects/LR - 199 -
-
- ───────────────────────────────────────────────────────────────────────
- â½áóá 13. æΓá¡ñáαΓ¡δÑ »α«µÑñπαδ ¿ Σπ¡¬µ¿¿
- ─────────────────────────────────────────────────────────────────
-
- é ñá¡¡«⌐ ú½áóÑ ¬αáΓ¬« «»¿ßδóáεΓß∩ ßΓá¡ñáαΓ¡δÑ (óßΓα«Ñ¡¡δÑ)
- »α«µÑñπαδ ¿ Σπ¡¬µ¿¿ Borland Pascal ¿ »αÑñ«»¿ßá¡¡δÑ »ÑαѼѡ¡δÑ,
- «»αÑñѽѡ¡δÑ ó ¼«ñπ½Ñ System. ü«½ÑÑ »«ñα«í¡πε ¿¡Σ«α¼áµ¿ε « ¬«¡¬-
- αÑΓ¡«⌐ »α«µÑñπαÑ, Σπ¡¬µ¿¿ ¿½¿ »αÑñ«»¿ßá¡¡«⌐ »ÑαѼѡ¡«⌐ óδ ¼«ªÑΓÑ
- ¡á⌐Γ¿ ó â½áóÑ 1 ("æ»αáó«τ¡¿¬ »« í¿í½¿«ΓѬÑ") ó "Éπ¬«ó«ñßΓóÑ »α«ú-
- αá¼¼¿ßΓá".
-
- æΓá¡ñáαΓ¡δÑ »α«µÑñπαδ ¿ Σπ¡¬µ¿¿ ∩ó½∩εΓß∩ »αÑñ«»¿ßá¡¡δ¼¿. Æá¬
- ¬á¬ ºá»¿ß¿ ß ¿σ »αÑñóáα¿Γѽ∞¡δ¼¿ «»¿ßá¡¿∩¼¿ ñÑ⌐ßΓóπεΓ Γ«τ¡« Γá¬-
- ªÑ, ¬á¬ Ñß½¿ íδ «¡¿ í뫨 «»¿ßá¡δ ó «¬απªáεΘѼ »α«úαá¼¼π ¼«ñπ½Ñ,
- »α¿ «»¿ßá¡¿¿, »ÑαÑ«»αÑñѽ∩εΘѼ ëà ªÑ ¿ñÑ¡Γ¿Σ¿¬áΓ«α ó¡πΓα¿ »α«ú-
- αá¼¼δ ¬«¡Σ½¿¬Γá ¡Ñ ó«º¡¿¬áÑΓ.
-
- Åα¿¼Ñτá¡¿Ñ: Ä ñαπú¿σ »α«µÑñπαáσ ¿ Σπ¡¬µ¿∩σ óδ ¼«ªÑΓÑ
- »α«τÑßΓ∞ ó â½áóÑ 14 "éó«ñ ¿ óδó«ñ".
-
- é ñá¡¡«⌐ ú½áóÑ «ßóÑΘáεΓß∩ ß½ÑñπεΘ¿Ñ ΓѼδ:
-
- - Åα«µÑñπαδ π»αáó½Ñ¡¿∩ »α«úαá¼¼«⌐.
-
- - öπ¡¬µ¿¿ »αÑ«íαẫóá¡¿∩.
-
- - Çα¿Σ¼ÑΓ¿τÑ߬¿Ñ Σπ¡¬µ¿¿.
-
- - Å«α∩ñ¬«óδÑ »α«µÑñπαδ ¿ Σπ¡¬µ¿¿.
-
- - æΓ᫬«óδÑ »α«µÑñπαδ ¿ Σπ¡¬µ¿¿.
-
- - Åα«µÑñπαδ ¿ Σπ¡¬µ¿¿ ñ¿¡á¼¿τÑ߬«ú« αáß»αÑñѽѡ¿∩ »á¼∩Γ¿.
-
- - Åα«τ¿Ñ »α«µÑñπαδ ¿ Σπ¡¬µ¿¿.
-
- - ÅαÑñ«»¿ßá¡¡δÑ »ÑαѼѡ¡δÑ ¼«ñπ½∩ System.
-
-
-
-
- B.Pascal 7 & Objects/LR - 200 -
-
- Åα«µÑñπαδ π»αáó½Ñ¡¿∩ αáí«Γ«⌐ »α«úαá¼¼δ
- ─────────────────────────────────────────────────────────────────
-
- Åα«µÑñπαδ π»αáó½Ñ¡¿∩ αáí«Γ«⌐ »α«úαá¼¼δ - φΓ« »α«µÑñπαδ, π»-
- αáó½∩εΘ¿Ñ ½«ú¿¬«⌐ óδ»«½¡Ñ¡¿∩ »α«úαá¼¼δ.
-
- ┌───────────────────┬───────────────────────────────────────────┐
- │ Åα«µÑñπαá │ Ä»¿ßá¡¿Ñ │
- ├───────────────────┼───────────────────────────────────────────┤
- │ Break │ çáóÑαΦáÑΓ «»ÑαáΓ«α for, while ¿½¿ repeat. │
- ├───────────────────┼───────────────────────────────────────────┤
- │ Continue │ Åα«ñ«½ªáÑΓ ¿ΓÑαáµ¿ε «»ÑαáΓ«αá for, while,│
- │ │ ¿½¿ repeat. │
- ├───────────────────┼───────────────────────────────────────────┤
- │ Eσit │ Å«ºó«½∩ÑΓ ¡Ñ¼Ññ½Ñ¡¡« óδ⌐Γ¿ ¿º ΓѬπΘÑú« ¼«-│
- │ │ ñπ½∩. │
- ├───────────────────┼───────────────────────────────────────────┤
- │ ìált │ ÄßΓá¡áó½¿óáÑΓ óδ»«½¡Ñ¡¿Ñ »α«úαá¼¼δ ¿ ó«ºó-│
- │ │ αáΘáÑΓ π»αáó½Ñ¡¿Ñ «»Ñαᵿ«¡¡«⌐ ß¿ßΓѼÑ. │
- ├───────────────────┼───────────────────────────────────────────┤
- │ RunError │ ÄßΓá¡áó½¿óáÑΓ óδ»«½¡Ñ¡¿Ñ »α«úαá¼¼δ ¿ úÑ¡Ñ-│
- │ │ α¿απÑΓ «Φ¿í¬π φΓá»á óδ»«½¡Ñ¡¿∩. │
- └───────────────────┴───────────────────────────────────────────┘
-
- öπ¡¬µ¿¿ »αÑ«íαẫóá¡¿∩
- ─────────────────────────────────────────────────────────────────
-
- ì¿ªÑ »ÑαÑτ¿ß½Ñ¡δ Σπ¡¬µ¿¿ »αÑ«íαẫóá¡¿∩.
-
- ┌──────────────────┬────────────────────────────────────────────┐
- │ öπ¡¬µ¿∩ │ Ä»¿ßá¡¿Ñ │
- ├──────────────────┼────────────────────────────────────────────┤
- │ Chr │ 髺óαáΘáÑΓ ß¿¼ó«½, ºáñá¡¡δ⌐ µÑ½δ¼ τ¿ß½«¼. │
- ├──────────────────┼────────────────────────────────────────────┤
- │ High │ 髺óαáΘáÑΓ ßΓáαΦÑÑ º¡áτÑ¡¿Ñ ó ñ¿á»áº«¡Ñ áα-│
- │ │ úπ¼Ñ¡Γá. │
- ├──────────────────┼────────────────────────────────────────────┤
- │ Low │ 髺óαáΘáÑΓ ¼½áñΦÑÑ º¡áτÑ¡¿Ñ ó ñ¿á»áº«¡Ñ áα-│
- │ │ úπ¼Ñ¡Γá. │
- ├──────────────────┼────────────────────────────────────────────┤
- │ Ärd │ 髺óαáΘáÑΓ »«α∩ñ¬«ó«Ñ τ¿ß½« »« º¡áτÑ¡¿ε »Ñ-│
- │ │ αÑτ¿ß½¿¼«ú« Γ¿»á. │
- ├──────────────────┼────────────────────────────────────────────┤
- │ R«und │ Ĭαπú½∩ÑΓ º¡áτÑ¡¿Ñ óÑΘÑßΓóÑ¡¡«ú« Γ¿»á ñ«│
- │ │ º¡áτÑ¡¿∩, ¿¼ÑεΘÑú« ñ½¿¡¡δ⌐ µÑ½δ⌐ Γ¿». │
- ├──────────────────┼────────────────────────────────────────────┤
- │ Ærunß │ ôßѬáÑΓ º¡áτÑ¡¿Ñ óÑΘÑßΓóÑ¡¡«ú« Γ¿»á ñ« º¡á-│
- │ │ τÑ¡¿∩, ¿¼ÑεΘÑú« ñ½¿¡¡δ⌐ µÑ½δ⌐ Γ¿». │
- └──────────────────┴────────────────────────────────────────────┘
-
-
-
- B.Pascal 7 & Objects/LR - 201 -
-
- Çα¿Σ¼ÑΓ¿τÑ߬¿Ñ Σπ¡¬µ¿¿
- ─────────────────────────────────────────────────────────────────
-
- ¥Γ¿ Σπ¡¬µ¿¿ »«½Ñº¡« ¿ß»«½∞º«óáΓ∞ ñ½∩ óδ»«½¡Ñ¡¿∩ áα¿Σ¼ÑΓ¿τÑß-
- ¬¿σ «»Ñαᵿ⌐.
-
- Åα¿¼Ñτá¡¿Ñ: ç¡áτÑ¡¿∩, ó«ºóαáΘáѼδÑ »α«µÑñπαἿ «»Ñαá-
- µ¿⌐ ß »½áóáεΘÑ⌐ ºá»∩Γ«⌐ ¼«ñπ½∩ System, »α¿ ¬«¼»¿½∩µ¿¿ ó
- αѪ¿¼Ñ τ¿ß½«ó«⌐ «íαáí«Γ¬¿ (ñ¿αÑ¬Γ¿óá {$N+}), ¿¼ÑεΓ ¡Ñ óÑ-
- ΘÑßΓóÑ¡¡δ⌐ Γ¿» (real), á αáßΦ¿αÑ¡¡δ⌐ (extended).
-
- ┌──────────────────┬────────────────────────────────────────────┐
- │ öπ¡¬µ¿∩ │ Ä»¿ßá¡¿Ñ │
- ├──────────────────┼────────────────────────────────────────────┤
- │ Abs │ 髺óαáΘáÑΓ áíß«½εΓ¡«Ñ º¡áτÑ¡¿Ñ áαúπ¼Ñ¡Γá. │
- ├──────────────────┼────────────────────────────────────────────┤
- │ Çrctan │ 髺óαáΘáÑΓ áα¬Γá¡úÑ¡ß áαúπ¼Ñ¡Γá. │
- ├──────────────────┼────────────────────────────────────────────┤
- │ C«s │ 髺óαáΘáÑΓ ¬«ß¿¡πß áαúπ¼Ñ¡Γá. │
- ├──────────────────┼────────────────────────────────────────────┤
- │ Eσp │ 髺óαáΘáÑΓ φ¬ß»«¡Ñ¡Γπ áαúπ¼Ñ¡Γá. │
- ├──────────────────┼────────────────────────────────────────────┤
- │ Fráß │ 髺óαáΘáÑΓ ñα«í¡πε τáßΓ∞ áαúπ¼Ñ¡Γá. │
- ├──────────────────┼────────────────────────────────────────────┤
- │ Int │ 髺óαáΘáÑΓ µÑ½πε τáßΓ∞ áαúπ¼Ñ¡Γá. │
- ├──────────────────┼────────────────────────────────────────────┤
- │ Ln │ 髺óαáΘáÑΓ ¡áΓπαá½∞¡δ⌐ ½«úáα¿Σ¼ áαúπ¼Ñ¡Γá. │
- ├──────────────────┼────────────────────────────────────────────┤
- │ Pi │ 髺óαáΘáÑΓ º¡áτÑ¡¿Ñ τ¿ß½á Pi │
- │ │ (3.141592653897932385). │
- ├──────────────────┼────────────────────────────────────────────┤
- │ Sin │ 髺óαáΘáÑΓ ß¿¡πß áαúπ¼Ñ¡Γá. │
- ├──────────────────┼────────────────────────────────────────────┤
- │ Sqr │ 髺óαáΘáÑΓ áαúπ¼Ñ¡Γ ó ¬óáñαáΓÑ. │
- ├──────────────────┼────────────────────────────────────────────┤
- │ Sqrt │ 髺óαáΘáÑΓ ¬óáñαáΓ¡δ⌐ ¬«αÑ¡∞ áαúπ¼Ñ¡Γá. │
- └──────────────────┴────────────────────────────────────────────┘
-
-
-
- B.Pascal 7 & Objects/LR - 202 -
-
- Å«α∩ñ¬«óδÑ »α«µÑñπαδ ¿ Σπ¡¬µ¿¿
- ─────────────────────────────────────────────────────────────────
-
- ┌──────────────────┬────────────────────────────────────────────┐
- │ Åα«µÑñπαá/Σπ¡¬µ¿∩│ Ä»¿ßá¡¿Ñ │
- ├──────────────────┼────────────────────────────────────────────┤
- │ DÑß │ ô¼Ñ¡∞ΦáÑΓ º¡áτÑ¡¿Ñ »ÑαѼѡ¡«⌐. │
- ├──────────────────┼────────────────────────────────────────────┤
- │ Inß │ ôóѽ¿τ¿óáÑΓ º¡áτÑ¡¿Ñ »ÑαѼѡ¡«⌐. │
- ├──────────────────┼────────────────────────────────────────────┤
- │ Ädd │ Åα«óÑα∩ÑΓ, ∩ó½∩ÑΓß∩ ½¿ áαúπ¼Ñ¡Γ ¡ÑτÑΓ¡δ¼│
- │ │ τ¿ß½«¼. │
- ├──────────────────┼────────────────────────────────────────────┤
- │ Éred │ 髺óαáΘáÑΓ »αÑñΦÑßΓóπεΘÑÑ º¡áτÑ¡¿Ñ áαúπ¼Ñ¡-│
- │ │ Γá. │
- ├──────────────────┼────────────────────────────────────────────┤
- │ Sußß │ 髺óαáΘáÑΓ Ñú« »«ß½ÑñπεΘÑÑ º¡áτÑ¡¿Ñ. │
- └──────────────────┴────────────────────────────────────────────┘
-
- æΓ᫬«óδÑ »α«µÑñπαδ ¿ Σπ¡¬µ¿¿
- ─────────────────────────────────────────────────────────────────
-
- æ½ÑñπεΘ¿Ñ »α«µÑñπαδ ¿ Σπ¡¬µ¿¿ ¿ß»«½∞ºπεΓß∩ ñ½∩ αáí«Γδ ß«
- ßΓα«¬á¼¿ Åá߬á½∩.
-
- ┌──────────────────┬────────────────────────────────────────────┐
- │ Åα«µÑñπαá │ Ä»¿ßá¡¿Ñ │
- ├──────────────────┼────────────────────────────────────────────┤
- │ C«ncat │ éδ»«½¡∩ÑΓ ¬«¡¬áΓÑ¡áµ¿ε »«ß½Ññ«óáΓѽ∞¡«ßΓ¿│
- │ │ ßΓ᫬. │
- ├──────────────────┼────────────────────────────────────────────┤
- │ C«απ │ 髺óαáΘáÑΓ »«ñßΓ᫬π ßΓ᫬¿. │
- ├──────────────────┼────────────────────────────────────────────┤
- │ Delete │ ôñá½∩ÑΓ ¿º ßΓ᫬¿ »«ñßΓ᫬π. │
- ├──────────────────┼────────────────────────────────────────────┤
- │ Insert │ ä«íáó½∩ÑΓ ó ßΓ᫬𠻫ñßΓ᫬π. │
- ├──────────────────┼────────────────────────────────────────────┤
- │ Length │ 髺óαáΘáÑΓ ñ¿¡á¼¿τÑ߬πε ñ½¿¡π ßΓ᫬¿. │
- ├──────────────────┼────────────────────────────────────────────┤
- │ P«s │ Åα«¿ºó«ñ¿Γ »«¿ß¬ »«ñßΓ᫬¿ ó ßΓ᫬Ñ. │
- ├──────────────────┼────────────────────────────────────────────┤
- │ Str │ ÅαÑ«íαáºπÑΓ τ¿ß½Ñ¡¡«Ñ º¡áτÑ¡¿Ñ ó Ñú« ßΓα«-│
- │ │ ¬«ó«Ñ »αÑñßΓáó½Ñ¡¿Ñ. │
- ├──────────────────┼────────────────────────────────────────────┤
- │ Val │ ÅαÑ«íαáºπÑΓ ßΓ᫬«ó«Ñ º¡áτÑ¡¿Ñ ó Ñú« τ¿ß-│
- │ │ ½Ñ¡¡«Ñ »αÑñßΓáó½Ñ¡¿Ñ. │
- └──────────────────┴────────────────────────────────────────────┘
-
-
-
- B.Pascal 7 & Objects/LR - 203 -
-
- Åα«µÑñπαδ ¿ Σπ¡¬µ¿¿ ñ¿¡á¼¿τÑ߬«ú« αáß»αÑñѽѡ¿∩ »á¼∩Γ¿
- ─────────────────────────────────────────────────────────────────
-
- ¥Γ¿ »α«µÑñπαδ ¿ Σπ¡¬µ¿¿ ¿ß»«½∞ºπεΓß∩ ñ½∩ π»αáó½Ñ¡¿∩ ñ¿¡á¼¿-
- τÑ߬¿ αáß»αÑñѽ∩Ѽ«⌐ «í½áßΓ∞ε - «í½áßΓ∞ε »á¼∩Γ¿, ¬«Γ«αá∩ ºá¡¿¼áÑΓ
- óßε ßó«í«ñ¡πε »á¼∩Γ∞ ¿½¿ ÑÑ τáßΓ∞, «ßΓáεΘπεß∩ »α¿ óδ»«½¡Ñ¡¿¿
- »α«úαá¼¼δ. Å«½¡«Ñ «»¿ßá¡¿Ñ ¼ÑΓ«ñ«ó, ¿ß»«½∞ºπѼδσ ñ½∩ π»αáó½Ñ¡¿∩
- ñ¿¡á¼¿τÑ߬¿ αáß»αÑñѽ∩Ѽ«⌐ «í½áßΓ∞ε »á¼∩Γ¿ »α¿ó«ñ¿Γß∩ ó αáºñѽÑ
- "Åα«úαá¼¼á ñ¿¡á¼¿τÑ߬«ú« αáß»αÑñѽѡ¿∩ »á¼∩Γ¿" ó â½áóÑ 21 ("é«»-
- α«ßδ π»αáó½Ñ¡¿∩ »á¼∩Γ∞ε").
-
- Åα«µÑñπαδ ñ¿¡á¼¿τÑ߬«ú« αáß»αÑñѽѡ¿∩ »á¼∩Γ¿
- ┌──────────────────┬────────────────────────────────────────────┐
- │ Åα«µÑñπαá/Σπ¡¬µ¿∩│ Ä»¿ßá¡¿Ñ │
- ├──────────────────┼────────────────────────────────────────────┤
- │ Dispose │ ô¡¿τΓ«ªáÑΓ ñ¿¡á¼¿τÑ߬πε »ÑαѼѡ¡πε. │
- ├──────────────────┼────────────────────────────────────────────┤
- │ FrÑÑîѼ │ ô¡¿τΓ«ªáÑΓ ñ¿¡á¼¿τÑ߬πε »ÑαѼѡ¡πε ñá¡¡«ú«│
- │ │ αẼÑαá. │
- ├──────────────────┼────────────────────────────────────────────┤
- │ GetîѼ │ 櫺ñáÑΓ ¡«óπε ñ¿¡á¼¿τÑ߬πε »ÑαѼѡ¡πε ºá-│
- │ │ ñá¡¡«ú« αẼÑαá ¿ πßΓá¡áó½¿óáÑΓ ¡á ¡ÑÑ »Ñ-│
- │ │ αѼѡ¡πε-π¬áºáΓѽ∞. │
- ├──────────────────┼────────────────────────────────────────────┤
- │ îáσÇvail │ 髺óαáΘáÑΓ αẼÑα ¡á¿í«½∞ΦÑú« ¡Ñ»αÑαδó¡«ú«│
- │ │ ßó«í«ñ¡«ú« ¼«ñπ½∩ ó ñ¿¡á¼¿τÑ߬¿ αáß»αÑñѽ∩-│
- │ │ Ѽ«⌐ «í½áßΓ¿ »á¼∩Γ¿, ß««ΓóÑΓßΓóπεΘ¿⌐ αẼÑ-│
- │ │ απ ¡á¿í«½∞ΦÑ⌐ ñ¿¡á¼¿τÑ߬«⌐ »ÑαѼѡ¡«⌐, ¬«-│
- │ │ Γ«αá∩ ¼«ªÑΓ íδΓ∞ óδñÑ½Ñ¡á »α¿ «íαáΘÑ¡¿¿ ó│
- │ │ îáσAvail. │
- ├──────────────────┼────────────────────────────────────────────┤
- │ îѼÇvail │ 髺óαáΘáÑΓ ¬«½¿τÑßΓó« ¿¼ÑεΘ¿σß∩ ó ñ¿¡á¼¿-│
- │ │ τÑ߬¿ αáß»αÑñѽ∩Ѽ«⌐ «í½áßΓ¿ ßó«í«ñ¡δσ│
- │ │ íá⌐Γ. │
- ├──────────────────┼────────────────────────────────────────────┤
- │ New │ 櫺ñáÑΓ ¡«óπε ñ¿¡á¼¿τÑ߬πε »ÑαѼѡ¡πε ¿ πß-│
- │ │ Γá¡áó½¿óáÑΓ ¡á ¡ÑÑ »ÑαѼѡ¡πε-π¬áºáΓѽ∞. │
- └──────────────────┴────────────────────────────────────────────┘
-
-
-
- B.Pascal 7 & Objects/LR - 204 -
-
- öπ¡¬µ¿¿ ñ½∩ αáí«Γδ ß π¬áºáΓѽ∩¼¿ ¿ áñαÑßἿ
- ─────────────────────────────────────────────────────────────────
-
- ì¿ªÑ »ÑαÑτ¿ß½Ñ¡δ Σπ¡¬µ¿¿ ñ½∩ αáí«Γδ ß π¬áºáΓѽ∩¼¿ ¿ áñαÑßá-
- ¼¿.
-
- ┌──────────────────┬────────────────────────────────────────────┐
- │ öπ¡¬µ¿¿ │ Ä»¿ßá¡¿Ñ │
- ├──────────────────┼────────────────────────────────────────────┤
- │ Çddr │ 髺óαáΘáÑΓ áñαÑß ºáñá¡¡«ú« «íΩѬΓá. │
- ├──────────────────┼────────────────────────────────────────────┤
- │ CSeg │ 髺óαáΘáÑΓ ΓѬπΘÑÑ º¡áτÑ¡¿Ñ αÑú¿ßΓαá CS. │
- ├──────────────────┼────────────────────────────────────────────┤
- │ DSeg │ 髺óαáΘáÑΓ ΓѬπΘÑÑ º¡áτÑ¡¿Ñ αÑú¿ßΓαá DS. │
- ├──────────────────┼────────────────────────────────────────────┤
- │ Äfs │ 髺óαáΘáÑΓ ß¼ÑΘÑ¡¿Ñ ñ½∩ ºáñá¡¡«ú« «íΩѬΓá. │
- ├──────────────────┼────────────────────────────────────────────┤
- │ Ptr │ ÅαÑ«íαáºπÑΓ áñαÑß íẫó«ú« ßÑú¼Ñ¡Γá ¿ ß¼Ñ-│
- │ │ ΘÑ¡¿Ñ ó º¡áτÑ¡¿Ñ Γ¿»á π¬áºáΓѽ∞. │
- ├──────────────────┼────────────────────────────────────────────┤
- │ Seg │ 髺óαáΘáÑΓ ßÑú¼Ñ¡Γ ñ½∩ ºáñá¡¡«ú« «íΩѬΓá. │
- ├──────────────────┼────────────────────────────────────────────┤
- │ SPtr │ 髺óαáΘáÑΓ ΓѬπΘÑÑ º¡áτÑ¡¿Ñ αÑú¿ßΓαá SÉ. │
- ├──────────────────┼────────────────────────────────────────────┤
- │ SSeg │ 髺óαáΘáÑΓ ΓѬπΘÑÑ º¡áτÑ¡¿Ñ αÑú¿ßΓαá SS. │
- └──────────────────┴────────────────────────────────────────────┘
-
-
-
- B.Pascal 7 & Objects/LR - 205 -
-
- Åα«τ¿Ñ »α«µÑñπαδ ¿ Σπ¡¬µ¿¿
- ─────────────────────────────────────────────────────────────────
-
- ┌──────────────────┬────────────────────────────────────────────┐
- │ Åα«µÑñπαá/Σπ¡¬µ¿∩│ Ä»¿ßá¡¿Ñ │
- ├──────────────────┼────────────────────────────────────────────┤
- │ Exclude │ ê߬½ετáÑΓ φ½Ñ¼Ñ¡Γ ¿º ¼¡«ªÑßΓóá. │
- ├──────────────────┼────────────────────────────────────────────┤
- │ FillChar │ çừ½¡∩ÑΓ ºáñá¡¡«Ñ τ¿ß½« ß½ÑñπεΘ¿σ ñαπú ºá│
- │ │ ñαπú«¼ í¿Γ π¬áºá¡¡δ¼ º¡áτÑ¡¿Ñ¼. │
- ├──────────────────┼────────────────────────────────────────────┤
- │ Hi │ 髺óαáΘáÑΓ ßΓáαΦ¿⌐ íá⌐Γ áαúπ¼Ñ¡Γá. │
- ├──────────────────┼────────────────────────────────────────────┤
- │ Include │ 鬽ετáÑΓ φ½Ñ¼Ñ¡Γ ó ¼¡«ªÑßΓó«. │
- ├──────────────────┼────────────────────────────────────────────┤
- │ Lo │ 髺óαáΘáÑΓ ¼½áñΦ¿⌐ íá⌐Γ áαúπ¼Ñ¡Γá. │
- ├──────────────────┼────────────────────────────────────────────┤
- │ î«vÑ │ è«»¿απÑΓ ºáñá¡¡«Ñ τ¿ß½« ¡Ñ»αÑαδó¡δσ íá⌐Γ ó│
- │ │ π¬áºá¡¡δσ úαá¡¿µáσ ¿º «ñ¡«ú« ¼ÑßΓá ó ñαπ-│
- │ │ ú«Ñ, úαá¡¿µδ ¬«Γ«α«ú« Γá¬ªÑ π¬áºδóáεΓß∩. │
- ├──────────────────┼────────────────────────────────────────────┤
- │ ParamCount │ 髺óαáΘáÑΓ τ¿ß½« »áαá¼ÑΓα«ó, »ÑαÑñá¡¡δσ│
- │ │ »α«úαá¼¼Ñ ó ¬«¼á¡ñ¡«⌐ ßΓ᫬Ñ. │
- ├──────────────────┼────────────────────────────────────────────┤
- │ ParamStr │ 髺óαáΘáÑΓ »áαá¼ÑΓα, ºáñá¡¡δ⌐ ó ¬«¼á¡ñ¡«⌐│
- │ │ ßΓ᫬Ñ. │
- ├──────────────────┼────────────────────────────────────────────┤
- │ Random │ 髺óαáΘáÑΓ ß½πτá⌐¡«Ñ τ¿ß½«. │
- ├──────────────────┼────────────────────────────────────────────┤
- │ Ránd«¼izÑ │ ê¡¿µ¿á½¿º¿απÑΓ óßΓα«Ñ¡¡δ⌐ úÑ¡ÑαáΓ«α ß½πτá⌐-│
- │ │ ¡δσ τ¿ßѽ ß½πτá⌐¡δ¼ º¡áτÑ¡¿Ñ¼. │
- ├──────────────────┼────────────────────────────────────────────┤
- │ SizeOf │ 髺óαáΘáÑΓ τ¿ß½« íá⌐Γ, ºá¡¿¼áѼδσ áαúπ¼Ñ¡-│
- │ │ Γ«¼. │
- ├──────────────────┼────────────────────────────────────────────┤
- │ Swap │ îÑ¡∩ÑΓ ¼ÑßΓἿ ßΓáαΦ¿⌐ ¿ ¼½áñΦ¿⌐ íá⌐Γδ áα-│
- │ │ úπ¼Ñ¡Γá. │
- ├──────────────────┼────────────────────────────────────────────┤
- │ TypeOf │ ô¬áºδóáÑΓ ¡á Γáí½¿µπ ó¿αΓπá½∞¡δσ ¼ÑΓ«ñ«ó│
- │ │ «íΩѬΓá. │
- ├──────────────────┼────────────────────────────────────────────┤
- │ UpCase │ ÅαÑ«íαáºπÑΓ ß¿¼ó«½ ó óÑασ¡¿⌐ αÑú¿ßΓα. │
- └──────────────────┴────────────────────────────────────────────┘
-
-
-
- B.Pascal 7 & Objects/LR - 206 -
-
- ÅαÑñ«»¿ßá¡¡δÑ »ÑαѼѡ¡δÑ
- ─────────────────────────────────────────────────────────────────
-
- èα«¼Ñ »α«µÑñπα ¿ Σπ¡¬µ¿⌐ ó ¼«ñπ½Ñ System »αÑñπß¼«ΓαÑ¡ α∩ñ
- »αÑñ«»¿ßá¡¡δσ »ÑαѼѡ¡δσ. êσ »ÑαÑτÑ¡∞ ºáó¿ß¿Γ «Γ í¿í½¿«ΓѬ¿ ¿ß-
- »«½¡∩εΘÑ⌐ ß¿ßΓѼδ, ¬ ¬«Γ«α«⌐ «Γ¡«ß¿Γß∩ ¼«ñπ½∞ System.
-
- æ½ÑñπεΘ¿Ñ »ÑαѼѡ¡δÑ «»¿ßδóáεΓß∩ ó ¼«ñπ½Ñ System í¿í½¿«ΓѬ¿
- TURBO.TPL - í¿í½¿«ΓÑ¬Ñ ¿ß»«½¡∩εΘÑ⌐ ß¿ßΓѼδ ñ½∩ »α¿½«ªÑ¡¿⌐ αÑá½∞-
- ¡«ú« αѪ¿¼á DOS.
-
- ┌───────────────┬────────────────┬──────────────────────────────┐
- │ ÅÑαѼѡ¡á∩ │ Æ¿» │ Ä»¿ßá¡¿Ñ │
- ├───────────────┼────────────────┼──────────────────────────────┤
- │ ErrorAddr │ Pointer │ áñαÑß «Φ¿í¬¿ φΓá»á óδ»«½¡Ñ- │
- │ │ │ ¡¿∩ │
- ├───────────────┼────────────────┼──────────────────────────────┤
- │ ExitProc │ Pointer │ »α«µÑñπαá óδσ«ñá │
- ├───────────────┼────────────────┼──────────────────────────────┤
- │ ExitCode │ Integer │ ¬«ñ óδσ«ñá │
- ├───────────────┼────────────────┼──────────────────────────────┤
- │ FileMode │ Byte │ αѪ¿¼ «Γ¬αδΓ¿∩ Σá⌐½á │
- ├───────────────┼────────────────┼──────────────────────────────┤
- │ FreeList │ Pointer │ ß»¿ß«¬ ßó«í«ñ¡δσ í½«¬«ó ñ¿- │
- │ │ │ ¡á¼¿τÑ߬¿ αáß»αÑñѽ∩Ѽ«⌐ «í- │
- │ │ │ ½áßΓ¿ »á¼∩Γ¿ │
- ├───────────────┼────────────────┼──────────────────────────────┤
- │ FreeZero │ Pointer │ ñ«½ªÑ¡ íδΓ∞ αáóÑ¡ 0 │
- ├───────────────┼────────────────┼──────────────────────────────┤
- │ HeapOrg │ Pointer │ ¡áτὫ ñ¿¡á¼¿τÑ߬¿ αáß»αÑñÑ- │
- │ │ │ ½∩Ѽ«⌐ «í½áßΓ¿ │
- ├───────────────┼────────────────┼──────────────────────────────┤
- │ HeapPtr │ Pointer │ π¬áºáΓѽ∞ ñ¿¡á¼¿τÑ߬¿ αáß- │
- │ │ │ »αÑñѽ∩Ѽ«⌐ «í½áßΓ¿ │
- ├───────────────┼────────────────┼──────────────────────────────┤
- │ HeapError │ Pointer │ Σπ¡¬µ¿∩ «Φ¿í¬¿ ñ¿¡á¼¿τÑ߬¿ │
- │ │ │ αáß»αÑñѽ∩Ѽ«⌐ «í½áßΓ¿ »á¼∩- │
- │ │ │ Γ¿ │
- ├───────────────┼────────────────┼──────────────────────────────┤
- │ Input │ Text │ ßΓá¡ñáαΓ¡δ⌐ Σá⌐½ óó«ñá │
- ├───────────────┼────────────────┼──────────────────────────────┤
- │ InOutRes │ Integer │ íπΣÑα αѺπ½∞ΓáΓá «»Ñαᵿ¿ │
- │ │ │ óó«ñá-óδó«ñá │
- ├───────────────┼────────────────┼──────────────────────────────┤
- │ Output │ Text │ ßΓá¡ñáαΓ¡δ⌐ Σá⌐½ óδó«ñá │
- ├───────────────┼────────────────┼──────────────────────────────┤
- │ OvrCodeList │ Word │ ß»¿ß«¬ ßÑú¼Ñ¡Γ«ó «óÑα½Ñ⌐¡«ú« │
- │ │ │ ¬«ñá │
- ├───────────────┼────────────────┼──────────────────────────────┤
- │ OvrDebugPtr │ Pointer │ ¿ß»«½∞ºπÑΓß∩ »α¿ «Γ½áñ¬Ñ │
- │ │ │ «óÑα½ÑÑó │
- ├───────────────┼────────────────┼──────────────────────────────┤
- │ OvrDosHandle │ Word │ «»¿ßáΓѽ∞ «óÑα½Ñ∩ DOS │
-
- B.Pascal 7 & Objects/LR - 207 -
-
- ├───────────────┼────────────────┼──────────────────────────────┤
- │ OvrEmsHandle │ Word │ «»¿ßáΓѽ∞ «óÑα½Ñ∩ EMS │
- ├───────────────┼────────────────┼──────────────────────────────┤
- │ OvrHeapEnd │ Word │ ¬«¡Ñµ «óÑα½Ñ⌐¡«ú« íπΣÑαá │
- ├───────────────┼────────────────┼──────────────────────────────┤
- │ OvrHeapOrg │ Word │ ¡áτὫ «óÑα½Ñ⌐¡«ú« íπΣÑαá │
- ├───────────────┼────────────────┼──────────────────────────────┤
- │ OvrHeapPtr │ Word │ π¬áºáΓѽ∞ «óÑα½Ñ⌐¡«ú« íπΣÑαá │
- ├───────────────┼────────────────┼──────────────────────────────┤
- │ OvrHeapSize │ Word │ ¡áτá½∞¡δ⌐ αẼÑα «óÑα½Ñ⌐¡«ú« │
- │ │ │ íπΣÑαá │
- ├───────────────┼────────────────┼──────────────────────────────┤
- │ OvrLoadList │ Word │ ß»¿ß«¬ ºáúαπªÑ¡¡δσ «óÑα½ÑÑó │
- ├───────────────┼────────────────┼──────────────────────────────┤
- │ PrefixSeg │ Word │ »αÑΣ¿¬ß »α«úαá¼¼¡«ú« ßÑú¼Ñ¡- │
- │ │ │ Γá │
- ├───────────────┼────────────────┼──────────────────────────────┤
- │ RandSeed │ Longint │ ß½πτá⌐¡«Ñ τ¿ß½« (úÑ¡Ñα¿απ- │
- │ │ │ ÑΓß∩ ñáΓτ¿¬«¼ ß½πτá⌐¡δσ τ¿- │
- │ │ │ ßѽ) │
- ├───────────────┼────────────────┼──────────────────────────────┤
- │ SaveInt00 │ Pointer │ ß«σαá¡Ñ¡¡«Ñ »αÑαδóá¡¿Ñ $00 │
- ├───────────────┼────────────────┼──────────────────────────────┤
- │ SaveInt02 │ Pointer │ ß«σαá¡Ñ¡¡«Ñ »αÑαδóá¡¿Ñ $02 │
- ├───────────────┼────────────────┼──────────────────────────────┤
- │ SaveInt1B │ Pointer │ ß«σαá¡Ñ¡¡«Ñ »αÑαδóá¡¿Ñ $1B │
- ├───────────────┼────────────────┼──────────────────────────────┤
- │ SaveInt23 │ Pointer │ ß«σαá¡Ñ¡¡«Ñ »αÑαδóá¡¿Ñ $23 │
- ├───────────────┼────────────────┼──────────────────────────────┤
- │ SaveInt24 │ Pointer │ ß«σαá¡Ñ¡¡«Ñ »αÑαδóá¡¿Ñ $24 │
- ├───────────────┼────────────────┼──────────────────────────────┤
- │ SaveInt34 │ Pointer │ ß«σαá¡Ñ¡¡«Ñ »αÑαδóá¡¿Ñ $34 │
- ├───────────────┼────────────────┼──────────────────────────────┤
- │ SaveInt35 │ Pointer │ ß«σαá¡Ñ¡¡«Ñ »αÑαδóá¡¿Ñ $35 │
- ├───────────────┼────────────────┼──────────────────────────────┤
- │ SaveInt36 │ Pointer │ ß«σαá¡Ñ¡¡«Ñ »αÑαδóá¡¿Ñ $36 │
- ├───────────────┼────────────────┼──────────────────────────────┤
- │ SaveInt37 │ Pointer │ ß«σαá¡Ñ¡¡«Ñ »αÑαδóá¡¿Ñ $37 │
- ├───────────────┼────────────────┼──────────────────────────────┤
- │ SaveInt38 │ Pointer │ ß«σαá¡Ñ¡¡«Ñ »αÑαδóá¡¿Ñ $38 │
- ├───────────────┼────────────────┼──────────────────────────────┤
- │ SaveInt39 │ Pointer │ ß«σαá¡Ñ¡¡«Ñ »αÑαδóá¡¿Ñ $39 │
- ├───────────────┼────────────────┼──────────────────────────────┤
- │ SaveInt3A │ Pointer │ ß«σαá¡Ñ¡¡«Ñ »αÑαδóá¡¿Ñ $3A │
- ├───────────────┼────────────────┼──────────────────────────────┤
- │ SaveInt3B │ Pointer │ ß«σαá¡Ñ¡¡«Ñ »αÑαδóá¡¿Ñ $3B │
- ├───────────────┼────────────────┼──────────────────────────────┤
- │ SaveInt3C │ Pointer │ ß«σαá¡Ñ¡¡«Ñ »αÑαδóá¡¿Ñ $3C │
- ├───────────────┼────────────────┼──────────────────────────────┤
- │ SaveInt3D │ Pointer │ ß«σαá¡Ñ¡¡«Ñ »αÑαδóá¡¿Ñ $3D │
- ├───────────────┼────────────────┼──────────────────────────────┤
- │ SaveInt3E │ Pointer │ ß«σαá¡Ñ¡¡«Ñ »αÑαδóá¡¿Ñ $3E │
- ├───────────────┼────────────────┼──────────────────────────────┤
-
- B.Pascal 7 & Objects/LR - 208 -
-
- │ SaveInt3F │ Pointer │ ß«σαá¡Ñ¡¡«Ñ »αÑαδóá¡¿Ñ $3F │
- ├───────────────┼────────────────┼──────────────────────────────┤
- │ SaveInt75 │ Pointer │ ß«σαá¡Ñ¡¡«Ñ »αÑαδóá¡¿Ñ $75 │
- ├───────────────┼────────────────┼──────────────────────────────┤
- │ Seg0040 │ Word │ ßÑ½Ñ¬Γ«α ßÑú¼Ñ¡Γá $0040 │
- ├───────────────┼────────────────┼──────────────────────────────┤
- │ SegA000 │ Word │ ßÑ½Ñ¬Γ«α ßÑú¼Ñ¡Γá $A000 │
- ├───────────────┼────────────────┼──────────────────────────────┤
- │ SegB000 │ Word │ ßÑ½Ñ¬Γ«α ßÑú¼Ñ¡Γá $B000 │
- ├───────────────┼────────────────┼──────────────────────────────┤
- │ SegC000 │ Word │ ßÑ½Ñ¬Γ«α ßÑú¼Ñ¡Γá $C000 │
- ├───────────────┼────────────────┼──────────────────────────────┤
- │ SelectorInc │ Word │ Φáú πóѽ¿τÑ¡¿∩ ßÑ½Ñ¬Γ«αá │
- ├───────────────┼────────────────┼──────────────────────────────┤
- │ StackLimit │ Word │ π¬áºáΓѽ∞ ¡á ¡¿ª¡εε úαá¡¿µπ │
- │ │ │ ßΓѬá │
- ├───────────────┼────────────────┼──────────────────────────────┤
- │ Test8086 │ Byte │ αѺπ½∞ΓáΓ »α«óÑન »α«µÑß- │
- │ │ │ ß«αá 8086 │
- ├───────────────┼────────────────┼──────────────────────────────┤
- │ Test8087 │ Byte │ αѺπ½∞ΓáΓ »α«óÑન ß«»α«µÑß- │
- │ │ │ ß«αá 8087 │
- └───────────────┴────────────────┴──────────────────────────────┘
-
- PrefixSeg »αÑñßΓáó½∩ÑΓ ß«í«⌐ »ÑαѼѡ¡πε ñ½¿¡«⌐ ó ß½«ó«, ß«-
- ñÑαªáΘπε áñαÑß »αÑΣ¿¬ßá »α«úαá¼¼¡«ú« ßÑú¼Ñ¡Γá (PSP), ß«ºñáóáѼ«ú«
- »α¿ óδ»«½¡Ñ¡¿¿ »α«úαá¼¼δ «»Ñαᵿ«¡¡«⌐ ß¿ßΓѼ«⌐ DOS. Å«½¡«Ñ «»¿ßá-
- ¡¿Ñ PSP »α¿óÑñÑ¡« ó απ¬«ó«ñßΓóÑ »« «»Ñαᵿ«¡¡«⌐ ß¿ßΓÑ¼Ñ DOS.
-
- ÅÑαѼѡ¡á∩ StackLimit ß«ñÑαª¿Γ ß¼ÑΘÑ¡¿Ñ ¡áτá½á ßΓÑ¬á «Γ¡«ß¿-
- Γѽ∞¡« ßÑú¼Ñ¡Γá ßΓѬá, τΓ« ß««ΓóÑΓßΓóπÑΓ ¼¿¡¿¼á½∞¡«¼π ñ«»πßΓ¿¼«¼π
- º¡áτÑ¡¿ε αÑú¿ßΓαá SP, »«ß½Ñ ¬«Γ«α«ú« πªÑ 󫺡¿¬áÑΓ ß¿Γπᵿ∩ »ÑαÑ-
- »«½¡Ñ¡¿∩ ßΓѬá. Å« π¼«½τá¡¿ε º¡áτÑ¡¿Ñ φΓ«⌐ »ÑαѼѡ¡«⌐ αáó¡« 0, ¡«
- Ñß½¿ »α«úαá¼¼á ¬«¼»¿½¿απÑΓß∩ ß ñ¿αÑ¬Γ¿óἿ {$N+,$E+}, Γ« φ¼π½∩Γ«α
- ß«»α«µÑßß«αá 8087 »α¿ «ΓßπΓßΓó¿¿ ó ß¿ßΓÑ¼Ñ ß«»α«µÑßß«αá 8087 ñ½∩
- αѺÑαó¿α«óá¡¿∩ ¼ÑßΓá ó ¼½áñΦ¿σ áñαÑßáσ ßÑú¼Ñ¡Γá ßΓѬá íπñÑΓ πßΓá-
- ¡áó½¿óáΓ∞ ÑÑ ó º¡áτÑ¡¿Ñ 224.
-
- ÅÑαѼѡ¡á∩ InOutRes ¿ß»«½∞ºπÑΓß∩ óßΓα«Ñ¡¡δ¼¿ »α«úαἼἿ
- óó«ñá-óδó«ñá ñ½∩ ß«σαá¡Ñ¡¿∩ º¡áτÑ¡¿∩, ó«ºóαáΘáѼ«ú« »α¿ ß½ÑñπεΘѼ
- «íαáΘÑ¡¿¿ ¬ Σπ¡¬µ¿¿ IOResult.
-
- é RandSeed ß«σαá¡∩ÑΓß∩ ¡áτá½∞¡«Ñ º¡áτÑ¡¿Ñ ñ½∩ óßΓα«Ñ¡¡«ú«
- úÑ¡ÑαáΓ«αá ß½πτá⌐¡δσ τ¿ßѽ. àß½¿ »α¿ßóá¿óáΓ∞ φΓ«⌐ »ÑαѼѡ¡«⌐ «»-
- αÑñѽѡ¡«Ñ º¡áτÑ¡¿Ñ, Γ« Σπ¡¬µ¿∩ Random íπñÑΓ úÑ¡Ñα¿α«óáΓ∞ ºáñá¡-
- ¡πε »«ß½Ññ«óáΓѽ∞¡«ßΓ∞ ß½πτá⌐¡δσ τ¿ßѽ.
-
- B.Pascal 7 & Objects/LR - 209 -
-
-
- ÅÑαѼѡ¡á∩ FileMode »«ºó«½∩ÑΓ ¿º¼Ñ¡∩Γ∞ αѪ¿¼ ñ«ßΓπ»á ¬ «Γ¬-
- αδΓδ¼ Γ¿»¿º¿α«óá¡¡δ¼ ¿ ¡ÑΓ¿»¿º¿α«óá¡¡δ¼ Σá⌐½á¼.
-
- é »ÑαѼѡ¡«⌐ Test8087 ß«σαá¡∩ÑΓß∩ αѺπ½∞ΓáΓ αáí«Γδ á½ú«α¿Γ-
- ¼«ó áóΓ«¼áΓ¿τÑ߬«ú« αáß»«º¡áóá¡¿∩ ß«»α«µÑßß«αá 8087, ¬«Γ«αδÑ ¡á-
- τ¿¡áεΓ αáí«ΓáΓ∞ »α¿ ºá»π᪥ »α«úαá¼¼δ, ߬«¼»¿½¿α«óá¡¡«⌐ ß ñ¿αѬ-
- Γ¿ó«⌐ {$N+}.
-
- Input ¿ Äutput - φΓ« ßΓá¡ñáαΓ¡δÑ Σá⌐½δ óó«ñá-óδó«ñá, ¡Ñ«íσ«-
- ñ¿¼δÑ ó ¬áªñ«⌐ αÑ὿ºáµ¿¿ Åá߬á½∩. Å« π¼«½τá¡¿ε «¡¿ ßó∩ºδóáεΓß∩
- ß« ßΓá¡ñáαΓ¡δ¼¿ óσ«ñ¡δ¼¿ ¿ óδσ«ñ¡δ¼¿ Σá⌐½á¼¿ ó Dos.
-
-
- B.Pascal 7 & Objects/LR - 210 -
-
-
- æ½ÑñπεΘ¿Ñ »ÑαѼѡ¡δÑ «»¿ßδóáεΓß∩ ó ¼«ñπ½Ñ System í¿í½¿«ΓѬ¿
- TPW.TPL - í¿í½¿«ΓÑ¬Ñ ¿ß»«½¡∩εΘÑ⌐ ß¿ßΓѼδ ñ½∩ »α¿½«ªÑ¡¿⌐ Windows.
-
- ┌───────────────┬────────────────┬──────────────────────────────┐
- │ ÅÑαѼѡ¡á∩ │ Æ¿» │ Ä»¿ßá¡¿Ñ │
- ├───────────────┼────────────────┼──────────────────────────────┤
- │ CmdLine │ PChar │ π¬áºáΓѽ∞ ¬«¼á¡ñ¡«⌐ ßΓ᫬¿ │
- ├───────────────┼────────────────┼──────────────────────────────┤
- │ CmdShow │ Integer │ »áαá¼ÑΓα CmdShow ñ½∩ Create- │
- │ │ │ Window │
- ├───────────────┼────────────────┼──────────────────────────────┤
- │ ErrorAddr │ Pointer │ áñαÑß «Φ¿í¬¿ φΓá»á óδ»«½¡Ñ- │
- │ │ │ ¡¿∩ │
- ├───────────────┼────────────────┼──────────────────────────────┤
- │ ExitProc │ Pointer │ »α«µÑñπαá óδσ«ñá │
- ├───────────────┼────────────────┼──────────────────────────────┤
- │ ExitCode │ Integer │ ¬«ñ óδσ«ñá │
- ├───────────────┼────────────────┼──────────────────────────────┤
- │ FileMode │ Byte │ αѪ¿¼ «Γ¬αδΓ¿∩ Σá⌐½á │
- ├───────────────┼────────────────┼──────────────────────────────┤
- │ Input │ Text │ ßΓá¡ñáαΓ¡δ⌐ Σá⌐½ óó«ñá │
- ├───────────────┼────────────────┼──────────────────────────────┤
- │ HeapAllocFlag │ Word │ Σ½áú¿ αáß»αÑñѽѡ¿∩ í½«¬á │
- │ │ │ ñ¿¡á¼¿τÑ߬¿ αáß»αÑñѽ∩Ѽ«⌐ │
- │ │ │ «í½áßΓ¿ »á¼∩Γ¿ │
- ├───────────────┼────────────────┼──────────────────────────────┤
- │ HeapBlock │ Word │ αẼÑα í½«¬á ñ¿¡á¼¿τÑ߬¿ │
- │ │ │ αáß»αÑñѽ∩Ѽ«⌐ «í½áßΓ¿ »á¼∩- │
- │ │ │ Γ¿ │
- ├───────────────┼────────────────┼──────────────────────────────┤
- │ HearError │ Pointer │ Σπ¡¬µ¿∩ «Φ¿í¬¿ ñ¿¡á¼¿τÑ߬¿ │
- │ │ │ αáß»αÑñѽ∩Ѽ«⌐ «í½áßΓ¿ »á¼∩- │
- │ │ │ Γ¿ │
- ├───────────────┼────────────────┼──────────────────────────────┤
- │ HeapLimit │ Word │ αẼÑα ¡á¿¼Ñ¡∞ΦÑú« í½«¬á ñ¿- │
- │ │ │ ¡á¼¿τÑ߬¿ αáß»αÑñѽ∩Ѽ«⌐ «í- │
- │ │ │ ½áßΓ¿ »á¼∩Γ¿ │
- ├───────────────┼────────────────┼──────────────────────────────┤
- │ HeapList │ Word │ ß»¿ß«¬ ßÑú¼Ñ¡Γ«ó ñ¿¡á¼¿τÑ߬¿ │
- │ │ │ αáß»αÑñѽ∩Ѽ«⌐ «í½áßΓ¿ »á¼∩- │
- │ │ │ Γ¿ │
- ├───────────────┼────────────────┼──────────────────────────────┤
- │ HInstance │ Word │ «»¿ßáΓѽ∞ ñá¡¡«ú« φ¬ºÑ¼»½∩αá │
- ├───────────────┼────────────────┼──────────────────────────────┤
- │ HPrevInst │ Word │ «»¿ßáΓѽ∞ »αÑñδñπΘÑú« φ¬ºÑ¼- │
- │ │ │ »½∩αá │
- ├───────────────┼────────────────┼──────────────────────────────┤
- │ InOutRes │ Integer │ íπΣÑα αѺπ½∞ΓáΓá «»Ñαᵿ¿ │
- │ │ │ óó«ñá-óδó«ñá │
- ├───────────────┼────────────────┼──────────────────────────────┤
- │ Output │ Text │ ßΓá¡ñáαΓ¡δ⌐ Σá⌐½ óδó«ñá │
- ├───────────────┼────────────────┼──────────────────────────────┤
-
- B.Pascal 7 & Objects/LR - 211 -
-
- │ PrefixSeg │ Word │ »αÑΣ¿¬ß »α«úαá¼¼¡«ú« ßÑú¼Ñ¡- │
- │ │ │ Γá │
- ├───────────────┼────────────────┼──────────────────────────────┤
- │ RandSeed │ Longint │ ß½πτá⌐¡«Ñ τ¿ß½« (úÑ¡Ñα¿απ- │
- │ │ │ ÑΓß∩ ñáΓτ¿¬«¼ ß½πτá⌐¡δσ τ¿- │
- │ │ │ ßѽ) │
- ├───────────────┼────────────────┼──────────────────────────────┤
- │ SelectorInc │ Word │ Φáú πóѽ¿τÑ¡¿∩ ßÑ½Ñ¬Γ«αá │
- ├───────────────┼────────────────┼──────────────────────────────┤
- │ StackLimit │ Word │ π¬áºáΓѽ∞ ¡á ¡¿ª¡εε úαá¡¿µπ │
- │ │ │ ßΓѬá │
- ├───────────────┼────────────────┼──────────────────────────────┤
- │ Test8086 │ Byte │ αѺπ½∞ΓáΓ »α«óÑન »α«µÑß- │
- │ │ │ ß«αá 8086 │
- └───────────────┴────────────────┴──────────────────────────────┘
-
- HInstance ß«ñÑαª¿Γ «»¿ßáΓѽ∞ φ¬ºÑ¼»½∩αá »α¿¬½áñ¡«⌐ »α«úαá¼¼δ
- ¿½¿ í¿í½¿«ΓѬ¿, ¬á¬ φΓ« »αÑñπß¼áΓα¿óáÑΓß∩ «»Ñαᵿ«¡¡«⌐ ßαÑñ«⌐
- Windows. é »α«úαá¼¼Ñ HPrevInst ß«ñÑαª¿Γ »αÑñδñπΘ¿⌐ φ¬ºÑ¼»½∩α
- »α¿¬½áñ¡«⌐ »α«úαá¼¼δ, ¿½¿ 0, Ñß½¿ »αÑñδñπΘÑú« φ¬ºÑ¼»½∩αá ¡ÑΓ. é
- í¿í½¿«ΓÑ¬Ñ HPrevInst óßÑúñá αáó¡« 0.
-
- é »α«úαá¼¼Ñ CmdLine ß«ñÑαª¿Γ π¬áºáΓѽ∞ ¡á ºáóÑαΦáεΘπεß∩ ¡π-
- ½Ñ¼ ßΓ᫬π, ¬«Γ«αá∩ ß«ñÑαª¿Γ áαúπ¼Ñ¡Γδ ¬«¼á¡ñ¡«⌐ ßΓ᫬¿, ºáñá¡¡δÑ
- »α¿ ºá»π᪥ »α¿¬½áñ¡«⌐ »α«úαá¼¼δ. é í¿í½¿«ΓÑ¬Ñ φΓá »ÑαѼѡ¡á∩ ¡Ñ
- «»αÑñѽѡá.
-
- é »α«úαá¼¼Ñ CmdShow ß«ñÑαª¿Γ º¡áτÑ¡¿Ñ »áαá¼ÑΓαá, »ÑαÑñáτπ
- ¬«Γ«α«ú« ó ShowWindow «ª¿ñáÑΓ Windows, ¬«úñá »α¿¬½áñ¡á∩ »α«úαá¼¼á
- ß«ºñáÑΓ «ß¡«ó¡«Ñ «¬¡«. é í¿í½¿«ΓÑ¬Ñ φΓá »ÑαѼѡ¡á∩ óßÑúñá αáó¡á
- 0.
-
- Å«ñß¿ßΓѼ«⌐ π»αáó½Ñ¡¿∩ ñ¿¡á¼¿τÑ߬¿ αáß»αÑñѽ∩Ѽ«⌐ «í½áßΓ∞ε
- »á¼∩Γ¿ ñ½∩ αÑ὿ºáµ¿¿ »α«úαá¼¼ ñ¿¡á¼¿τÑ߬«ú« αáß»αÑñѽѡ¿∩ »á¼∩Γ¿
- Borland Pascal ¿ß»«½∞ºπεΓß∩ »ÑαѼѡ¡δÑ HeapList, HeapLimit,
- HeapBlock ¿ HeapError.
-
- ä½∩ αÑ὿ºáµ¿¿ »α«µÑñπα óδσ«ñá ¿ß»«½∞ºπεΓß∩ »ÑαѼѡ¡δÑ
- ExitProc, ErrorCode ¿ ErrorAdr.
-
- ÅÑαѼѡ¡á∩ PrefixSeg »αÑñßΓáó½∩ÑΓ ß«í«⌐ »ÑαѼѡ¡πε ñ½¿¡«⌐ ó
- ß½«ó«, ß«ñÑαªáΘπε áñαÑß »αÑΣ¿¬ßá »α«úαá¼¼¡«ú« ßÑú¼Ñ¡Γá (PSP),
- ß«ºñáóáѼ«ú« »α¿ óδ»«½¡Ñ¡¿¿ »α«úαá¼¼δ «»Ñαᵿ«¡¡«⌐ ß¿ßΓѼ«⌐ DOS.
- Å«½¡«Ñ «»¿ßá¡¿Ñ PSP »α¿óÑñÑ¡« ó απ¬«ó«ñßΓóÑ »« «»Ñαᵿ«¡¡«⌐ ß¿ß-
- ΓÑ¼Ñ DOS.
-
- ÅÑαѼѡ¡á∩ InOutRes ¿ß»«½∞ºπÑΓß∩ óßΓα«Ñ¡¡δ¼¿ »α«úαἼἿ
- óó«ñá-óδó«ñá ñ½∩ ß«σαá¡Ñ¡¿∩ º¡áτÑ¡¿∩, ó«ºóαáΘáѼ«ú« »α¿ ß½ÑñπεΘѼ
- «íαáΘÑ¡¿¿ ¬ Σπ¡¬µ¿¿ IOResult.
-
- ÅÑαѼѡ¡á∩ FileMode »«ºó«½∩ÑΓ ¿º¼Ñ¡∩Γ∞ αѪ¿¼ ñ«ßΓπ»á ¬ «Γ¬-
- αδΓδ¼ Γ¿»¿º«óá¡¡δ¼ ¿ ¡ÑΓ¿»¿º¿α«óá¡¡δ¼ Σá⌐½á¼. ü«½ÑÑ »«ñα«í¡« φΓ«
- «»¿ßá¡« ó â½áóÑ 14 "éó«ñ ¿ óδó«ñ".
-
- B.Pascal 7 & Objects/LR - 212 -
-
-
- æ½ÑñπεΘ¿Ñ »ÑαѼѡ¡δÑ «»¿ßδóáεΓß∩ ó ¼«ñπ½Ñ System í¿í½¿«ΓѬ¿
- TPP.TPL - í¿í½¿«ΓÑ¬Ñ ¿ß»«½¡∩εΘÑ⌐ ß¿ßΓѼδ ñ½∩ »α¿½«ªÑ¡¿⌐ ºáΘ¿ΘÑ¡-
- ¡«ú« αѪ¿¼á DOS.
-
- ┌───────────────┬────────────────┬──────────────────────────────┐
- │ ÅÑαѼѡ¡á∩ │ Æ¿» │ Ä»¿ßá¡¿Ñ │
- ├───────────────┼────────────────┼──────────────────────────────┤
- │ ErrorAddr │ Pointer │ áñαÑß «Φ¿í¬¿ φΓá»á óδ»«½¡Ñ- │
- │ │ │ ¡¿∩ │
- ├───────────────┼────────────────┼──────────────────────────────┤
- │ ExitProc │ Pointer │ »α«µÑñπαá óδσ«ñá │
- ├───────────────┼────────────────┼──────────────────────────────┤
- │ ExitCode │ Integer │ ¬«ñ óδσ«ñá │
- ├───────────────┼────────────────┼──────────────────────────────┤
- │ FileMode │ Byte │ αѪ¿¼ «Γ¬αδΓ¿∩ Σá⌐½á │
- ├───────────────┼────────────────┼──────────────────────────────┤
- │ HeapAllocFlags│ Word │ Σ½áú¿ αáß»αÑñѽѡ¿∩ í½«¬á │
- │ │ │ ñ¿¡á¼¿τÑ߬¿ αáß»αÑñѽ∩Ѽ«⌐ │
- │ │ │ «í½áßΓ¿ »á¼∩Γ¿ │
- ├───────────────┼────────────────┼──────────────────────────────┤
- │ HeapBlock │ Word │ αẼÑα í½«¬á ñ¿¡á¼¿τÑ߬¿ │
- │ │ │ αáß»αÑñѽ∩Ѽ«⌐ «í½áßΓ¿ »á¼∩- │
- │ │ │ Γ¿ │
- ├───────────────┼────────────────┼──────────────────────────────┤
- │ HearError │ Pointer │ Σπ¡¬µ¿∩ «Φ¿í¬¿ ñ¿¡á¼¿τÑ߬¿ │
- │ │ │ αáß»αÑñѽ∩Ѽ«⌐ «í½áßΓ¿ »á¼∩- │
- │ │ │ Γ¿ │
- ├───────────────┼────────────────┼──────────────────────────────┤
- │ HeapLimit │ Word │ αẼÑα ¡á¿¼Ñ¡∞ΦÑú« í½«¬á ñ¿- │
- │ │ │ ¡á¼¿τÑ߬¿ αáß»αÑñѽ∩Ѽ«⌐ «í- │
- │ │ │ ½áßΓ¿ »á¼∩Γ¿ │
- ├───────────────┼────────────────┼──────────────────────────────┤
- │ HeapList │ Word │ ß»¿ß«¬ ßÑú¼Ñ¡Γ«ó ñ¿¡á¼¿τÑ߬¿ │
- │ │ │ αáß»αÑñѽ∩Ѽ«⌐ «í½áßΓ¿ »á¼∩- │
- │ │ │ Γ¿ │
- ├───────────────┼────────────────┼──────────────────────────────┤
- │ HInstance │ Word │ «»¿ßáΓѽ∞ ñá¡¡«ú« φ¬ºÑ¼»½∩αá │
- ├───────────────┼────────────────┼──────────────────────────────┤
- │ HPrevInst │ Word │ «»¿ßáΓѽ∞ »αÑñδñπΘÑú« φ¬ºÑ¼- │
- │ │ │ »½∩αá │
- ├───────────────┼────────────────┼──────────────────────────────┤
- │ InOutRes │ Integer │ íπΣÑα αѺπ½∞ΓáΓá «»Ñαᵿ¿ │
- │ │ │ óó«ñá-óδó«ñá │
- ├───────────────┼────────────────┼──────────────────────────────┤
- │ Output │ Text │ ßΓá¡ñáαΓ¡δ⌐ Σá⌐½ óδó«ñá │
- ├───────────────┼────────────────┼──────────────────────────────┤
- │ PrefixSeg │ Word │ »αÑΣ¿¬ß »α«úαá¼¼¡«ú« ßÑú¼Ñ¡- │
- │ │ │ Γá │
- ├───────────────┼────────────────┼──────────────────────────────┤
- │ RandSeed │ Longint │ ß½πτá⌐¡«Ñ τ¿ß½« (úÑ¡Ñα¿απ- │
- │ │ │ ÑΓß∩ ñáΓτ¿¬«¼ ß½πτá⌐¡δσ τ¿- │
- │ │ │ ßѽ) │
-
- B.Pascal 7 & Objects/LR - 213 -
-
- ├───────────────┼────────────────┼──────────────────────────────┤
- │ RealModeRegs │ array[0..49] of│ αÑú¿ßΓαδ αÑá½∞¡«ú« αѪ¿¼á │
- │ │ byte │ │
- ├───────────────┼────────────────┼──────────────────────────────┤
- │ SaveInt00 │ Pointer │ ß«σαá¡Ñ¡¡á∩ ¿ß¬½ετ¿Γѽ∞¡á∩ │
- │ │ │ ß¿Γπᵿ∩ $00 │
- ├───────────────┼────────────────┼──────────────────────────────┤
- │ SaveInt02 │ Pointer │ ß«σαá¡Ñ¡¡«Ñ »αÑαδóá¡¿Ñ $02 │
- ├───────────────┼────────────────┼──────────────────────────────┤
- │ SaveInt0C │ Pointer │ ß«σαá¡Ñ¡¡«Ñ ¿ß¬½ετ¿Γѽ∞¡á∩ │
- │ │ │ ß¿Γπᵿ∩ $0æ │
- ├───────────────┼────────────────┼──────────────────────────────┤
- │ SaveInt0D │ Pointer │ ß«σαá¡Ñ¡¡«Ñ »αÑαδóá¡¿Ñ $0D │
- ├───────────────┼────────────────┼──────────────────────────────┤
- │ SaveInt1B │ Pointer │ ß«σαá¡Ñ¡¡«Ñ »αÑαδóá¡¿Ñ $1B │
- ├───────────────┼────────────────┼──────────────────────────────┤
- │ SaveInt21 │ Pointer │ ß«σαá¡Ñ¡¡«Ñ »αÑαδóá¡¿Ñ $21 │
- ├───────────────┼────────────────┼──────────────────────────────┤
- │ SaveInt23 │ Pointer │ ß«σαá¡Ñ¡¡«Ñ »αÑαδóá¡¿Ñ │
- │ │ │ αÑá½∞¡«ú« αѪ¿¼á $23 │
- ├───────────────┼────────────────┼──────────────────────────────┤
- │ SaveInt24 │ Pointer │ ß«σαá¡Ñ¡¡«Ñ »αÑαδóá¡¿Ñ │
- │ │ │ αÑá½∞¡«ú« αѪ¿¼á $24 │
- ├───────────────┼────────────────┼──────────────────────────────┤
- │ SaveInt34 │ Pointer │ ß«σαá¡Ñ¡¡«Ñ »αÑαδóá¡¿Ñ $34 │
- ├───────────────┼────────────────┼──────────────────────────────┤
- │ SaveInt35 │ Pointer │ ß«σαá¡Ñ¡¡«Ñ »αÑαδóá¡¿Ñ $35 │
- ├───────────────┼────────────────┼──────────────────────────────┤
- │ SaveInt36 │ Pointer │ ß«σαá¡Ñ¡¡«Ñ »αÑαδóá¡¿Ñ $36 │
- ├───────────────┼────────────────┼──────────────────────────────┤
- │ SaveInt37 │ Pointer │ ß«σαá¡Ñ¡¡«Ñ »αÑαδóá¡¿Ñ $37 │
- ├───────────────┼────────────────┼──────────────────────────────┤
- │ SaveInt3B │ Pointer │ ß«σαá¡Ñ¡¡«Ñ »αÑαδóá¡¿Ñ $38 │
- ├───────────────┼────────────────┼──────────────────────────────┤
- │ SaveInt39 │ Pointer │ ß«σαá¡Ñ¡¡«Ñ »αÑαδóá¡¿Ñ $39 │
- ├───────────────┼────────────────┼──────────────────────────────┤
- │ SaveInt3A │ Pointer │ ß«σαá¡Ñ¡¡«Ñ »αÑαδóá¡¿Ñ $3A │
- ├───────────────┼────────────────┼──────────────────────────────┤
- │ SaveInt3B │ Pointer │ ß«σαá¡Ñ¡¡«Ñ »αÑαδóá¡¿Ñ $3B │
- ├───────────────┼────────────────┼──────────────────────────────┤
- │ SaveInt3C │ Pointer │ ß«σαá¡Ñ¡¡«Ñ »αÑαδóá¡¿Ñ $3C │
- ├───────────────┼────────────────┼──────────────────────────────┤
- │ SaveInt3D │ Pointer │ ß«σαá¡Ñ¡¡«Ñ »αÑαδóá¡¿Ñ $3D │
- ├───────────────┼────────────────┼──────────────────────────────┤
- │ SaveInt3E │ Pointer │ ß«σαá¡Ñ¡¡«Ñ »αÑαδóá¡¿Ñ $3E │
- ├───────────────┼────────────────┼──────────────────────────────┤
- │ SaveInt3F │ Pointer │ ß«σαá¡Ñ¡¡«Ñ »αÑαδóá¡¿Ñ $3F │
- ├───────────────┼────────────────┼──────────────────────────────┤
- │ SaveInt75 │ Pointer │ ß«σαá¡Ñ¡¡«Ñ »αÑαδóá¡¿Ñ $75 │
- ├───────────────┼────────────────┼──────────────────────────────┤
- │ Seg0040 │ Word │ ßÑ½Ñ¬Γ«α ßÑú¼Ñ¡Γá $0040 │
- ├───────────────┼────────────────┼──────────────────────────────┤
- │ SegA000 │ Word │ ßÑ½Ñ¬Γ«α ßÑú¼Ñ¡Γá $A000 │
-
- B.Pascal 7 & Objects/LR - 214 -
-
- ├───────────────┼────────────────┼──────────────────────────────┤
- │ SegB000 │ Word │ ßÑ½Ñ¬Γ«α ßÑú¼Ñ¡Γá $B000 │
- ├───────────────┼────────────────┼──────────────────────────────┤
- │ SegB800 │ Word │ ßÑ½Ñ¬Γ«α ßÑú¼Ñ¡Γá $B800 │
- ├───────────────┼────────────────┼──────────────────────────────┤
- │ Test8086 │ Byte │ αѺπ½∞ΓáΓ »α«óÑન »α«µÑß- │
- │ │ │ ß«αá 8086 │
- ├───────────────┼────────────────┼──────────────────────────────┤
- │ Test8087 │ Byte │ αѺπ½∞ΓáΓ »α«óÑન ß«»α«µÑß- │
- │ │ │ ß«αá 8087 │
- └───────────────┴────────────────┴──────────────────────────────┘
-
- ü«½ÑÑ »«ñα«í¡πε ¿¡Σ«α¼áµ¿ε «í φΓ¿σ »ÑαѼѡ¡δσ óδ ¼«ªÑΓÑ ¡á⌐-
- Γ¿ ó â½áóÑ 1 ("æ»αáó«τ¡¿¬ »« í¿í½¿«ΓѬÑ") ó "æ»αáó«τ¡«¼ απ¬«ó«ñß-
- ΓóÑ »α«úαá¼¼¿ßΓá.
-
-
-
- B.Pascal 7 & Objects/LR - 215 -
-
- ───────────────────────────────────────────────────────────────────────
- â½áóá 14. éó«ñ ¿ óδó«ñ
- ─────────────────────────────────────────────────────────────────
-
- é ñá¡¡«⌐ â½áóÑ ¬αáΓ¬« «»¿ßδóáεΓß∩ ßΓá¡ñáαΓ¡δÑ (¿½¿ óßΓα«Ñ¡-
- ¡δÑ) Σπ¡¬µ¿¿ ¿ »α«µÑñπαδ óó«ñá-óδó«ñá Borland Pascal. ¥Γ¿ »α«µÑ-
- ñπαδ ¿ Σπ¡¬µ¿¿ ¼«ª¡« ¡á⌐Γ¿ ó ¼«ñπ½Ñ System.
-
- Åα«µÑñπαδ ¿ Σπ¡¬µ¿¿ óó«ñá-óδó«ñá
- ┌──────────────────┬────────────────────────────────────────────┐
- │ öπ¡¬µ¿∩ │ Ä»¿ßá¡¿Ñ │
- ├──────────────────┼────────────────────────────────────────────┤
- │ Append │ ÄΓ¬αδóáÑΓ ßπΘÑßΓóπεΘ¿⌐ Σá⌐½ ñ½∩ ñ«íáó½Ñ-│
- │ │ ¡¿∩. │
- ├──────────────────┼────────────────────────────────────────────┤
- │ Assign │ Åα¿ßóá¿óáÑΓ ¿¼∩ ó¡ÑΦ¡Ñú« Σá⌐½á Σá⌐½«ó«⌐ »Ñ-│
- │ │ αѼѡ¡«⌐. │
- ├──────────────────┼────────────────────────────────────────────┤
- │ BlockRead │ æτ¿ΓδóáÑΓ ¿º ¡ÑΓ¿»¿º¿α«óá¡¡«ú« Σá⌐½á «ñ¡π│
- │ │ ¿½¿ í«½ÑÑ ºá»¿ßÑ⌐. │
- ├──────────────────┼────────────────────────────────────────────┤
- │ BlockWrite │ çỿßδóáÑΓ ó ¡ÑΓ¿»¿º¿α«óá¡¡δ⌐ Σá⌐½ «ñ¡π│
- │ │ ¿½¿ í«½ÑÑ ºá»¿ßÑ⌐. │
- ├──────────────────┼────────────────────────────────────────────┤
- │ ChDir │ éδ»«½¡∩ÑΓ ß¼Ñ¡π ΓѬπΘÑú« ¬áΓὫúá. │
- ├──────────────────┼────────────────────────────────────────────┤
- │ Close │ çá¬αδóáÑΓ «Γ¬αδΓδ⌐ Σá⌐½. │
- ├──────────────────┼────────────────────────────────────────────┤
- │ Erase │ æΓ¿αáÑΓ ó¡ÑΦ¡¿⌐ Σá⌐½. │
- ├──────────────────┼────────────────────────────────────────────┤
- │ E«f │ 髺óαáΘáÑΓ ñ½∩ Σá⌐½á ß«ßΓ«∩¡¿Ñ end-of-file│
- │ │ (¬«¡Ñµ Σá⌐½á). │
- ├──────────────────┼────────────────────────────────────────────┤
- │ FilePos │ 髺óαáΘáÑΓ ΓѬπΘπε »«º¿µ¿ε ó Σá⌐½Ñ. ä½∩│
- │ │ ΓѬßΓ«óδσ Σá⌐½«ó ¡Ñ ¿ß»«½∞ºπÑΓß∩. │
- ├──────────────────┼────────────────────────────────────────────┤
- │ FileSize │ 髺óαáΘáÑΓ ΓѬπΘ¿⌐ αẼÑα Σá⌐½á. ä½∩ ΓѬß-│
- │ │ Γ«óδσ Σá⌐½«ó ¡Ñ ¿ß»«½∞ºπÑΓß∩. │
- ├──────────────────┼────────────────────────────────────────────┤
- │ Flush │ æíαáßδóáÑΓ íπΣÑα ΓѬßΓ«ó«ú« Σá⌐½á óδó«ñá. │
- ├──────────────────┼────────────────────────────────────────────┤
- │ Getdir │ 髺óαáΘáÑΓ ΓѬπΘ¿⌐ ¬áΓὫú ¡á ºáñá¡¡«¼ ñ¿ß-│
- │ │ ¬Ñ. │
- ├──────────────────┼────────────────────────────────────────────┤
- │ IÄResult │ 髺óαáΘáÑΓ µÑ½«Ñ º¡áτÑ¡¿Ñ, ∩ó½∩εΘÑÑß∩ ß«ß-│
- │ │ Γ«∩¡¿Ñ¼ »«ß½Ññ¡Ñ⌐ óδ»«½¡Ñ¡¡«⌐ «»Ñαᵿ¿ óó«-│
- │ │ ñá-óδó«ñá. │
- ├──────────────────┼────────────────────────────────────────────┤
- │ MkDir │ 櫺ñáÑΓ »«ñ¬áΓὫú. │
- ├──────────────────┼────────────────────────────────────────────┤
- │ Read │ æτ¿ΓδóáÑΓ «ñ¡« ¿½¿ í«½ÑÑ º¡áτÑ¡¿⌐ ¿º Σá⌐½á│
- │ │ ó «ñ¡π ¿½¿ í«½ÑÑ »ÑαѼѡ¡δσ. │
- ├──────────────────┼────────────────────────────────────────────┤
- │ Readln │ äѽáÑΓ Γ« ªÑ, τΓ« ¿ Read, ¿ óδ»«½¡∩ÑΓ »α«-│
-
- B.Pascal 7 & Objects/LR - 216 -
-
- │ │ »π߬ ñ« ¡áτá½á ß½ÑñπεΘÑ⌐ ßΓ᫬¿ ΓѬßΓ«ó«ú«│
- │ │ Σá⌐½á. │
- ├──────────────────┼────────────────────────────────────────────┤
- │ RÑná¼Ñ │ ÅÑαÑ¿¼Ñ¡«óδóáÑΓ ó¡ÑΦ¡¿⌐ Σá⌐½. │
- ├──────────────────┼────────────────────────────────────────────┤
- │ RÑset │ ÄΓ¬αδóáÑΓ ßπΘÑßΓóπεΘ¿⌐ Σá⌐½. │
- ├──────────────────┼────────────────────────────────────────────┤
- │ RewritÑ │ 櫺ñáÑΓ ¿ «Γ¬αδóáÑΓ ¡«óδ⌐ Σá⌐½. │
- ├──────────────────┼────────────────────────────────────────────┤
- │ R¼Dir │ ôñá½∩ÑΓ »πßΓ«⌐ »«ñ¬áΓὫú. │
- ├──────────────────┼────────────────────────────────────────────┤
- │ Seek │ ÅÑαѼÑΘáÑΓ ΓѬπΘπε »«º¿µ¿ε ó Σá⌐½Ñ ¡á ºá-│
- │ │ ñá¡¡δ⌐ φ½Ñ¼Ñ¡Γ. ä½∩ ΓѬßΓ«óδσ Σá⌐½«ó ¡Ñ ¿ß-│
- │ │ »«½∞ºπÑΓß∩. │
- ├──────────────────┼────────────────────────────────────────────┤
- │ SeekEof │ 髺óαáΘáÑΓ ñ½∩ ΓѬßΓ«ó«ú« Σá⌐½á ß«ßΓ«∩¡¿Ñ│
- │ │ "¬«¡Ñµ Σá⌐½á". │
- ├──────────────────┼────────────────────────────────────────────┤
- │ SeekEoln │ 髺óαáΘáÑΓ ñ½∩ ΓѬßΓ«ó«ú« Σá⌐½á ß«ßΓ«∩¡¿Ñ│
- │ │ "¬«¡Ñµ ßΓ᫬¿". │
- ├──────────────────┼────────────────────────────────────────────┤
- │ SetTextBuf │ ìạáτáÑΓ ñ½∩ ΓѬßΓ«ó«ú« Σá⌐½á íπΣÑα óó«ñá-│
- │ │ óδó«ñá. │
- ├──────────────────┼────────────────────────────────────────────┤
- │ Truncate │ ôßѬáÑΓ αẼÑα Σá⌐½á ñ« ΓѬπΘÑ⌐ »«º¿µ¿¿.│
- │ │ ä½∩ ΓѬßΓ«óδσ Σá⌐½«ó ¡Ñ ¿ß»«½∞ºπÑΓß∩. │
- ├──────────────────┼────────────────────────────────────────────┤
- │ Write │ çỿßδóáÑΓ ó Σá⌐½ «ñ¡« ¿½¿ í«½ÑÑ º¡áτÑ¡¿⌐. │
- ├──────────────────┼────────────────────────────────────────────┤
- │ Writeln │ äѽáÑΓ Γ« ªÑ, τΓ« Write, ¡« ºáΓѼ ºá»¿ßδ-│
- │ │ óáÑΓ ó ΓѬßΓ«óδ⌐ Σá⌐½ ß¿¼ó«½ ¬«¡µá ßΓ᫬¿. │
- └──────────────────┴────────────────────────────────────────────┘
-
-
-
- B.Pascal 7 & Objects/LR - 217 -
-
- öá⌐½«óδ⌐ óó«ñ-óδó«ñ
- ─────────────────────────────────────────────────────────────────
-
- öá⌐½«óá∩ »ÑαѼѡ¡á∩ ó Åá߬á½Ñ - φΓ« ½εíá∩ »ÑαѼѡ¡á∩ Σá⌐½«-
- ó«ú« Γ¿»á. é Åá߬á½Ñ ¿¼ÑεΓß∩ Γα¿ ¬½áßßá Σá⌐½«ó: Γ¿»¿º¿α«óá¡¡δ⌐
- Σá⌐½, ΓѬßΓ«óδ⌐ Σá⌐½ ¿ ¡ÑΓ¿»¿º¿α«óá¡¡δ⌐ Σá⌐½.
-
- Åα¿¼Ñτá¡¿Ñ: æ¿¡Γá¬ß¿ß ºá»¿ß¿ Γ¿»«ó Σá⌐½«ó »αÑñßΓáó½Ñ¡
- ó â½áóÑ 4, ó αáºñÑ½Ñ "æΓαπ¬Γπα¡δÑ Γ¿»δ".
-
- ÅÑαÑñ ¿ß»«½∞º«ó᡿Ѽ Σá⌐½«ó«⌐ »ÑαѼѡ¡«⌐ «¡á ñ«½ª¡á íδΓ∞
- ßó∩ºá¡á ß ó¡ÑΦ¡¿¼ Σá⌐½«¼ ß »«¼«Θ∞ε ó맮óá »α«µÑñπαδ Assign. é¡ÑΦ-
- ¡¿¼ Σá⌐½«¼ «íδτ¡« ∩ó½∩ÑΓß∩ »«¿¼Ñ¡«óá¡¡δ⌐ Σá⌐½ ¡á ñ¿ß¬Ñ, ¡« «¡
- Γá¬ªÑ ¼«ªÑΓ »αÑñßΓáó½∩Γ∞ ß«í«⌐ πßΓα«⌐ßΓó«, ¡á»α¿¼Ñα, ¬½áó¿áΓπαπ
- ¿½¿ ñ¿ß»½Ñ⌐. é« ó¡ÑΦ¡¿σ Σá⌐½áσ ß«σαá¡∩ÑΓß∩ ºá»¿ßá¡¡á∩ ó Σá⌐½ ¿¡-
- Σ«α¼áµ¿∩, ¿½¿ «¡¿ ß½πªáΓ ¿ßΓ«τ¡¿¬á¼¿ ¿¡Σ«α¼áµ¿¿, ¬«Γ«αá∩ ßτ¿Γδóá-
- ÑΓß∩ ¿º Σá⌐½á.
-
- è«úñá ßó∩º∞ ß ó¡ÑΦ¡¿¼ Σá⌐½«¼ πßΓá¡«ó½Ñ¡á, ñ½∩ »«ñú«Γ«ó¬¿ ÑÑ
- ¬ «»Ñαᵿ¿ óó«ñá ¿½¿ óδó«ñá Σá⌐½«óá∩ »ÑαѼѡ¡á∩ ñ«½ª¡á íδΓ∞ "«Γ¬-
- αδΓá". æπΘÑßΓóπεΘ¿⌐ Σá⌐½ ¼«ª¡« «Γ¬αδΓ∞ ß »«¼«Θ∞ε »α«µÑñπαδ Reset,
- á ¡«óδ⌐ Σá⌐½ ¼«ª¡« ß«ºñáΓ∞ ¿ «Γ¬αδΓ∞ ß »«¼«Θ∞ε »α«µÑñπαδ Rewrite.
- ÆÑ¬ßΓ«óδÑ Σá⌐½δ, «Γ¬αδΓδÑ ß »«¼«Θ∞ε »α«µÑñπαδ Reset ñ«ßΓπ»¡δ
- Γ«½∞¬« »« τΓÑ¡¿ε, á ΓѬßΓ«óδÑ Σá⌐½δ, «Γ¬αδΓδÑ ß »«¼«Θ∞ε »α«µÑñπαδ
- Rewrite, ñ«ßΓπ»¡δ Γ«½∞¬« »« ºá»¿ß¿. Æ¿»¿º¿α«óá¡¡δÑ ¿ ¡ÑΓ¿»¿º¿α«-
- óá¡¡δÑ Σá⌐½δ óßÑúñá ñ«»π߬áεΓ ¬á¬ τΓÑ¡¿Ñ, Γᬠ¿ ºá»¿ß∞, ¡Ñºáó¿ß¿-
- ¼« «Γ Γ«ú« í뫨 «¡¿ «Γ¬αδΓδ ß »«¼«Θ∞ε »α«µÑñπαδ Reset ¿½¿ ß »«-
- ¼«Θ∞ε »α«µÑñπαδ Rewrite.
-
- ïεí«⌐ Σá⌐½, »αÑñßΓáó½∩ÑΓ ß«í«⌐ ½¿¡Ñ⌐¡πε »«ß½Ññ«óáΓѽ∞¡«ßΓ∞
- φ½Ñ¼Ñ¡Γ«ó, ¬áªñδ⌐ ¿º ¬«Γ«αδσ ¿¼ÑÑΓ Γ¿» φ½Ñ¼Ñ¡Γá (¿½¿ Γ¿» ºá»¿ß¿)
- Σá⌐½á. èáªñδ⌐ φ½Ñ¼Ñ¡Γ Σá⌐½á ¿¼ÑÑΓ ¡«¼Ñα. ÅÑαóδ⌐ φ½Ñ¼Ñ¡Γ Σá⌐½á
- ßτ¿ΓáÑΓß∩ ¡π½Ñóδ¼ φ½Ñ¼Ñ¡Γ«¼.
-
- Äíδτ¡« ñ«ßΓπ» ¬ Σá⌐½á¼ «αúá¡¿ºπÑΓß∩ »«ß½Ññ«óáΓѽ∞¡«, Γ«
- ÑßΓ∞, ¬«úñá φ½Ñ¼Ñ¡Γ ßτ¿ΓδóáÑΓß∩ ß »«¼«Θ∞ε ßΓá¡ñáαΓ¡«⌐ »α«µÑñπαδ
- Read ¿½¿ ºá»¿ßδóáÑΓß∩ ß »«¼«Θ∞ε ßΓá¡ñáαΓ¡«⌐ »α«µÑñπαδ Write, ΓÑ-
- ¬πΘá∩ »«º¿µ¿∩ Σá⌐½á »ÑαѼÑΘáÑΓß∩ ¬ ß½ÑñπεΘÑ¼π »« »«α∩ñ¬π φ½Ñ¼Ñ¡Γπ
- Σá⌐½á. Äñ¡á¬« ¬ Γ¿»¿º¿α«óá¡¡δ¼ ¿ ¡ÑΓ¿»¿º¿α«óá¡¡δ¼ Σá⌐½á¼ ¼«ª¡«
- «αúá¡¿º«óáΓ∞ »α∩¼«⌐ ñ«ßΓπ» ß »«¼«Θ∞ε ßΓá¡ñáαΓ¡«⌐ »α«µÑñπαδ SÑÑk,
- ¬«Γ«αá∩ »ÑαѼÑΘáÑΓ ΓѬπΘπε »«º¿µ¿ε Σá⌐½á ¬ ºáñá¡¡«¼π φ½Ñ¼Ñ¡Γπ.
- ä½∩ «»αÑñѽѡ¿∩ ΓѬπΘÑ⌐ »«º¿µ¿¿ ó Σá⌐½Ñ ¿ ΓѬπΘÑú« αẼÑαá Σá⌐½á
- ¼«ª¡« ¿ß»«½∞º«óáΓ∞ ßΓá¡ñáαΓ¡δÑ Σπ¡¬µ¿¿ FileP«s ¿ Filesize.
-
- è«úñá »α«úαá¼¼á ºáóÑαΦáÑΓ «íαáí«Γ¬π Σá⌐½á, «¡ ñ«½ªÑ¡ ºá¬αδ-
- óáΓ∞ß∩ ß »«¼«Θ∞ε ßΓá¡ñáαΓ¡«⌐ »α«µÑñπαδ Close. Å«ß½Ñ »«½¡«ú« ºá¬-
- αδΓ¿∩ Σá⌐½á ßó∩ºá¡¡δ⌐ ß ¡¿¼ ó¡ÑΦ¡¿⌐ Σá⌐½ «í¡«ó½∩ÑΓß∩. çáΓѼ Σá⌐-
- ½«óá∩ »ÑαѼѡ¡á∩ ¼«ªÑΓ íδΓ∞ ßó∩ºá¡á ß ñαπú¿¼ ó¡ÑΦ¡¿¼ Σá⌐½«¼.
-
- Å« π¼«½τá¡¿ε »α¿ óßÑσ «íαáΘÑ¡¿∩σ ¬ ßΓá¡ñáαΓ¡δ¼ Σπ¡¬µ¿∩¼ ¿
- »α«µÑñπαá¼ óó«ñá-óδó«ñá áóΓ«¼áΓ¿τÑ߬¿ »α«¿ºó«ñ¿Γß∩ »α«óÑα¬á ¡á
- ¡á½¿τ¿Ñ «Φ¿í«¬. Åα¿ «í¡áαπªÑ¡¿¿ «Φ¿í¬¿ »α«úαá¼¼á »αѬαáΘáÑΓ αáí«-
- Γπ ¿ óδó«ñ¿Γ ¡á φ¬αá¡ ß««íΘÑ¡¿Ñ «í «Φ¿í¬Ñ. æ »«¼«Θ∞ε ñ¿αÑ¬Γ¿ó
-
- B.Pascal 7 & Objects/LR - 218 -
-
- ¬«¼»¿½∩Γ«αá {$I+} ¿ {$I-} φΓπ áóΓ«¼áΓ¿τÑ߬πε »α«óÑα¬π ¼«ª¡« ó¬½ε-
- τ¿Γ∞ ¿½¿ ó䬽ετ¿Γ∞. è«úñá áóΓ«¼áΓ¿τÑ߬á∩ »α«óÑα¬á «Γ¬½ετÑ¡á, Γ«
- ÑßΓ∞ ¬«úñá »α«µÑñπαá ¿½¿ Σπ¡¬µ¿∩ íδ½á ߬«¼»¿½¿α«óá¡á ß ñ¿αÑ¬Γ¿ó«⌐
- {$I-}, «Φ¿í¬¿ óó«ñá-óδó«ñá, 󫺡¿¬áεΘ¿Ñ »α¿ αáí«ΓÑ »α«úαá¼¼δ, ¡Ñ
- »α¿ó«ñ∩Γ ¬ ÑÑ «ßΓá¡«óπ. Åα¿ φΓ«¼, τΓ«íδ »α«óÑα¿Γ∞ αѺπ½∞ΓáΓ óδ-
- »«½¡Ñ¡¿∩ «»Ñαᵿ¿ óó«ñá-óδó«ñá, ¡πª¡« ¿ß»«½∞º«óáΓ∞ ßΓá¡ñáαΓ¡πε
- Σπ¡¬µ¿ε IÄResult.
-
- ä½∩ «τ¿ßΓ¬¿ «Φ¿í¬¿, ¬«Γ«αá∩ ¼«ªÑΓ »α«¿º«⌐Γ¿, óδ ¼«ªÑΓÑ óδº-
- óáΓ∞ Σπ¡¬µ¿ε IOResult. àß½¿ óδ φΓ«ú« ¡Ñ ßñѽáÑΓÑ, ¿ ΓѬπΘ¿¼ ß«ß-
- Γ«∩¡¿Ñ¼ ∩ó½∩ÑΓß∩ {$I+}, Γ« ¿º-ºá «ßΓáóΦÑ⌐ß∩ «Φ¿í¬¿ IOResult ß½Ñ-
- ñπεΘá∩ «»Ñαᵿ∩ óó«ñá-óδó«ñá ºáóÑαΦ¿Γß∩ ß «Φ¿í¬«⌐.
-
- Åα¿¼Ñτá¡¿Ñ: àß½¿ óδ »¿ΦÑΓÑ »α«úαá¼¼π ñ½ Windows ¿ ¡Ñ
- σ«Γ¿ΓÑ, τΓ«íδ Windows «íαáíáΓδóá½á ºá óáß «Φ¿í¬¿ óó«ñá-óδ-
- ó«ñá ¡á ñ¿ß¬ ¿½¿ ñαπú¿Ñ «Φ¿í¬¿ óó«ñá-óδó«ñá, ó맮ó¿ΓÑ
- SetErrorMode(1).
-
-
-
- B.Pascal 7 & Objects/LR - 219 -
-
- ÆÑ¬ßΓ«óδÑ Σá⌐½δ
- ─────────────────────────────────────────────────────────────────
-
- é ñá¡¡«¼ αáºñÑ½Ñ «»¿ßδóáεΓß∩ «»Ñαᵿ¿ óó«ñá ¿ óδó«ñá, ¿ß-
- »«½∞ºπεΘ¿Ñ Σá⌐½«óπε »ÑαѼѡ¡πε ßΓá¡ñáαΓ¡«ú« ΓѬßΓ«ó«ú« Γ¿»á. çá-
- ¼ÑΓ¿¼, τΓ« ó Borland Pascal ΓѬßΓ«óδ⌐ Γ¿» (Γ¿» Text) «Γ½¿τáÑΓß∩
- «Γ ß¿¼ó«½∞¡«ú« Γ¿»á Char.
-
- Åα¿ «Γ¬αδΓ¿¿ ΓѬßΓ«ó«ú« Σá⌐½á ó¡ÑΦ¡¿⌐ Σá⌐½ ¿¡ΓÑα»αÑΓ¿απÑΓß∩
- «ß«íδ¼ «íαẫ¼: ßτ¿ΓáÑΓß∩, τΓ« «¡ »αÑñßΓáó½∩ÑΓ ß«í«⌐ »«ß½Ññ«óá-
- Γѽ∞¡«ßΓ∞ ß¿¼ó«½«ó, ßúαπ»»¿α«óá¡¡δσ ó ßΓ᫬¿, úñÑ ¬áªñá∩ ßΓ᫬á
- ºá¬á¡τ¿óáÑΓß∩ ß¿¼ó«½«¼ ¬«¡µá ßΓ᫬¿ (end-of-line), ¬«Γ«αδ⌐ »αÑñß-
- Γáó½∩ÑΓ ß«í«⌐ ß¿¼ó«½ »ÑαÑó«ñá ¬áαÑΓ¬¿, ºá ¬«Γ«αδ¼ ó«º¼«ª¡« ß½Ññπ-
- ÑΓ ß¿¼ó«½ »ÑαÑó«ñá ßΓ᫬¿.
-
- ä½∩ ΓѬßΓ«óδσ Σá⌐½«ó ßπΘÑßΓóπÑΓ ß»Ñµ¿á½∞¡δ⌐ ó¿ñ «»Ñαᵿ⌐
- τΓÑ¡¿∩ ¿ ºá»¿ß¿ (read ¿ write), ¬«Γ«αδ⌐ »«ºó«½∩εΓ óá¼ ßτ¿ΓδóáΓ∞ ¿
- ºá»¿ßδóáΓ∞ º¡áτÑ¡¿∩, Γ¿» ¬«Γ«αδσ «Γ½¿τáÑΓß∩ «Γ ß¿¼ó«½∞¡«ú« Γ¿»á
- Char. Æá¬¿Ñ º¡áτÑ¡¿∩ áóΓ«¼áΓ¿τÑ߬¿ »ÑαÑó«ñ∩Γß∩ ó ß¿¼ó«½∞¡«Ñ
- »αÑñßΓáó½Ñ¡¿Ñ ¿ «íαáΓ¡«. ìá»α¿¼Ñα, Read(f,i), úñÑ i - »ÑαѼѡ¡á∩
- µÑ½«ú« Γ¿»á, »α¿óÑñÑΓ ¬ ßτ¿Γδóá¡¿ε »«ß½Ññ«óáΓѽ∞¡«ßΓ¿ µ¿Σα, ¿¡-
- ΓÑα»αÑΓᵿ¿ φΓ«⌐ »«ß½Ññ«óáΓѽ∞¡«ßΓ¿, ¬á¬ ñÑß∩Γ¿τ¡«ú« τ¿ß½á, ¿
- ß«σαá¡Ñ¡¿ε Ñú« ó i.
-
- èᬠí佫 «Γ¼ÑτÑ¡« αá¡ÑÑ, ¿¼ÑεΓß∩ ñóÑ ßΓá¡ñáαΓ¡δσ »ÑαѼѡ¡δσ
- ΓѬßΓ«ó«ú« Γ¿»á - φΓ« Input ¿ Äutput. æΓá¡ñáαΓ¡á∩ Σá⌐½«óá∩ »ÑαÑ-
- ¼Ñ¡¡á∩ Input - φΓ« ñ«ßΓπ»¡δ⌐ Γ«½∞¬« »« τΓÑ¡¿ε Σá⌐½, ßó∩ºá¡¡δ⌐ ß«
- ßΓá¡ñáαΓ¡δ¼ Σá⌐½«¼ óó«ñá «»Ñαᵿ«¡¡«⌐ ß¿ßΓѼδ («íδτ¡« φΓ« ¬½áó¿á-
- Γπαá), á ßΓá¡ñáαΓ¡á∩ Σá⌐½«óá∩ »ÑαѼѡ¡á∩ Äutput - φΓ« ñ«ßΓπ»¡δ⌐
- Γ«½∞¬« »« ºá»¿ß¿ Σá⌐½, ßó∩ºá¡¡δ⌐ ß« ßΓá¡ñáαΓ¡δ¼ Σá⌐½«¼ óδó«ñá
- «»Ñαᵿ«¡¡«⌐ ß¿ßΓѼδ («íδτ¡« φΓ« ñ¿ß»½Ñ⌐). ÅÑαÑñ ¡áτὫ¼ óδ»«½¡Ñ-
- ¡¿∩ »α«úαá¼¼δ DOS Σá⌐½δ Input ¿ Äutput áóΓ«¼áΓ¿τÑ߬¿ «Γ¬αδóáεΓß∩,
- ¬á¬ Ñß½¿ íδ í뫨 óδ»«½¡Ñ¡δ ß½ÑñπεΘ¿Ñ «»ÑαáΓ«αδ:
-
- Assign(Input,'');
- Reset(Input);
- Assign(Output,'');
- Rewrite(Output);
-
- Æá¬ ¬á¬ Windows ¡Ñ »«ññÑনóáÑΓ ¡Ñ»«ßαÑñßΓóÑ¡¡« «α¿Ñ¡Γ¿α«-
- óá¡¡δ⌐ ¡á ΓѬßΓ óó«ñ ¿ óδó«ñ, Σá⌐½δ Input ¿ Output »« π¼«½τá¡¿ε ó
- »α¿¬½áñ¡«⌐ »α«úαá¼¼Ñ Windows ¡Ñ »α¿ßóá¿óáεΓß∩, ¿ ½εíá∩ »«»δΓ¬á
- τΓÑ¡¿∩ ¿º φΓ¿σ Σá⌐½«ó ¿½¿ ºá»¿ß¿ ó ¡¿σ »α¿óÑñÑΓ ¬ «Φ¿í¬Ñ óó«-
- ñá-óδó«ñá. Äñ¡á¬«, Ñß½¿ »α¿¬½áñ¡á∩ »α«úαá¼¼á ¿ß»«½∞ºπÑΓ ¼«ñπ½∞
- WinCrt, Γ« Input ¿ Output íπñπΓ ßßδ½áΓ∞ß∩ ¡á »α«¬απτ¿óáѼ«Ñ ΓѬß-
- Γ«ó«Ñ «¬¡«. î«ñπ½∞ WinCrt ß«ñÑαª¿Γ óßε ½«ú¿¬π π»αáó½Ñ¡¿∩, ¡Ñ«íσ«-
- ñ¿¼πε ñ½∩ φ¼π½∩µ¿¿ ΓѬßΓ«ó«ú« φ¬αá¡á ó «»Ñαᵿ«¡¡«⌐ ßαÑñÑ
- Windows, »«φΓ«¼π ó »α¿¬½áñ¡«⌐ »α«úαá¼¼Ñ, ¿ß»«½∞ºπεΘÑ⌐ ¼«ñπ½∞
- WinCrt, ¡Ñ ΓαÑíπÑΓß∩ ¡¿¬á¬¿σ »α¿Ñ¼«ó »α«úαá¼¼¿α«óá¡¿∩, ߻ѵ¿Σ¿-
- τÑ߬¿σ ñ½∩ Windows.
-
- ä½∩ ¡Ñ¬«Γ«αδσ ¿º ßΓá¡ñáαΓ¡δσ »α«µÑñπα ¿ Σπ¡¬µ¿⌐, ß»¿ß«¬ ¬«-
- Γ«αδσ »α¿óÑñÑ¡ ó ñá¡¡«¼ αáºñѽÑ, ¡Ñ ΓαÑíπÑΓß∩ ∩ó¡« π¬áºδóáΓ∞ ó
-
- B.Pascal 7 & Objects/LR - 220 -
-
- ¬áτÑßΓóÑ »áαá¼ÑΓαá Σá⌐½«óπε »ÑαѼѡ¡πε. àß½¿ φëà »áαá¼ÑΓα «»π-
- ΘÑ¡, Γ« »« π¼«½τá¡¿ε íπñπΓ αáßß¼áΓα¿óáΓ∞ß∩ »ÑαѼѡ¡δÑ Input ¿½¿
- Output, ó ºáó¿ß¿¼«ßΓ¿ «Γ Γ«ú«, íπñÑΓ ½¿ »α«µÑñπαá ¿½¿ Σπ¡¬µ¿∩
- «α¿Ñ¡Γ¿α«óá¡á ¡á óó«ñ ¿½¿ ¡á óδó«ñ. ìá»α¿¼Ñα, Read(σ) ß««ΓóÑΓß-
- ΓóπÑΓ Read(Input,σ) ¿ Write(σ) ß««ΓóÑΓßΓóπÑΓ Write(Output,σ).
-
- àß½¿ »α¿ ó맮óÑ «ñ¡«⌐ ¿º »α«µÑñπα ¿½¿ Σπ¡¬µ¿⌐ ¿º φΓ«ú« αáº-
- ñѽá óδ ºáñáÑΓÑ Σá⌐½, φëà Σá⌐½ ñ«½ªÑ¡ íδΓ∞ ßó∩ºá¡ ß ó¡ÑΦ¡¿¼ Σá⌐-
- ½«ó ß »«¼«Θ∞ε »α«µÑñπαδ Assign ¿ «Γ¬αδΓ ß »«¼«Θ∞ε »α«µÑñπαδ
- Reset, RewritÑ ¿½¿ Append. àß½¿ ñ½∩ «α¿Ñ¡Γ¿α«óá¡¡«⌐ ¡á óδó«ñ »α«-
- µÑñπαδ ¿½¿ Σπ¡¬µ¿¿ óδ π¬áºδóáÑΓÑ Σá⌐½, ¬«Γ«αδ⌐ íδ½ «Γ¬αδΓ ß »«-
- ¼«Θ∞ε »α«µÑñπαδ Reset, Γ« óδóÑñÑΓß∩ ß««íΘÑ¡¿Ñ «í «Φ¿í¬Ñ. ǡὫ-
- ú¿τ¡«, íπñÑΓ «Φ¿í¬«⌐ ºáñáóáΓ∞ ñ½∩ «α¿Ñ¡Γ¿α«óá¡¡«⌐ ¡á óó«ñ »α«µÑ-
- ñπαδ ¿½¿ Σπ¡¬µ¿¿ Σá⌐½, «Γ¬αδΓδ⌐ ß »«¼«Θ∞ε »α«µÑñπα Rewrite ¿½¿
- Append.
-
-
-
- B.Pascal 7 & Objects/LR - 221 -
-
- ìÑΓ¿»¿º¿α«óá¡¡δÑ Σá⌐½δ
- ─────────────────────────────────────────────────────────────────
-
- ìÑΓ¿»¿º¿α«óá¡¡δÑ Σá⌐½δ »αÑñßΓáó½∩εΓ ß«í«⌐ ¬á¡á½δ óó«ñá-óδó«-
- ñá ¡¿ª¡Ñú« πα«ó¡∩, ¿ß»«½∞ºπѼδÑ ó «ß¡«ó¡«¼ ñ½∩ »α∩¼«ú« ñ«ßΓπ»á ¬
- ½εí«¼π Σá⌐½π ¡á ñ¿ß¬Ñ, ¡Ñºáó¿ß¿¼« «Γ Ñú« Γ¿»á ¿ ßΓαπ¬Γπαδ. ïεí«⌐
- ¡ÑΓ¿»¿º¿α«óá¡¡δ⌐ Σá⌐½ «»¿ßδóáÑΓß∩ ß½«ó«¼ file íѺ áΓα¿íπΓ«ó. ìá»-
- α¿¼Ñα:
-
- var
- DataFile: file;
-
- ä½∩ ¡ÑΓ¿»¿º¿α«óá¡¡δσ Σá⌐½«ó ó »α«µÑñπαáσ Reset ¿ Rewrite ñ«-
- »π߬áÑΓß∩ π¬áºδóáΓ∞ ñ«»«½¡¿Γѽ∞¡δ⌐ »áαá¼ÑΓα, τΓ«íδ ºáñáΓ∞ αẼÑα
- ºá»¿ß¿, ¿ß»«½∞ºπεΘ¿⌐ß∩ »α¿ »ÑαÑñáτÑ Σá⌐½á.
-
- Å« ¿ßΓ«α¿τÑ߬¿¼ »α¿τ¿¡á¼ »α¿¡¿¼áѼá∩ »« π¼«½τá¡¿ε ñ½¿¡á ºá-
- »¿ß¿ αáó¡á 128 íá⌐Γá¼. ÅαÑñ»«τΓ¿Γѽ∞¡«⌐ ñ½¿¡«⌐ ºá»¿ß¿ ∩ó½∩ÑΓß∩
- ñ½¿¡á ºá»¿ß¿, αáó¡á∩ 1, »«ß¬«½∞¬π φΓ« Ññ¿¡ßΓóÑ¡¡«Ñ º¡áτÑ¡¿Ñ, ¬«-
- Γ«α«Ñ »«ºó«½∩ÑΓ Γ«τ¡« «ΓαếΓ∞ αẼÑα ½εí«ú« Σá⌐½á (¬«úñá ñ½¿¡á
- ºá»¿ß¿ αáó¡á 1, Γ« ó Σá⌐½Ñ ¡Ñ ¼«úπΓ »α¿ßπΓßΓó«óáΓ∞ ¡Ñ»«½¡δÑ ºá»¿-
- ß¿, Γ« ÑßΓ∞ ºá»¿ß¿ ß ¼Ñ¡∞ΦÑ⌐ ñ½¿¡«⌐).
-
- çá ¿ß¬½ετÑ¡¿Ñ¼ »α«µÑñπα Read ¿ Write ñ½∩ óßÑσ ¡ÑΓ¿»¿º¿α«óá¡-
- ¡δσ Σá⌐½«ó ñ«»π߬áÑΓß∩ ¿ß»«½∞º«óá¡¿Ñ ½εí«⌐ ßΓá¡ñáαΓ¡«⌐ »α«µÑñπαδ,
- ¬«Γ«αδÑ ñ«»π߬áÑΓß∩ ¿ß»«½∞º«óáΓ∞ ß Γ¿»¿º¿α«óá¡¡δ¼¿ Σá⌐½á¼¿. é¼Ñß-
- Γ« »α«µÑñπα Read ¿ Write ºñÑß∞ ¿ß»«½∞ºπεΓß∩ ß««ΓóÑΓßΓóÑ¡¡« »α«µÑ-
- ñπαδ BlockrÑád ¿ BlockWrite »«ºó«½∩εΘ¿Ñ »ÑαÑßδ½áΓ∞ ñá¡¡δÑ ß óδß«-
- ¬«⌐ ߬«α«ßΓ∞ε.
-
- ÅÑαѼѡ¡á∩ FileMode
- ─────────────────────────────────────────────────────────────────
-
- ÅÑαѼѡ¡á∩ FileMode, «»αÑñѽѡ¡á∩ ó ¼«ñπ½Ñ System, ºáñáÑΓ
- ¬«ñ ñ«ßΓπ»á, »ÑαÑñáóáѼδ⌐ ó DOS ñ½∩ Γ¿»¿º¿α«óá¡¡δσ ¿ ¡ÑΓ¿»¿º¿α«-
- óá¡¡δσ Σá⌐½«ó (¡Ñ ñ½∩ ΓѬßΓ«óδσ Σá⌐½«ó), ¬«úñá «¡¿ «Γ¬αδóáεΓß∩ ß
- »«¼«Θ∞ε »α«µÑñπαδ Reset.
-
- Å« π¼«½τá¡¿ε º¡áτÑ¡¿Ñ FileMode = 2. Åα¿ φΓ«¼ ñ«»π߬áÑΓß∩
- τΓÑ¡¿Ñ ¿ ºá»¿ß∞ Σá⌐½á. Åα¿ßóá¿óá¡¿Ñ FileMode ñαπú«ú« º¡áτÑ¡¿∩
- »α¿ó«ñ¿Γ ¬ ¿ß»«½∞º«óá¡¿ε φΓ«ú« αѪ¿¼á »α¿ óßÑσ »«ß½ÑñπεΘ¿σ ó맮-
- óáσ Reset.
-
- Åα¿¼Ñτá¡¿Ñ: ì«óδÑ Σá⌐½δ, «Γ¬αδóáѼδÑ ß »«¼«Θ∞ε
- Rewrite, óßÑúñá «Γ¬αδóáεΓß∩ ó αѪ¿¼Ñ τΓÑ¡¿∩/ºá»¿ß¿, τΓ« ß«-
- «ΓóÑΓßΓóπÑΓ Filemode = 2.
-
- ä¿á»áº«¡ ñ«»πßΓ¿¼δσ º¡áτÑ¡¿⌐ FileMode ºáó¿ß¿Γ «Γ ¿ß»«½∞ºπÑ-
- ¼«⌐ óÑαß¿¿ DOS. Äñ¡á¬« ó« óßÑσ óÑαß¿∩σ «»αÑñѽѡδ ß½ÑñπεΘ¿Ñ αѪ¿-
- ¼δ:
-
- 0: ñ«ßΓπ» Γ«½∞¬« »« τΓÑ¡¿ε
- 1: Æ«½∞¬« ºá»¿ß∞
-
- B.Pascal 7 & Objects/LR - 222 -
-
- 2: ùΓÑ¡¿Ñ/ºá»¿ß∞
-
- é DOS óÑαß¿¿ 3.σ «»αÑñѽѡδ ñ«»«½¡¿Γѽ∞¡δÑ αѪ¿¼δ, ¬«Γ«αδÑ
- ¬áßáεΓß∩ ó «ß¡«ó¡«¼ ß«ó¼ÑßΓ¡«ú« ¿ß»«½∞º«óá¡¿∩ Σá⌐½«ó »α¿ αáí«ΓÑ ó
- ßÑΓ¿ (í«½ÑÑ »«ñα«í¡« φΓ« «»¿ßδóáÑΓß∩ ó "Éπ¬«ó«ñßΓóÑ »α«úαá¼¼¿ßΓá
- »« DOS").
-
- ôßΓα«⌐ßΓóá ó Borland Pascal
- ─────────────────────────────────────────────────────────────────
-
- é Borland Pascal ¿ ó «»Ñαᵿ«¡¡«⌐ ß¿ßΓÑ¼Ñ DOS ó¡ÑΦ¡∩∩ á»»á-
- αáΓπαá, ¬á¬, ¡á»α¿¼Ñα, ¬½áó¿áΓπαá, πßΓα«⌐ßΓó« »ÑτáΓ¿, ñ¿ß»½Ñ⌐,
- αáßß¼áΓα¿óáÑΓß∩, ¬á¬ πßΓα«⌐ßΓóá. æ Γ«τ¬¿ ºαÑ¡¿∩ »α«úαá¼¼¿ßΓá πßΓ-
- α«⌐ßΓó« ¼«ª¡« αáßß¼áΓα¿óáΓ∞, ¬á¬ Σá⌐½, ¿ ß ¡¿¼ ¼«ª¡« αáí«ΓáΓ∞ ß
- »«¼«Θ∞ε Γ«ú« ªÑ ¡áí«αá ßΓá¡ñáαΓ¡δσ »α«µÑñπα ¿ Σπ¡¬µ¿⌐, τΓ« ¿ ß
- Σá⌐½«¼. é Æπαí« Åá߬á½Ñ »«ññÑনóáÑΓß∩ ñóá Γ¿»á πßΓα«⌐ßΓó - πßΓ-
- α«⌐ßΓóá DOS ¿ πßΓα«⌐ßΓóá ñ½∩ ΓѬßΓ«óδσ Σá⌐½«ó.
-
-
-
- B.Pascal 7 & Objects/LR - 223 -
-
- ôßΓα«⌐ßΓóá DOS
- ─────────────────────────────────────────────────────────────────
-
- ôßΓα«⌐ßΓóá DOS αÑ὿º«óá¡δ ß »«¼«Θ∞ε ºáαѺÑαó¿α«óá¡¡δσ ¿¼Ñ¡
- πßΓα«⌐ßΓó, ¬«Γ«αδÑ ¿¼ÑεΓ ß»Ñµ¿á½∞¡δ⌐ ß¼δß½. ôßΓα«⌐ßΓóá DOS »«½-
- ¡«ßΓ∞ε "»α«ºαáτ¡δ": ó Æπαí« Åá߬á½Ñ ¡Ñ¿ºóÑßΓ¡« ñáªÑ, ¬«úñá Σá⌐½«-
- óá∩ »ÑαѼѡ¡á∩ ßó∩ºá¡á ß πßΓα«⌐ßΓó«¼, á ¬«úñá ß Σá⌐½«¼ ¡á ñ¿ß¬Ñ.
- ìá»α¿¼Ñα, »α«úαá¼¼á:
-
- var
- Lst: Text;
- begin
- Assign(Lst,'LPT1');
- Rewrite(Lst);
- Writeln(Lst,'Åα¿óÑΓ...');
- Close(Lst);
- end;
-
- óδóÑñÑΓ ßΓ᫬π "Åα¿óÑΓ..." ¡á πßΓα«⌐ßΓó« »ÑτáΓ¿, σ«Γ∩ ß¿¡Γá¬ß¿ß
- Γ«τ¡« Γᬫ⌐ ªÑ, ¬á¬ Ñß½¿ íδ «¡á óδó«ñ¿½áß∞ ó Σá⌐½.
-
- ôßΓα«⌐ßΓóá, αÑ὿º«óá¡¡δÑ ó «»Ñαᵿ«¡¡«⌐ ß¿ßΓÑ¼Ñ DOS, ¿ß-
- »«½∞ºπεΓß∩ ñ½∩ «ñ¡«º¡áτ¡«ú« óó«ñá ¿½¿ óδó«ñá. Æá¬¿¼ «íαẫ¼, πßΓ-
- α«⌐ßΓóá ó DOS ¿ß»«½∞ºπεΓß∩ «íδτ¡« ñ½∩ ΓѬßΓ«óδσ Σá⌐½«ó. é αÑñ¬¿σ
- ß½πτá∩σ ñ½∩ αáí«Γδ ß πßΓα«⌐ßΓóἿ DOS ¼«ªÑΓ «¬áºáΓ∞ß∩ »«½Ñº¡δ¼
- ¿ß»«½∞º«óá¡¿Ñ Γá¬ªÑ ¡ÑΓ¿»¿º¿α«óá¡¡«ú« Σá⌐½á.
-
-
-
- B.Pascal 7 & Objects/LR - 224 -
-
- ôßΓα«⌐ßΓó« CÄN
- ─────────────────────────────────────────────────────────────────
-
- ôßΓα«⌐ßΓó« CÄN «º¡áτáÑΓ ¬«¡ß«½∞, »«ßαÑñßΓó«¼ ¬«Γ«α«⌐ óδó«ñ¿-
- ¼á∩ ¿¡Σ«α¼áµ¿∩ »ÑαÑßδ½áÑΓß∩ ¡á φ¬αá¡ ñ¿ß»½Ñ∩, á óó«ñ¿¼á∩ ¿¡Σ«α¼á-
- µ¿∩ ó«ß»α¿¡¿¼áÑΓß∩ ß ¬½áó¿áΓπαδ. àß½¿ ¡Ñ í佫 ¿º¼Ñ¡Ñ¡« ¡á»αáó½Ñ-
- ¡¿Ñ óó«ñá ¿½¿ óδó«ñá, ßΓá¡ñáαΓ¡δÑ Σá⌐½δ Input ¿ Äutput ¿ óßÑ
- Σá⌐½δ, ¬«Γ«αδ¼ »α¿ßó«Ñ¡« »πßΓ«Ñ ¿¼∩, ßßδ½áεΓß∩ ¡á πßΓα«⌐ßΓó« CÄN.
-
- éó«ñ¿¼á∩ ß πßΓα«⌐ßΓóá CÄN ¿¡Σ«α¼áµ¿∩ ∩ó½∩ÑΓß∩ ßΓα«τ¡«-«α¿Ñ¡-
- Γ¿α«óá¡¡«⌐ ¿ ¿ß»«½∞ºπÑΓß∩ ßαÑñßΓóἿ αÑñá¬Γ¿α«óá¡¿∩ ßΓ᫬¿, ¬«Γ«-
- αδÑ «»¿ßá¡δ ó απ¬«ó«ñßΓóÑ »« DOS. 濼ó«½δ ßτ¿ΓδóáεΓß∩ ¿º íπΣÑαá
- ßΓ᫬¿, á ¬«úñá íπΣÑα ßΓá¡«ó¿Γß∩ »πßΓδ¼, óó«ñ¿Γß∩ ¡«óá∩ ßΓ᫬á.
-
- Åα¿ ¡áªáΓ¿¿ ¬½áó¿Φ Ctrl+Z úÑ¡Ñα¿απÑΓß∩ ß¿¼ó«½ ¬«¡µá Σá⌐½á
- (end-of-file), »«ß½Ñ ¬«Γ«α«ú« Σπ¡¬µ¿∩ E«f ó«ºóαáΘáÑΓ º¡áτÑ¡¿Ñ
- TruÑ.
-
- ôßΓα«⌐ßΓóá LÉT1, LÉT2 ¿ LÉT3
- ─────────────────────────────────────────────────────────────────
-
- é ¬áτÑßΓóÑ ó«º¼«ª¡«ú« πßΓα«⌐ßΓóá »«ßΓα«τ¡«⌐ »ÑτáΓ¿ ñ«»π߬á-
- ÑΓß∩ ¿ß»«½∞º«óá¡¿Ñ ñ« ΓαÑσ πßΓα«⌐ßΓó »ÑτáΓ¿. àß½¿ »α¿ß«Ññ¿¡Ñ¡«
- Γ«½∞¬« «ñ¡« πßΓα«⌐ßΓó« »ÑτáΓ¿, ¡á ¡Ñú« «íδτ¡« ßßδ½áεΓß∩, ¬á¬ ¡á
- πßΓα«⌐ßΓó« LÉT1. ä½∩ φΓ«ú« πßΓα«⌐ßΓóá ¼«ª¡« Γá¬ªÑ ¿ß»«½∞º«óáΓ∞
- ß¿¡«¡¿¼ ÉRN.
-
- Å«ßΓα«τ¡«Ñ πßΓα«⌐ßΓó« »ÑτáΓ¿ - φΓ« πßΓα«⌐ßΓó«, »αÑñ¡áº¡áτÑ¡-
- ¡«Ñ Γ«½∞¬« ñ½∩ óδó«ñá. Åα¿ ½εí«⌐ »«»δ⪥ ¿ß»«½∞º«óáΓ∞ »α«µÑñπαπ
- Reset ñ½∩ «Γ¬αδΓ¿∩ Σá⌐½á, ßó∩ºá¡¡«ú« ß «ñ¡¿¼ ¿º φΓ¿σ πßΓα«⌐ßΓó,
- ¡Ñ¼Ññ½Ñ¡¡« úÑ¡Ñα¿απÑΓß∩ »α¿º¡á¬ ¬«¡µá Σá⌐½á.
-
- æΓá¡ñáαΓ¡δ⌐ ¼«ñπ½∞ Érinter «»¿ßδóáÑΓ ΓѬßΓ«óπε Σá⌐½«óπε »Ñ-
- αѼѡ¡πε ß ¿¼Ñ¡Ñ¼ Lst ¿ πßΓá¡áó½¿óáÑΓ ÑÑ ßó∩º∞ ß πßΓα«⌐ßΓó«¼
- LÉT1. ùΓ«íδ «í½Ñúτ¿Γ∞ óδó«ñ ¬á¬«⌐-½¿í« ¿¡Σ«α¼áµ¿¿ ¿º óáΦÑ⌐ »α«ú-
- αá¼¼δ ¡á πßΓα«⌐ßΓó« »ÑτáΓ¿, ó¬½ετ¿ΓÑ ó «»ÑαáΓ«α uses óáΦÑ⌐ »α«ú-
- αá¼¼δ ¼«ñπ½∞ Érinter, á ñ½∩ óδó«ñá ¿ß»«½∞ºπ⌐ΓÑ »α«µÑñπαδ
- WritÑ(Lst,...) ¿ WritÑln(Lst,...).
-
- Åα¿¼Ñτá¡¿Ñ: Ä »ÑτáΓ¿ ¿º »α«úαá¼¼δ Windows αáß߬áºδóá-
- ÑΓß∩ ¡¿ªÑ.
-
-
-
- B.Pascal 7 & Objects/LR - 225 -
-
- ôßΓα«⌐ßΓóá CÄî1 ¿ CÄî2
- ─────────────────────────────────────────────────────────────────
-
- 諼¼π¡¿¬áµ¿«¡¡δ¼¿ »«αΓἿ (CÄî1 ¿ CÄî2) ∩ó½∩εΓß∩ πßΓα«⌐ßΓóá,
- »αÑñßΓáó½∩εΘ¿Ñ ß«í«⌐ ñóá »«ß½Ññ«óáΓѽ∞¡δσ ¬«¼¼π¡¿¬áµ¿«¡¡δσ »«αΓá.
- é¼ÑßΓ« CÄî1 ¼«ª¡« ¿ß»«½∞º«óáΓ∞ ß¿¡«¡¿¼ AUò.
-
-
- ôßΓα«⌐ßΓó« NUL
- ─────────────────────────────────────────────────────────────────
-
- ìπ½Ñó«Ñ πßΓα«⌐ßΓó« (NUL) ¿ú¡«α¿απÑΓ ½εíπε »«»δΓ¬π ºá»¿ß¿ ¡á
- ¡Ñú« ¿ ¡Ñ¼Ññ½Ñ¡¡« úÑ¡Ñα¿απÑΓ »α¿º¡á¬ ¬«¡µá Σá⌐½á »α¿ »«»δΓ¬¿ ßτ¿-
- Γδóá¡¿∩ ß φΓ«ú« πßΓα«⌐ßΓóá. àú« ß½ÑñπÑΓ ¿ß»«½∞º«óáΓ∞, Ñß½¿ óδ ¡Ñ
- σ«Γ¿ΓÑ ß«ºñáóáΓ∞ «Γñѽ∞¡δ⌐ Σá⌐½, á ó »α«úαá¼¼Ñ ΓαÑíπÑΓß∩ π¬áºáΓ∞
- ¿¼∩ óσ«ñ¡«ú« ¿½¿ óδσ«ñ¡«ú« Σá⌐½á.
-
- é «íΘѼ ß½πτáÑ ß½ÑñπÑΓ ¿ºíÑúáΓ∞ ¿ß»«½∞º«óá¡¿∩ πßΓα«⌐ßΓó DOS
- »«ñ Windows ¿ »α¿¼Ñ¡∩Γ∞ Σπ¡¬µ¿¿ óó«ñá-óδó«ñá API Windows. ìѬ«Γ«-
- αδÑ πßΓα«⌐ßΓóá, Γá¬¿Ñ ¬á¬ CON, ¡Ñ íπñπΓ »αáó¿½∞¡« αáí«ΓáΓ∞. äαπ-
- ú¿Ñ πßΓα«⌐ßΓóá ¼«úπΓ αáí«ΓáΓ∞, ¡« αѺπ½∞ΓáΓδ ¼«úπΓ «¬áºáΓ∞ß∩ ¡Ñ
- ΓѼ¿, τΓ« óδ «ª¿ñáÑΓÑ. ìá»α¿¼Ñα, Ñß½¿ óδ ¿ß»«½∞ºπÑΓÑ LPT1, óáΦá
- αáß»ÑτáΓ¬á ¼«ªÑΓ óδó«ñ¿Γ∞ß∩, »αÑαδóá∩ ñαπú«Ñ ºáñá¡¿Ñ »ÑτáΓ¿. Å«φ-
- Γ«¼π ¡áñѪ¡ÑÑ ¿ß»«½∞º«óáΓ∞ Σπ¡¬µ¿¿ API Windows.
-
-
- ôßΓα«⌐ßΓóá, »αÑñ¡áº¡áτÑ¡¡δÑ ñ½∩ ΓѬßΓ«óδσ Σá⌐½«ó
- ─────────────────────────────────────────────────────────────────
-
- ôßΓα«⌐ßΓóá, »αÑñ¡áº¡áτÑ¡¡δÑ ñ½∩ ΓѬßΓ«óδσ Σá⌐½«ó, ¿ß»«½∞ºπ-
- εΓß∩ ñ½∩ αÑ὿ºáµ¿¿ πßΓα«⌐ßΓó, ¡Ñ »«ññÑনóáѼδσ ó DOS, ¿½¿ ñ½∩
- Γ«ú«, τΓ«íδ ßñѽáΓ∞ ñ«ßΓπ»¡δ¼ ¡áí«α ßαÑñßΓó, «Γ½¿τáεΘ¿⌐ß∩ «Γ Γ«-
- ú«, ¬«Γ«αδ⌐ »αÑñπß¼«ΓαÑ¡ ñ½∩ á¡á½«ú¿τ¡«ú« πßΓα«⌐ßΓóá DOS. ò«α«Φ¿¼
- »α¿¼Ñα«¼ πßΓα«⌐ßΓóá, »αÑñ¡áº¡áτÑ¡¡«ú« ñ½∩ ΓѬßΓ«ó«ú« Σá⌐½á, ∩ó½∩-
- ÑΓß∩ «¬¡« CRT, αÑ὿º«óá¡¡«Ñ ß »«¼«Θ∞ε ßΓá¡ñáαΓ¡«ú« ¼«ñπ½∩ Crt.
- Ä¡« «íÑß»Ñτ¿óáÑΓ á¡á½«ú¿τ¡δ⌐ ΓÑନ¡á½π ΓѬßΓ«óδ⌐ φ¬αá¡ ¿ »«ºó«½∩-
- ÑΓ óá¼ ß«ºñáóáΓ∞ »α¿¬½áñ¡δÑ »α«úαá¼¼δ ß« "ßΓá¡ñáαΓ¡δ¼ óó«ñ«¼-óδ-
- ó«ñ«¼" ß ¼¿¡¿¼á½∞¡δ¼¿ πß¿½¿∩¼¿, ¿ß»«½∞ºπ∩ Γá¬¿Ñ ßαÑñßΓóá, ¬á¬
- µóÑΓá ¿ «¬¡á.
-
- é «Γ½¿τ¿Ñ «Γ πßΓα«⌐ßΓó DOS, πßΓα«⌐ßΓóá, »αÑñ¡áº¡áτÑ¡¡δÑ ñ½∩
- óδó«ñá ΓѬßΓ«óδσ Σá⌐½«ó, ¡Ñ ¿¼ÑεΓ ºáαѺÑαó¿α«óá¡¡δσ ¿¼Ñ¡. öá¬Γ¿-
- τÑ߬¿, π ¡¿σ ó««íΘÑ «ΓßπΓßΓóπεΓ ¿¼Ñ¡á. é¼ÑßΓ« φΓ«ú« Σá⌐½ ßó∩ºδóá-
- ÑΓß∩ ó πßΓα«⌐ßΓó«¼ ß »«¼«Θ∞ε «íδτ¡«⌐ »α«µÑñπαδ Assign. ìá»α¿¼Ñα,
- ßΓá¡ñáαΓ¡δ⌐ ¼«ñπ½∞ Crt αÑ὿ºπÑΓ »α«µÑñπαπ AssignCrt, ¬«Γ«αá∩
- ßó∩ºδóáÑΓ ΓѬßΓ«óδÑ Σá⌐½δ ß πßΓα«⌐ßΓó«¼ CRT.
-
- ôßΓα«⌐ßΓóá, »αÑñ¡áº¡áτÑ¡¡δÑ ñ½∩ ΓѬßΓ«óδσ Σá⌐½«ó, ¿ß»«½∞ºπ-
- εΓß∩ ñ½∩ αÑ὿ºáµ¿¿ πßΓα«⌐ßΓó, ¡Ñ »«ññÑনóáѼδσ ó DOS, ¿½¿ ñ½∩
- Γ«ú«, τΓ«íδ ßñѽáΓ∞ ñ«ßΓπ»¡δ¼ ¡áí«α ßαÑñßΓó, «Γ½¿τáεΘ¿⌐ß∩ «Γ Γ«-
- ú«, ¬«Γ«αδ⌐ »αÑñπß¼«ΓαÑ¡ ñ½∩ á¡á½«ú¿τ¡«ú« πßΓα«⌐ßΓóá DOS. ò«α«Φ¿¼
- »α¿¼Ñα«¼ πßΓα«⌐ßΓóá, »αÑñ¡áº¡áτÑ¡¡«ú« ñ½∩ ΓѬßΓ«ó«ú« Σá⌐½á, ∩ó½∩-
- ÑΓß∩ πßΓα«⌐ßΓó« CRT, αÑ὿º«óá¡¡«Ñ ß »«¼«Θ∞ε ßΓá¡ñáαΓ¡«ú« ¼«ñπ½∩
-
- B.Pascal 7 & Objects/LR - 226 -
-
- Crt. àú« «ß¡«ó¡«⌐ Σπ¡¬µ¿Ñ⌐ ∩ó½∩ÑΓß∩ «íÑß»ÑτÑ¡¿Ñ ¿¡ΓÑαΣÑ⌐ßá ß
- ñ¿ß»½ÑѼ ¿ ¬½áó¿áΓπα«⌐, á¡á½«ú¿τ¡« πßΓα«⌐ßΓóπ CÄN ó ¼«ñπ½Ñ Dos.
-
- é «Γ½¿τ¿Ñ «Γ πßΓα«⌐ßΓó DOS, πßΓα«⌐ßΓóá, »αÑñ¡áº¡áτÑ¡¡δÑ ñ½∩
- óδó«ñá ΓѬßΓ«óδσ Σá⌐½«ó, ¡Ñ ¿¼ÑεΓ ºáαѺÑαó¿α«óá¡¡δσ ¿¼Ñ¡. öá¬Γ¿-
- τÑ߬¿, π ¡¿σ ó««íΘÑ «ΓßπΓßΓóπεΓ ¿¼Ñ¡á. é¼ÑßΓ« φΓ«ú« Σá⌐½ ßó∩ºδóá-
- ÑΓß∩ ß πßΓα«⌐ßΓó«¼ ß »«¼«Θ∞ε «íδτ¡«⌐ »α«µÑñπαδ Assign. ìá»α¿¼Ñα,
- ßΓá¡ñáαΓ¡δ⌐ ¼«ñπ½∞ Crt αÑ὿ºπÑΓ »α«µÑñπαπ AssignCrt, ¬«Γ«αá∩
- ßó∩ºδóáÑΓ ΓѬßΓ«óδÑ Σá⌐½δ ß πßΓα«⌐ßΓó«¼ CRT.
-
-
- éó«ñ ¿ óδó«ñ ß »«¼«Θ∞ε ¼«ñπ½∩ Crt
- ─────────────────────────────────────────────────────────────────
-
- Åα¿¼Ñτá¡¿Ñ: ¥Γ«Γ αáºñѽ «Γ¡«ß¿Γß∩ Γ«½∞¬« ¬ »α«úαá¼¼á¼
- αÑá½∞¡«ú« ¿ ºáΘ¿ΘÑ¡¡«ú« αѪ¿¼á DOS.
-
- î«ñπ½∞ Crt »«ºó«½∩ÑΓ ¿ß»«½∞º«óáΓ∞ óßÑ ó«º¼«ª¡«ßΓ¿ ñ¿ß»½Ñ∩ ¿
- ¬½áó¿áΓπαδ »Ñαß«¡á½∞¡«ú« ¬«¼»∞εΓÑαá Éæ, ó¬½ετá∩ π»αáó½Ñ¡¿Ñ αѪ¿-
- ¼«¼ φ¬αá¡á, αáßΦ¿αÑ¡¡δÑ ¬«ñδ ¬½áó¿áΓπαδ, µóÑΓ, «¬¡á ¿ ºóπ¬«óδÑ
- ß¿ú¡á½δ.
-
- î«ñπ½∞ Crt αÑ὿ºπÑΓ α∩ñ ¼«Θ¡δσ »α«úαá¼¼, »αÑñ«ßΓáó½∩εΘ¿σ
- óá¼ »«½¡πε 󫺼«ª¡«ßΓ∞ π»αáó½Ñ¡¿∩ ßαÑñßΓóἿ ¬«¼»∞εΓÑαá Éæ, Γᬿ-
- ¼¿, ¬á¬ π»αáó½Ñ¡¿Ñ αѪ¿¼«¼ φ¬αá¡á, αáßΦ¿αÑ¡¡δÑ ¬«ñδ ¬½áó¿áΓπαδ,
- µóÑΓá, «¬¡á, ¿ ºóπ¬«óδÑ ß¿ú¡á½δ. î«ñπ½∞ Crt ¼«ªÑΓ ¿ß»«½∞º«óáΓ∞ß∩
- Γ«½∞¬« ó »α«úαá¼¼áσ, αáí«ΓáεΘ¿σ ¡á »Ñαß«¡á½∞¡δσ ¬«¼»∞εΓÑαáσ IBM
- Éæ, Éæ AT, ÉS/2 Σ¿α¼δ IBM ¿ »«½¡«ßΓ∞ε ß«ó¼ÑßΓ¿¼δσ ß ¡¿¼¿.
-
- Äñ¡¿¼ ¿º «ß¡«ó¡δσ »αÑ¿¼πΘÑßΓó ¿ß»«½∞º«óá¡¿∩ ¼«ñπ½∩ Crt ∩ó½∩-
- ÑΓß∩ í«½∞Φá∩ ߬«α«ßΓ∞ ¿ ú¿í¬«ßΓ∞ »α¿ óδ»«½¡Ñ¡¿¿ «»Ñαᵿ⌐ αáí«Γδ ß
- φ¬αá¡«¼. Åα«úαá¼¼δ, ¡Ñ αáí«ΓáεΘ¿Ñ ß ¼«ñπ½Ñ¼ Crt, óδó«ñ∩Γ ¡á φ¬αá¡
- ¿¡Σ«α¼áµ¿ε ß »«¼«Θ∞ε ßαÑñßΓó «»Ñαᵿ«¡¡«⌐ ß¿ßΓѼδ DOS, τΓ« ßó∩ºá-
- ¡« ß ñ«»«½¡¿Γѽ∞¡δ¼¿ ¡Ñ»α«¿ºó«ñ¿Γѽ∞¡δ¼¿ ºáΓαáΓἿ. Åα¿ ¿ß»«½∞º«-
- óá¡¿¿ ¼«ñπ½∩ Crt óδó«ñ¿¼á∩ ¿¡Σ«α¼áµ¿∩ »«ßδ½áÑΓß∩ ¡Ñ»«ßαÑñßΓóÑ¡¡«
- ó íẫóπε ß¿ßΓѼπ óó«ñá-óδó«ñá (éIÄS), ¿½¿, ñ½∩ ÑΘÑ í«½ÑÑ íδßΓαδσ
- «»Ñαᵿ⌐, ¡Ñ»«ßαÑñßΓóÑ¡¡« ó ó¿ñÑ«»á¼∩Γ∞.
-
-
-
-
- B.Pascal 7 & Objects/LR - 227 -
-
- êß»«½∞º«óá¡¿Ñ ¼«ñπ½∩ CRT
- ─────────────────────────────────────────────────────────────────
-
- ùΓ«íδ ¿ß»«½∞º«óáΓ∞ ¼«ñπ½∞ Crt, Ñú« ¡πª¡« π¬áºáΓ∞ ó «»ÑαáΓ«αÑ
- uses óáΦÑ⌐ »α«úαá¼¼δ:
-
- uses Crt;
-
- Åα¿ ¿¡¿µ¿á½¿ºáµ¿¿ ¼«ñπ½∩ Crt ñ½∩ Γ«ú«, τΓ«íδ ¼«ª¡« í佫 «í-
- αáΘáΓ∞ß∩ ¬ CRÆ, ó¼ÑßΓ« ßΓá¡ñáαΓ¡δσ Σá⌐½«ó óó«ñá ¿ óδó«ñá DOS ¡áº-
- ¡áτáεΓß∩ ßΓá¡ñáαΓ¡δÑ óσ«ñ¡δÑ ¿ óδσ«ñ¡δÑ ΓѬßΓ«óδÑ Σá⌐½δ. ¥Γ« ß«-
- «ΓóÑΓßΓóπÑΓ óδ»«½¡Ñ¡¿ε ó ¡áτá½Ñ »α«úαá¼¼δ ß½ÑñπεΘ¿σ «»ÑαáΓ«α«ó:
-
- AssignCrt(Input); Reset(Input);
- AssignCrt(Output); Rewrite(Output);
-
- ¥Γ« «º¡áτáÑΓ, τΓ« »ÑαÑ«»αÑñѽѡ¿Ñ óσ«ñ¡δσ ¿ óδσ«ñ¡δσ Σá⌐½«ó
- ñá½ÑÑ ¡Ñ ñ«»π߬áÑΓß∩ ñ« ΓÑσ »«α, »«¬á ñ½∩ ñá¡¡δσ Σá⌐½«ó ¡Ñ íπñÑΓ
- óδ»«½¡Ñ¡« «íαáΓ¡«ú« »ÑαѡạáτÑ¡¿∩ ¿ ¡Ñ »α«¿º«⌐ñÑΓ »ÑαÑσ«ñ ¬
- ßΓá¡ñáαΓ¡«¼π óó«ñπ ¿ óδó«ñπ ß »«¼«Θ∞ε óδ»«½¡Ñ¡¿∩ «»ÑαáΓ«α«ó:
-
- Assing(Input,''); Reset(Input);
- Assing(Output,''); RewriteOutput);
-
-
- Ĭ¡á CRT
- ─────────────────────────────────────────────────────────────────
-
- î«ñπ½∞ Crt »«ññÑনóáÑΓ »α«ßΓπε, ¡«, ΓѼ ¡Ñ ¼Ñ¡ÑÑ, ¼«Θ¡πε
- Σ«α¼π ¿ß»«½∞º«óá¡¿∩ «¬«¡. Åα«µÑñπαá Window »«ºó«½∩ÑΓ óá¼ «»αÑñÑ-
- ½¿Γ∞ ó ¬á¬«¼-½¿í« ¼ÑßΓÑ φ¬αá¡á «¬¡«. Åα¿ ºá»¿ß¿ ó φΓ« «¬¡« «¡«
- óÑñÑΓ ßÑí∩ Γ«τ¡« ΓᬪÑ, ¬á¬ µÑ½δ⌐ φ¬αá¡. Åα¿ φΓ«¼ «ßΓá½∞¡á∩ τáßΓ∞
- φ¬αá¡á «ßΓáÑΓß∩ ¡ÑΓα«¡πΓ«⌐. äαπú¿¼¿ ß½«óἿ, ñ«ßΓπ» ¬ φ¬αá¡π ó¡Ñ
- «¬¡á «ΓßπΓßΓóπÑΓ. é¡πΓα¿ «¬¡á ¼«ª¡« ñ«íáó½∩Γ∞ ¿ πñá½∩Γ∞ ßΓ᫬¿,
- »α¿ φΓ«¼ ¬παß«α ó«ºóαáΘáÑΓß∩ ¬ »αáó«¼π ¬αáε ¿ »α¿ ñ«ßΓ¿ªÑ¡¿¿ ¬πα-
- ß«α«¼ ¡¿ª¡Ñ⌐ ßΓ᫬¿ ΓѬßΓ »α«ñó¿úáÑΓß∩ óóÑασ.
-
- éßÑ ¬««αñ¿¡áΓδ φ¬αá¡á, ¬α«¼Ñ ΓÑσ, ¬«Γ«αδÑ ¿ß»«½∞ºπεΓß∩ ñ½∩
- «»αÑñѽѡ¿∩ «¬¡á, «Γ¡«ß∩Γß∩ ¬ ΓѬπΘÑ¼π «¬¡π. è««αñ¿¡áΓá φ¬αá¡á
- (1,1) ß««ΓóÑΓßΓóπÑΓ ½Ñó«¼π óÑασ¡Ñ¼π πú½π φ¬αá¡á.
-
- Å« π¼«½τá¡¿ε «¬¡«¼ ßτ¿ΓáÑΓß∩ óÑß∞ φ¬αá¡.
-
-
-
-
- B.Pascal 7 & Objects/LR - 228 -
-
- æ»Ñµ¿á½∞¡δÑ ß¿¼ó«½δ
- ─────────────────────────────────────────────────────────────────
-
- Åα¿ ºá»¿ß¿ ó óδσ«ñ¡«⌐ Σá⌐½ ¿½¿ ó Σá⌐½, ¬«Γ«αδ⌐ ¡áº¡áτÑ¡ ñ½∩
- ¼«ñπ½∩ Crt, ߻ѵ¿á½∞¡«Ñ º¡áτÑ¡¿Ñ ¿¼ÑεΓ ß½ÑñπεΘ¿Ñ π»αáó½∩εΘ¿Ñ ß¿¼-
- ó«½δ:
-
- ┌───────┬───────────────┬───────────────────────────────────────┐
- │æ¿¼ó«½ │ ìáºóá¡¿Ñ │ Ä»¿ßá¡¿Ñ │
- ├───────┼───────────────┼───────────────────────────────────────┤
- │ #7 │ çó«¡«¬ │ éδºδóáÑΓ ºóπ¬«ó«⌐ ß¿ú¡á½, ¿ºñáóáѼδ⌐ ß│
- │ │ BELL │ »«¼«Θ∞ε ó¡πΓαÑ¡¡Ñú« ñ¿¡á¼¿¬á. │
- ├───────┼───────────────┼───────────────────────────────────────┤
- │ #8 │ÄíαáΓ¡δ⌐ »α«íѽ│ 髺óαáΓ ¡á «ñ¡π »«º¿µ¿ε. éδºδóáÑΓ »Ñ-│
- │ │ BS │ αѼÑΘÑ¡¿Ñ ¬παß«αá ó½Ñó« ¡á «ñ¡π »«º¿-│
- │ │ │ µ¿ε. àß½¿ ¬παß«α πªÑ ¡áσ«ñ¿Γß∩ π ½Ñó«-│
- │ │ │ ú« ¬αá∩ ΓѬπΘÑú« «¬¡á, Γ« ¡¿¬á¬¿σ│
- │ │ │ ñÑ⌐ßΓó¿⌐ ¡Ñ »α«¿ºó«ñ¿Γß∩. │
- ├───────┼───────────────┼───────────────────────────────────────┤
- │ #10 │ ÅÑαÑó«ñ ßΓ᫬¿│ ÅÑαѼÑΘáÑΓ ¬παß«α ¡á «ñ¡π ßΓ᫬π 󡿺.│
- │ │ LF │ àß½¿ ¬παß«α πªÑ ¡áσ«ñ¿Γß∩ ¡á ¡¿ª¡Ñ⌐│
- │ │ │ ßΓα«¬Ñ «¬¡á, Γ« «¬¡« »α«½¿ßΓδóáÑΓß∩│
- │ │ │ óóÑασ ¡á «ñ¡π ßΓ᫬π. │
- ├───────┼───────────────┼───────────────────────────────────────┤
- │ #13 │髺óαáΓ ¬áαÑΓ¬¿│ 髺óαáΘáÑΓ ¬παß«α ß ½Ñó«¼π ¬αáε ΓѬπ-│
- │ │ BS │ ΘÑú« «¬¡á. │
- └───────┴───────────────┴───────────────────────────────────────┘
-
-
- éó«ñ ßΓ᫬
- ─────────────────────────────────────────────────────────────────
-
- Åα¿ τΓÑ¡¿¿ ¿º óσ«ñ¡«ú« Σá⌐½á (Input) ¿½¿ ¿º ΓѬßΓ«ó«ú« Σá⌐-
- ½á, ¬«Γ«αδ⌐ ¡áº¡áτÑ¡ ñ½∩ ¼«ñπ½∩ Crt, ΓѬßΓ óó«ñ¿Γß∩ »« «ñ¡«⌐
- ßΓ᫬Ñ. æΓα«¬á ºá»«¼¿¡áÑΓß∩ ó« ó¡πΓαÑ¡¡Ñ¼ íπΣÑαÑ ΓѬßΓ«ó«ú« Σá⌐½á
- ¿ ¬«úñá »ÑαѼѡ¡δÑ ßτ¿ΓδóáεΓß∩, Γ« ó ¬áτÑßΓóÑ ¿ßΓ«τ¡¿¬á ¿ß»«½∞ºπ-
- ÑΓß∩ φëà íπΣÑα. èáªñδ⌐ αẠ¬«úñá íπΣÑα ßΓá¡«ó¿Γß∩ »πßΓδ¼, óó«-
- ñ¿Γß∩ ¡«óá∩ ßΓ᫬á. Åα¿ óó«ñÑ ßΓ᫬ ¼«ª¡« ¿ß»«½∞º«óáΓ∞ ß½ÑñπεΘ¿Ñ
- ¬½áó¿Φ¿ αÑñá¬Γ¿α«óá¡¿∩:
-
- ┌──────────────────────┬────────────────────────────────────────┐
- │è½áó¿Φá αÑñá¬Γ¿α«óá¡¿∩│ Ä»¿ßá¡¿Ñ │
- ├──────────────────────┼────────────────────────────────────────┤
- │ BacksαáßÑ │ ôñá½∩ÑΓ »«ß½Ññ¡¿⌐ óóÑñÑ¡¡δ⌐ ß¿¼ó«½. │
- ├──────────────────────┼────────────────────────────────────────┤
- │ Esß │ ôñá½∩ÑΓ óßε óó«ñ¿¼πε ßΓ᫬π. │
- ├──────────────────────┼────────────────────────────────────────┤
- │ Enter │ ÅαѬαáΘáÑΓ óó«ñ ßΓ᫬¿ ¿ ºá»¿ßδóáÑΓ│
- │ │ ¼Ñì𠬫¡µá ßΓ᫬¿ (ó«ºóαáΓ ¬áαÑΓ¬¿/»Ñ-│
- │ │ αÑó«ñ ßΓ᫬¿) ó íπΣÑαÑ. │
- ├──────────────────────┼────────────────────────────────────────┤
- │ Ctrl+S │ äÑ⌐ßΓóπÑΓ ΓᬪÑ, ¬á¬ Backspace. │
- ├──────────────────────┼────────────────────────────────────────┤
-
- B.Pascal 7 & Objects/LR - 229 -
-
- │ Ctrl+D │ êºó½Ñ¬áÑΓ «ñ¿¡ ß¿¼ó«½ ¿º »«ß½Ññ¡Ñ⌐ óó«-│
- │ │ ñ¿¼«⌐ ßΓ᫬¿ ¿ óδó«ñ¿Γ Ñú« ¡á φ¬αá¡. │
- ├──────────────────────┼────────────────────────────────────────┤
- │ Ctrl+F │ é«ßßΓá¡áó½¿óáÑΓ ¡á φ¬αá¡Ñ »«ß½Ññ¡εε│
- │ │ óó«ñ¿¼πε ßΓ᫬π. │
- ├──────────────────────┼────────────────────────────────────────┤
- │ Ctrl+Z │ çáóÑαΦáÑΓ óó«ñ ßΓ᫬¿ ¿ úÑ¡Ñα¿απÑΓ ß¿¼-│
- │ │ ó«½ ¬«¡µá Σá⌐½á. │
- ├──────────────────────┼────────────────────────────────────────┤
- │ ætrl-Z │ âÑ¡Ñα¿απÑΓ ß¿¼ó«½ ¬«¡µá Σá⌐½á ¿ ºáóÑα-│
- │ │ ΦáÑΓ ßΓ᫬π óó«ñá. │
- └──────────────────────┴────────────────────────────────────────┘
-
- Ctrl+Z íπñÑΓ úÑ¡Ñα¿α«óáΓ∞ ¬«¡Ñµ Σá⌐½á ó Γ«¼ ß½πτáÑ, Ñß½¿ »Ñ-
- αѼѡ¡á∩ CheckEOF πßΓá¡«ó½Ñ¡á ó True (»« π¼«½τá¡¿ε False).
-
- ä½∩ »α«óÑન ß«ßΓ«∩¡¿∩ ¬½áó¿áΓπαδ ¿ óó«ñá «Γñѽ∞¡δσ ß¿¼ó«½«ó
- »«ñ π»αáó½Ñ¡¿Ñ¼ »α«úαá¼¼δ ¿ß»«½∞ºπ⌐ΓÑ Σπ¡¬µ¿¿ KeyÉressed ¿
- RÑádKey.
-
-
-
- B.Pascal 7 & Objects/LR - 230 -
-
- Åα«µÑñπαδ ¿ Σπ¡¬µ¿¿ ¼«ñπ½∩ Crt
- ─────────────────────────────────────────────────────────────────
-
- ┌──────────────────┬────────────────────────────────────────────┐
- │öπ¡¬µ¿∩/»α«µÑñπαá │ Ä»¿ßá¡¿Ñ │
- ├──────────────────┼────────────────────────────────────────────┤
- │ AssignCrt │ ìạáτáÑΓ ΓѬßΓ«óδ⌐ Σá⌐½ ñ½∩ πßΓα«⌐ßΓóá│
- │ │ CRT. │
- ├──────────────────┼────────────────────────────────────────────┤
- │ ClrE«l │ Äτ¿ΘáÑΓ óßÑ ß¿¼ó«½δ, ¡áτ¿¡á∩ «Γ »«º¿µ¿¿│
- │ │ ¬παß«αá ñ« ¬«¡µá ßΓ᫬¿, íѺ »ÑαѼÑΘÑ¡¿∩│
- │ │ ¬παß«αá. │
- ├──────────────────┼────────────────────────────────────────────┤
- │ ClrScr │ Äτ¿ΘáÑΓ φ¬αá¡ ¿ »«¼ÑΘáÑΓ ¬παß«α ó óÑασ¡Ñ¼│
- │ │ ½Ñó«¼ πú½π. │
- ├──────────────────┼────────────────────────────────────────────┤
- │ DÑláπ │ éδ»«½¡∩ÑΓ ºáñÑ᪬π ¡á π¬áºá¡¡«Ñ τ¿ß½« ¼¿½-│
- │ │ ½¿ßѬπ¡ñ. │
- ├──────────────────┼────────────────────────────────────────────┤
- │ DelLine │ ôñá½∩ÑΓ ßΓ᫬π, ¡á ¬«Γ«α«⌐ ¡áσ«ñ¿Γß∩ ¬παß«α│
- │ │ ¿ »ÑαѼÑΘáÑΓ óßÑ ß½ÑñπεΘ¿Ñ ßΓ᫬¿ ¡á «ñ¡π│
- │ │ ßΓ᫬π óóÑασ. 쿪¡∩∩ ßΓα«¬á «τ¿ΘáÑΓß∩. │
- ├──────────────────┼────────────────────────────────────────────┤
- │ G«t«òY │ éδ»«½¡∩ÑΓ »«º¿µ¿«¡¿α«óá¡¿Ñ ¬παß«αá. ò - φΓ«│
- │ │ ú«α¿º«¡Γá½∞¡á∩ »«º¿µ¿∩, Y - óÑαΓ¿¬á½∞¡á∩│
- │ │ »«º¿µ¿∩. │
- ├──────────────────┼────────────────────────────────────────────┤
- │ ìightVideo │ éδí¿αáÑΓ ß¿¼ó«½δ ß »«ñßóÑΓ¬«⌐. │
- ├──────────────────┼────────────────────────────────────────────┤
- │ InsLine │ éßΓáó½∩ÑΓ »πßΓπε ßΓ᫬π ó ¼ÑßΓÑ αáß»«½«ªÑ-│
- │ │ ¡¿∩ ¬παß«αá. │
- ├──────────────────┼────────────────────────────────────────────┤
- │ KeyÉrÑssÑd │ 髺óαáΘáÑΓ º¡áτÑ¡¿Ñ TruÑ, Ñß½¿ ¬½áó¿Φá ¡á│
- │ │ ¬½áó¿áΓπαÑ ¡áªáΓá ¿ FalsÑ - ó »α«Γ¿ó¡«¼│
- │ │ ß½πτáÑ. │
- ├──────────────────┼────────────────────────────────────────────┤
- │ LowVidÑ │ éδí¿αáÑΓ ß¿¼ó«½δ ß »«¡¿ªÑ¡¡«⌐ ∩ᬫßΓ∞ε. │
- ├──────────────────┼────────────────────────────────────────────┤
- │ NormVideo │ éδí¿αáÑΓ ß¿¼ó«½δ ß ¡«α¼á½∞¡«⌐ ∩ᬫßΓ∞ε. │
- ├──────────────────┼────────────────────────────────────────────┤
- │ NoSound │ é䬽ετáÑΓ ó¡πΓαÑ¡¡¿⌐ ñ¿¡á¼¿¬. │
- ├──────────────────┼────────────────────────────────────────────┤
- │ Sound │ 鬽ετáÑΓ ó¡πΓαÑ¡¡¿⌐ ñ¿¡á¼¿¬. │
- ├──────────────────┼────────────────────────────────────────────┤
- │ Textéáckground │ éδí¿αáÑΓ Σ«¡«óδ⌐ µóÑΓ. │
- ├──────────────────┼────────────────────────────────────────────┤
- │ TextColor │ éδí¿αáÑΓ µóÑΓ ßἫú« ß¿¼ó«½á. │
- ├──────────────────┼────────────────────────────────────────────┤
- │ Textî«dÑ │ éδí¿αáÑΓ ¬«¡¬αÑΓ¡δ⌐ ΓѬßΓ«óδ⌐ αѪ¿¼. │
- ├──────────────────┼────────────────────────────────────────────┤
- │ Window │ Ä»αÑñѽ∩ÑΓ ¡á φ¬αá¡Ñ ΓѬßΓ«ó«Ñ «¬¡«. │
- ├──────────────────┼────────────────────────────────────────────┤
- │ RÑád¬Ñπ │ æτ¿ΓδóáÑΓ ß¿¼ó«½ ß ¬½áó¿áΓπαδ. │
-
- B.Pascal 7 & Objects/LR - 231 -
-
- ├──────────────────┼────────────────────────────────────────────┤
- │ WherÑò │ 髺óαáΘáÑΓ ¬««αñ¿¡áΓπ ò ñ½∩ ΓѬπΘÑ⌐ »«º¿µ¿¿│
- │ │ ¬παß«αá, «Γ¡«ß∩Θπεß∩ ¬ ΓѬπΘÑ¼π «¬¡π. ò│
- │ │ »αÑñßΓáó½∩ÑΓ ß«í«⌐ ú«α¿º«¡Γá½∞¡πε »«º¿µ¿ε.│
- ├──────────────────┼────────────────────────────────────────────┤
- │ WhereY │ 髺óαáΘáÑΓ ¬««αñ¿¡áΓπ Y ñ½∩ ΓѬπΘÑ⌐ »«º¿µ¿¿│
- │ │ ¬παß«αá, «Γ¡«ß∩Θπεß∩ ¬ ΓѬπΘÑ¼π «¬¡π. Y│
- │ │ »αÑñßΓáó½∩ÑΓ ß«í«⌐ óÑαΓ¿¬á½∞¡πε »«º¿µ¿ε. │
- └──────────────────┴────────────────────────────────────────────┘
-
-
-
- B.Pascal 7 & Objects/LR - 232 -
-
- è«¡ßΓá¡Γδ ¿ »ÑαѼѡ¡δÑ ¼«ñπ½∩ Crt
- ─────────────────────────────────────────────────────────────────
-
- é ¼«ñπ½Ñ Crt ß«ñÑনΓß∩ αáñ ¬«¡ßΓá¡Γ, «í½ÑúτáεΘ¿σ »α«úαá¼¼¿-
- α«óá¡¿Ñ. Å«ñα«í¡« «¡¿ «»¿ßδóáεΓß∩ ó â½áóÑ 1 "æ»αáó«τ¡«ú« απ¬«-
- ó«ñßΓóá »α«úαá¼¼¿ßΓá". Ä»¿ΦѼ úαπ»»δ φΓ¿σ ¬«¡ßΓá¡Γ:
-
- ┌────────────────────────────┬──────────────────────────────────┐
- │ âαπ»»á ¬«¡ßΓá¡Γ │ Ä»¿ßá¡¿Ñ │
- ├────────────────────────────┼──────────────────────────────────┤
- │ è«¡ßΓá¡Γδ αѪ¿¼á Crt │ âαáΣ¿τÑ߬¿Ñ ¬«¡ßΓá¡Γδ, ¿ß»«½∞ºπÑ-│
- │ │ ¼δÑ ó ¬áτÑßΓóÑ »áαá¼ÑΓα«ó »α«µÑ-│
- │ │ ñπαδ TextMode. │
- ├────────────────────────────┼──────────────────────────────────┤
- │ è«¡ßΓá¡Γδ µóÑΓ«ó │ è«¡ßΓá¡Γδ, ¿ß»«½∞ºπѼδÑ ñ½∩ πßΓá-│
- │ │ ¡«ó¬¿ µóÑΓ«ó ß »«¼«Θ∞ε »α«µÑñπα│
- │ │ TextColor ¿ TextBackGround. │
- └────────────────────────────┴──────────────────────────────────┘
-
- ìá»α¿¼Ñα, τΓ«íδ ¡á⌐Γ¿ º¡áτÑ¡¿Ñ ¬«¡ßΓá¡Γδ, ¬«Γ«αá∩ »«ºó«½¿Γ
- óá¼ óδó«ñ¿Γ∞ ΓѬßΓ ó »α«úαá¼¼Ñ ¬αáß¡δ¼ µóÑΓ«¼, »α«ß¼«Γα¿ΓÑ ¬«¡ß-
- Γá¡Γδ µóÑΓ«ó ΓѬßΓá ¿ ¡á⌐ñ¿ΓÑ ¬«¡ßΓá¡Γπ Red ß« º¡áτÑ¡¿Ñ¼ 4.
-
- é ¼«ñπ½Ñ Crt ß«ñÑαªáΓß∩ ß½ÑñπεΘ¿Ñ »ÑαѼѡ¡δÑ:
- ┌──────────────────┬─────────────┬──────────────────────────────┐
- │ ÅÑαѼѡ¡á∩ │ Æ¿» │ Ä»¿ßá¡¿Ñ │
- ├──────────────────┼─────────────┼──────────────────────────────┤
- │ CheckBreak │ boolean │ ÉáºαÑΦáÑΓ ¿½¿ ºá»αÑΘáÑΓ »α«-│
- │ │ │ óÑα¬π ¡á Ctrl+Break. │
- ├──────────────────┼─────────────┼──────────────────────────────┤
- │ CheckEof │ boolean │ ÉáºαÑΦáÑΓ ¿½¿ ºá»αÑΘáÑΓ ß¿¼-│
- │ │ │ ó«½ ¬«¡µá Σá⌐½á. │
- ├──────────────────┼─────────────┼──────────────────────────────┤
- │ CheckSnow │ boolean │ ÉáºαÑΦáÑΓ ¿½¿ ºá»αÑΘáÑΓ »α«-│
- │ │ │ óÑα¬π ¡á »«¼Ñσ¿. │
- ├──────────────────┼─────────────┼──────────────────────────────┤
- │ DirectVideo │ boolean │ ÉáºαÑΦáÑΓ ¿½¿ ºá»αÑΘáÑΓ »α∩- │
- │ │ │ ¼«⌐ ñ«ßΓπ» ¬ »á¼∩Γ¿ ñ½∩ »α«- │
- │ │ │ µÑñπα WriteLn ¿ Write. │
- ├──────────────────┼─────────────┼──────────────────────────────┤
- │ LastMode │ word │ Åα¿ ¬áªñ«¼ ó맮óÑ TextMode │
- │ │ │ ß«σαá¡∩ÑΓ ΓѬπΘ¿⌐ ó¿ñÑ«αÑ- │
- │ │ │ ª¿¼. │
- ├──────────────────┼─────────────┼──────────────────────────────┤
- │ TextAttr │ byte │ æ«ñÑαª¿Γ áΓα¿íπΓδ ΓѬπΘÑú« │
- │ │ │ óδíαá¡¡«ú« ΓѬßΓá. │
- ├──────────────────┼─────────────┼──────────────────────────────┤
- │ WindMin │ word │ æ«ñÑαª¿Γ ¬««αñ¿¡áΓδ óÑασ¡Ñú« │
- │ │ │ ½Ñó«ú« πú½á ΓѬπΘÑú« «¬¡á. │
- ├──────────────────┼─────────────┼──────────────────────────────┤
- │ WindMax │ word │ æ«ñÑαª¿Γ ¬««αñ¿¡áΓδ ¡¿ª¡Ñú« │
- │ │ │ »αáó«ú« πú½á ΓѬπΘÑú« «¬¡á. │
- └──────────────────┴─────────────┴──────────────────────────────┘
-
- B.Pascal 7 & Objects/LR - 233 -
-
-
- éó«ñ ¿ óδó«ñ ß »«¼«Θ∞ε ¼«ñπ½∩ WinCrt
- ─────────────────────────────────────────────────────────────────
-
- Åα¿¼Ñτá¡¿Ñ: ¥Γ«Γ αáºñѽ «Γ¡«ß¿Γß∩ Γ«½∞¬« ¬ »α«úαá¼¼á¼
- Windows.
-
- î«ñπ½∞ WinCrt αÑ὿ºπÑΓ á¡á½«ú¿τ¡δ⌐ ΓÑନ¡á½π ΓѬßΓ«óδ⌐ φ¬-
- αá¡ ó «¬¡Ñ. æ »«¼«Θ∞ε ¼«ñπ½∩ WinCrt óδ ¼«ªÑΓÑ ½Ñú¬« ß«ºñáóáΓ∞
- »α«úαá¼¼δ, ¿ß»«½∞ºπεΘ¿Ñ ßΓá¡ñáαΓ¡δÑ »α«µÑñπαδ Read. ReadLn, Write
- ¿ WriteLn ñ½∩ óδ»«½¡Ñ¡¿∩ «»Ñαᵿ⌐ óó«ñá ¿ óδó«ñá (ΓᬠªÑ, ¬á¬ ó
- «íδτ¡«⌐ »α¿¬½áñ¡«⌐ »α«úαá¼¼Ñ, αáí«ΓáεΘÑ⌐ ó ΓѬßΓ«ó«¼ αѪ¿¼Ñ). î«-
- ñπ½∞ WinCrt ß«ñÑαª¿Γ óßÑ á½ú«α¿Γ¼δ, π»αáó½∩εΘ¿Ñ φ¼π½∩µ¿Ñ⌐ ΓѬßΓ«-
- ó«ú« φ¬αá¡á ó »α«úαá¼¼¡«⌐ ßαÑñÑ Windows. àß½¿ óáΦá »α«úαá¼¼á ¿ß-
- »«½∞ºπÑΓ ¼«ñπ½∞ WinCrt, óá¼ ¡Ñ »«ΓαÑíπÑΓß∩ »¿ßáΓ∞ "߻ѵ¿Σ¿τÑ߬¿⌐
- ñ½∩ Windows" ¿ßσ«ñ¡δ⌐ ¬«ñ.
-
-
-
- B.Pascal 7 & Objects/LR - 234 -
-
- êß»«½∞º«óá¡¿Ñ ¼«ñπ½∩ WinCrt
- ─────────────────────────────────────────────────────────────────
-
- ùΓ«íδ ¿ß»«½∞º«óáΓ∞ ¼«ñπ½∞ WinCrt, ¡πª¡« »α«ßΓ« π¬áºáΓ∞ ó óá-
- ΦÑ⌐ »α«úαá¼¼Ñ «»ÑαáΓ«α uses, ¬á¬ ¿ »α¿ ¿ß»«½∞º«óá¡¿¿ ½εí«ú« ñαπ-
- ú«ú« ¼«ñπ½∩.
-
- uses WinCrt;
-
- Å« π¼«½τá¡¿ε ßΓá¡ñáαΓ¡δÑ ΓѬßΓ«óδÑ Σá⌐½δ Input ¿ Output, «»-
- αÑñѽѡ¡δÑ ó ¼«ñπ½Ñ System, ¡Ñ »α¿ßóá¿óáεΓß∩, ¿ óßÑ «íαáΘÑ¡¿∩ ¬
- »α«µÑñπαá¼ Read, Readln, Write ¿½¿ Writeln íѺ π¬áºá¡¿∩ Σá⌐½«ó«⌐
- »ÑαѼѡ¡«⌐ »α¿ó«ñ∩Γ ¬ «Φ¿í¬Ñ óó«ñá-óδó«ñá. Äñ¡á¬«, ¬«úñá »α«úαá¼-
- ¼á ¿ß»«½∞ºπÑΓ ¼«ñπ½∞ WinCrt, ¬«ñ ¿¡¿µ¿á½¿ºáµ¿¿ ñá¡¡«ú« ¼«ñπ½∩
- »α¿ßóá¿óáÑΓ Input ¿ Output ßΓá¡ñáαΓ¡δÑ ΓѬßΓ«óδÑ Σá⌐½δ, τΓ«íδ
- ßßδ½áΓ∞ß∩ ¡á «¬¡«, φ¼π½¿απεΘÑÑ ΓѬßΓ«óδ⌐ φ¬αá¡. ¥Γ« ß««ΓóÑΓßΓóπÑΓ
- óδ»«½¡Ñ¡¿ε ó ¡áτá½Ñ »α«úαá¼¼δ ß½ÑñπεΘ¿σ «»ÑαáΓ«α«ó:
-
- AssignWinCrt(Input); Reset(Input);
- AssignWinCrt(Output); Rewrite(Output);
-
- è«úñá ó »α«úαá¼¼Ñ óδ»«½¡∩εΓß∩ »α«µÑñπαδ Readln, Read, Write
- ¿½¿ Writeln, ó «»ÑαáΓ¿ó¡«⌐ «í½áßΓ¿ Windows «Γ¬αδóáÑΓß∩ «¬¡« CRT.
- Å« π¼«½τá¡¿ε ºáú«½«ó¬«¼ «¬¡á CRT íπñÑΓ »«½¡«Ñ ¿¼∩ ¼áαΦαπΓá Σá⌐½á
- .EXE »α«úαá¼¼δ. è«úñá »α«úαá¼¼á ºáóÑαΦáÑΓ αáí«Γπ (π»αáó½Ñ¡¿Ñ ñ«ß-
- Γ¿úáÑΓ ¬«¡Ñτ¡«ú« ºáαѺÑαó¿α«óá¡¡«ú« ß½«óá end), ºáú«½«ó«¬ «¬¡á
- CRT ¿º¼Ñ¡∩ÑΓß∩ ¡á "(Inactive nnnnn)", úñÑ nnnnn - ºáú«½«ó«¬ «¬¡á
- ó Ñú« á¬Γ¿ó¡«¼ ß«ßΓ«∩¡¿¿.
-
- çá¼ÑΓ¿¼, τΓ« σ«Γ∩ »α«úαá¼¼á ¿ ºáóÑαΦ¿½á αáí«Γπ, «¬¡« «ßΓáÑΓ-
- ß∩ ¡á φ¬αá¡Ñ, í½áú«ñáα∩ τÑ¼π »«½∞º«óáΓѽ∞ ¼«ªÑΓ »α«óÑα¿Γ∞ óδó«ñ
- »α«úαá¼¼δ. ǡὫú¿τ¡« ñαπú¿¼ »α¿¬½áñ¡δ¼ »α«úαἼἠWindows, »α«ú-
- αá¼¼á ¡Ñ ºáóÑαΦáÑΓß∩ »«½¡«ßΓ∞ε, »«¬á »«½∞º«óáΓѽ∞ ¡Ñ ºá¬α«ÑΓ «¬-
- ¡«.
-
- ü«½ÑÑ »«½¡« π»αáó½∩Γ∞ ª¿º¡Ñ¡¡δ¼ µ¿¬½«¼ «¬¡á CRT óá¼ »«ºó«½∩-
- εΓ »«ñ»α«úαá¼¼δ InitWinCrt ¿ DoneWinCrt. Åα¿ «íαáΘÑ¡¿¿ ¬ »Ñαó«⌐
- ¿º ¡¿σ íѺ «ª¿ñá¡¿∩ »Ñαó«ú« ó맮óá »α«µÑñπα Readln, Read, Write
- ¿½¿ Writeln ¡Ñ¼Ññ½Ñ¡¡« ß«ºñáÑΓß∩ «¬¡« CRT. ǡὫú¿τ¡«, «íαáΘÑ¡¿Ñ
- ¬ DoneWinCrt ¡Ñ¼Ññ½Ñ¡¡« π¡¿τΓ«ªáÑΓ «¬¡« CRT, ¡Ñ «ª¿ñá∩, »«¬á Ñú«
- ºá¬α«ÑΓ »«½∞º«óáΓѽ∞.
-
- Ĭ¡« CRT »αÑñßΓáó½∩ÑΓ ß«í«⌐ »α«¬απτ¿óáѼ«Ñ "»á¡«αἡ«Ñ" «¬¡«
- ¡á ó¿αΓπá½∞¡«¼ ΓѬßΓ«ó«¼ φ¬αá¡Ñ. Å« π¼«½τá¡¿ε ó¿αΓπá½∞¡δ⌐ φ¬αá¡
- ¿¼ÑÑΓ αẼÑαδ 80 ßΓ«½íµ«ó ¡á 25 ßΓ᫬, ¡« αÑá½∞¡δ⌐ αẼÑα «¬¡á
- CRT ¼«ªÑΓ íδΓ∞ ¼Ñ¡∞ΦÑ. àß½¿ φëà αẼÑα ¼Ñ¡∞ΦÑ, »«½∞º«óáΓѽ∞ ñ½∩
- »ÑαѼÑΘÑ¡¿∩ «í½áßΓ¿ «¬¡á »« ΓѬßΓ«ó«¼π φ¬αá¡π í«½∞ΦÑú« αẼÑαá
- ¼«ªÑΓ ¿ß»«½∞º«óáΓ∞ »«½«ßδ »α«¬απΓ¬¿ «¬¡á ¿½¿ ¬½áó¿Φ¿ π»αáó½Ñ¡¿∩
- ¬παß«α«¼. ¥Γ« «ß«íÑ¡¡« »«½Ñº¡« ñ½∩ "«íαáΓ¡«⌐ »α«¬απΓ¬¿" ¿ »α«óÑα-
- ¬¿ αá¡ÑÑ ¡á»¿ßá¡¡«ú« ΓѬßΓá. Å« π¼«½τá¡¿ε »á¡«αἡ«Ñ «¬¡« «Γß½Ñ-
- ª¿óáÑΓ ¬παß«α ΓѬßΓ«ó«ú« φ¬αá¡á. äαπú¿¼¿ ß½«óἿ, »á¡«αἡ«Ñ «¬¡«
- áóΓ«¼áΓ¿τÑ߬¿ »α«¬απτ¿óáÑΓß∩, τΓ«íδ «íÑß»Ñτ¿Γ∞ »«ßΓ«∩¡¡πε ó¿ñ¿-
- ¼«ßΓ∞ ¬παß«αá. ôßΓá¡«ó¿ó »ÑαѼѡ¡πε AutoTracking ó º¡áτÑ¡¿Ñ
-
- B.Pascal 7 & Objects/LR - 235 -
-
- False, óδ ¼«ªÑΓÑ ºá»αÑΓ¿Γ∞ ßαÑñßΓó« áóΓ«¼áΓ¿τÑ߬«⌐ »α«¬απΓ¬¿.
-
- ÉẼÑαδ ó¿αΓπá½∞¡«ú« φ¬αá¡á «»αÑñѽ∩εΓß∩ »ÑαѼѡ¡«⌐
- ScreenSize. Åα¿ßó«¿ó φΓ«⌐ »ÑαѼѡ¡«⌐ ¡«óδÑ αẼÑα¡«ßΓ¿ »ÑαÑñ ΓѼ,
- ¬á¬ óáΦá »α«úαá¼¼á ß«ºñáÑΓ «¬¡« CRT, óδ ¼«ªÑΓÑ ¿º¼Ñ¡¿Γ∞ αẼÑαδ
- ó¿αΓπá½∞¡«ú« φ¬αá¡á. è«úñá «¬¡« ß«ºñáÑΓß∩, ó ñ¿¡á¼¿τÑ߬¿ αáß»αÑ-
- ñѽ∩Ѽ«⌐ »á¼∩Γ¿ óδñѽ∩ÑΓß∩ íπΣÑα φ¬αá¡á. ÉẼÑα φΓ«ú« íπΣÑαá αá-
- óÑ¡ »α«¿ºóÑñÑ¡¿ε ScreenSize.Y ¡á ScreenSize.Y ¿ ¡Ñ ¼«ªÑΓ »αÑóδ-
- ΦáΓ∞ 65520 íá⌐Γ. ÄΓóÑΓßΓóÑ¡¡«ßΓ∞ ºá »α¿ßóá¿óá¡¿∩ º¡áτÑ¡¿⌐ φΓ¿¼
- »ÑαѼѡ¡δ¼ 󫺽áúáÑΓß∩ ¡á óáß («¡¿ ¡Ñ ñ«½ª¡δ »αÑóδΦáΓ∞ π¬áºá¡¡πε
- úαá¡¿µπ). àß½¿, ¡á»α¿¼Ñα, óδ »α¿ßó«¿ΓÑ ScreenSize.X º¡áτÑ¡¿Ñ 64,
- Γ« ¡á¿í«½∞Φ¿¼ ñ«»πßΓ¿¼δ¼ º¡áτÑ¡¿Ñ¼ ñ½∩ ScreenSize.Y íπñÑΓ 1023.
-
- é ½εí«⌐ ¼«¼Ñ¡Γ ó »α«µÑßßÑ óδ»«½¡Ñ¡¿∩ »α«úαá¼¼δ, ¿ß»«½∞ºπεΘÑ⌐
- ¼«ñπ½∞ WinCrt, »«½∞º«óáΓѽ∞ ¼«ªÑΓ »αÑαóáΓ∞ óδ»«½¡Ñ¡¿Ñ, óδíαáó ó
- ¼Ñ¡ε Control (ô»αáó½Ñ¡¿Ñ) «¬¡á CRT ¬«¼á¡ñπ Close (çá¬αδΓ¿Ñ),
- ñóáªñδ Θѽ¬¡πó ¬¡«»¬«⌐ "¼δΦ¿" ó αá¼¬Ñ ¼Ñ¡ε Control ¿½¿ ¡áªáó ¬½á-
- ó¿Φ¿ Alt+F4. ǡὫú¿τ¡«, ó ½εí«⌐ ¼«¼Ñ¡Γ ñ½∩ »αÑαδóá¡¿∩ »α¿¬½áñ¡«⌐
- »α«úαá¼¼δ »«½∞º«óáΓѽ∞ ¼«ªÑΓ ¡áªáΓ∞ Ctrl+C ¿½¿ Ctrl+Break, »α¿
- φΓ«¼ «¬¡« »ÑαÑó«ñ¿Γß∩ ó ¡Ñá¬Γ¿ó¡«Ñ ß«ßΓ«∩¡¿Ñ. ôßΓá¡«ó¿ó »ÑαѼѡ-
- ¡πε CheckBreak ó º¡áτÑ¡¿Ñ False, óδ ¼«ªÑΓÑ ºá»αÑΓ¿Γ∞ φΓπ 󫺼«ª-
- ¡«ßΓ∞.
-
-
-
- B.Pascal 7 & Objects/LR - 236 -
-
- æ»Ñµ¿á½∞¡δÑ ß¿¼ó«½δ
- ─────────────────────────────────────────────────────────────────
-
- Åα¿ ºá»¿ß¿ ó óδσ«ñ¡«⌐ Σá⌐½ (Output) ¿½¿ ó Σá⌐½, ¬«Γ«αδ⌐ ¡áº-
- ¡áτÑ¡ ñ½∩ «¬¡á CRT, ߻ѵ¿á½∞¡«Ñ º¡áτÑ¡¿Ñ ¿¼ÑεΓ ß½ÑñπεΘ¿Ñ π»αáó½∩-
- εΘ¿Ñ ß¿¼ó«½δ:
-
- ┌───────┬───────────────┬───────────────────────────────────────┐
- │æ¿¼ó«½ │ ìáºóá¡¿Ñ │ Ä»¿ßá¡¿Ñ │
- ├───────┼───────────────┼───────────────────────────────────────┤
- │ #7 │ çó«¡«¬ │ éδºδóáÑΓ ºóπ¬«ó«⌐ ß¿ú¡á½, ¿ºñáóáѼδ⌐ ß│
- │ │ BELL │ »«¼«Θ∞ε ó¡πΓαÑ¡¡Ñú« ñ¿¡á¼¿¬á. │
- ├───────┼───────────────┼───────────────────────────────────────┤
- │ #8 │ÄíαáΓ¡δ⌐ »α«íѽ│ 髺óαáΓ ¡á «ñ¡π »«º¿µ¿ε. éδºδóáÑΓ »Ñ-│
- │ │ BS │ αѼÑΘÑ¡¿Ñ ¬παß«αá ó½Ñó« ¡á «ñ¡π »«º¿-│
- │ │ │ µ¿ε. àß½¿ ¬παß«α πªÑ ¡áσ«ñ¿Γß∩ π ½Ñó«-│
- │ │ │ ú« ¬αá∩ ΓѬπΘÑú« «¬¡á, Γ« ¡¿¬á¬¿σ│
- │ │ │ ñÑ⌐ßΓó¿⌐ ¡Ñ »α«¿ºó«ñ¿Γß∩. │
- ├───────┼───────────────┼───────────────────────────────────────┤
- │ #10 │ ÅÑαÑó«ñ ßΓ᫬¿│ ÅÑαѼÑΘáÑΓ ¬παß«α ¡á «ñ¡π ßΓ᫬π 󡿺.│
- │ │ LF │ àß½¿ ¬παß«α πªÑ ¡áσ«ñ¿Γß∩ ¡á ¡¿ª¡Ñ⌐│
- │ │ │ ßΓα«¬Ñ «¬¡á, Γ« «¬¡« »α«½¿ßΓδóáÑΓß∩│
- │ │ │ óóÑασ ¡á «ñ¡π ßΓ᫬π. │
- ├───────┼───────────────┼───────────────────────────────────────┤
- │ #13 │髺óαáΓ ¬áαÑΓ¬¿│ 髺óαáΘáÑΓ ¬παß«α ß ½Ñó«¼π ¬αáε ΓѬπ-│
- │ │ CR │ ΘÑú« «¬¡á. │
- └───────┴───────────────┴───────────────────────────────────────┘
-
-
- éó«ñ ßΓ᫬
- ─────────────────────────────────────────────────────────────────
-
- Åα¿ τΓÑ¡¿¿ ¿º óσ«ñ¡«ú« Σá⌐½á (Input) ¿½¿ ¿º ΓѬßΓ«ó«ú« Σá⌐-
- ½á, ¬«Γ«αδ⌐ ¡áº¡áτÑ¡ ñ½∩ «¬¡á CRT, ΓѬßΓ óó«ñ¿Γß∩ »« «ñ¡«⌐ ßΓα«-
- ¬Ñ. æΓα«¬á ºá»«¼¿¡áÑΓß∩ ó« ó¡πΓαÑ¡¡Ñ¼ íπΣÑαÑ ΓѬßΓ«ó«ú« Σá⌐½á ¿
- ¬«úñá »ÑαѼѡ¡δÑ ßτ¿ΓδóáεΓß∩, Γ« ó ¬áτÑßΓóÑ ¿ßΓ«τ¡¿¬á ¿ß»«½∞ºπÑΓ-
- ß∩ φëà íπΣÑα. èáªñδ⌐ αẠ¬«úñá íπΣÑα ßΓá¡«ó¿Γß∩ »πßΓδ¼, óó«ñ¿Γß∩
- ¡«óá∩ ßΓ᫬á.
-
- Åα¿ óó«ñÑ ßΓ᫬ ó «¬¡Ñ CRT ¼«ª¡« ¿ß»«½∞º«óáΓ∞ ß½ÑñπεΘ¿Ñ ¬½á-
- ó¿Φ¿ αÑñá¬Γ¿α«óá¡¿∩: éacksαáßÑ - πñá½∩ÑΓ »«ß½Ññ¡¿⌐ óóÑñÑ¡¡δ⌐ ß¿¼-
- ó«½, Esß - πñá½∩ÑΓ óßε óó«ñ¿¼πε ßΓ᫬π, Enter - »αѬαáΘáÑΓ óó«ñ
- ßΓ᫬¿ ¿ ºá»¿ßδóáÑΓ ¼Ñì𠬫¡µá ßΓ᫬¿ (ó«ºóαáΓ ¬áαÑΓ¬¿/»ÑαÑó«ñ
- ßΓ᫬¿) ó íπΣÑαÑ. èα«¼Ñ Γ«ú«, ¼«ª¡« ¿ß»«½∞º«óáΓ∞ ¬½áó¿Φ¿ ætrl+Z,
- ¬«Γ«αδÑ úÑ¡Ñα¿απεΓ ß¿¼ó«½ ¬«¡µá Σá⌐½á Γ«½∞¬« ó Γ«¼ ß½πτáÑ, Ñß½¿
- »ÑαѼѡ¡á∩ CheckEof πßΓá¡«ó½Ñ¡á ó º¡áτÑ¡¿Ñ TruÑ (»« π¼«½τá¡¿ε Ñ⌐
- »α¿ßó«Ñ¡« º¡áτÑ¡¿Ñ FalsÑ). ìáªáΓ¿Ñ Ctrl+Z Γá¬ªÑ ºáóÑαΦáÑΓ ßΓ᫬π
- óó«ñá ¿ úÑ¡Ñα¿απÑΓ ¼áα¬Ñα ¬«¡µá ßΓ᫬¿.
-
- ä½∩ »α«óÑન ß«ßΓ«∩¡¿∩ ¬½áó¿áΓπαδ ¿ óó«ñá «Γñѽ∞¡δσ ß¿¼ó«½«ó
- »«ñ π»αáó½Ñ¡¿Ñ¼ »α«úαá¼¼δ ¿ß»«½∞ºπ⌐ΓÑ Σπ¡¬µ¿¿ KeyÉressed ¿
- RÑádkey.
-
-
- B.Pascal 7 & Objects/LR - 237 -
-
- Åα«µÑñπαδ ¿ Σπ¡¬µ¿¿
- ─────────────────────────────────────────────────────────────────
-
- é ß½ÑñπεΘ¿σ Γáí½¿µáσ »ÑαÑτ¿ß½∩εΓß∩ »α«µÑñπαδ ¿ Σπ¡¬µ¿¿, ¬«-
- Γ«αδÑ ¼«ª¡« ¡á⌐Γ¿ ó ¼«ñπ½Ñ WinCrt.
-
- ┌───────────────────┬───────────────────────────────────────────┐
- │ Åα«µÑñπαá/Σπ¡¬µ¿∩ │ Ä»¿ßá¡¿Ñ │
- ├───────────────────┼───────────────────────────────────────────┤
- │ AssignCrt │ ìạáτáÑΓ ΓѬßΓ«óδ⌐ Σá⌐½ ñ½∩ «¬¡á CRT. │
- ├───────────────────┼───────────────────────────────────────────┤
- │ ClrE«l │ Äτ¿ΘáÑΓ óßÑ ß¿¼ó«½δ, ¡áτ¿¡á∩ «Γ »«º¿µ¿¿│
- │ │ ¬παß«αá ñ« ¬«¡µá ßΓ᫬¿, íѺ »ÑαѼÑΘÑ¡¿∩│
- │ │ ¬παß«αá. │
- ├───────────────────┼───────────────────────────────────────────┤
- │ ClrScr │ Äτ¿ΘáÑΓ φ¬αá¡ ¿ »«¼ÑΘáÑΓ ¬παß«α ó óÑασ¡Ñ¼│
- │ │ ½Ñó«¼ πú½π. │
- ├───────────────────┼───────────────────────────────────────────┤
- │ CursorTo │ ÅÑαѼÑΘáÑΓ ¬παß«α ó Γ«τ¬π ¡á ó¿αΓπá½∞¡«¼│
- │ │ φ¬αá¡Ñ ß ºáñá¡¡δ¼¿ ¬««αñ¿¡áΓἿ. │
- ├───────────────────┼───────────────────────────────────────────┤
- │ DoneWinCrt │ ô¡¿τΓ«ªáÑΓ «¬¡á CRT. │
- ├───────────────────┼───────────────────────────────────────────┤
- │ G«t«òY │ éδ»«½¡∩ÑΓ »«º¿µ¿«¡¿α«óá¡¿Ñ ¬παß«αá. ò -│
- │ │ φΓ« ú«α¿º«¡Γá½∞¡á∩ »«º¿µ¿∩, Y - óÑαΓ¿¬á½∞-│
- │ │ ¡á∩ »«º¿µ¿∩ ó¿αΓπá½∞¡«ú« φ¬αá¡á. │
- ├───────────────────┼───────────────────────────────────────────┤
- │ InitWinCrt │ ê¡¿µ¿á½¿º¿απÑΓ «¬¡« CRT. │
- ├───────────────────┼───────────────────────────────────────────┤
- │ KeyÉrÑssÑd │ 髺óαáΘáÑΓ º¡áτÑ¡¿Ñ TruÑ, Ñß½¿ ¬½áó¿Φá ¡á│
- │ │ ¬½áó¿áΓπαÑ ¡áªáΓá ¿ FalsÑ - ó »α«Γ¿ó¡«¼ │
- │ │ ß½πτáÑ. │
- ├───────────────────┼───────────────────────────────────────────┤
- │ ReadBuf │ æτ¿ΓδóáÑΓ ¿º «¬¡á CRT ßΓ᫬π. │
- ├───────────────────┼───────────────────────────────────────────┤
- │ RÑádKÑπ │ æτ¿ΓδóáÑΓ ß¿¼ó«½ ß ¬½áó¿áΓπαδ. │
- ├───────────────────┼───────────────────────────────────────────┤
- │ ScrollTo │ Å᫬απτ¿óáÑΓ «¬¡« CRT, τΓ«íδ ó¿ñ¡á íδ½á│
- │ │ Γ«τ¬á ß ºáñá¡¡δ¼¿ ¬««αñ¿¡áΓἿ. │
- ├───────────────────┼───────────────────────────────────────────┤
- │ TrackCursor │ Å᫬απτ¿óáÑΓ «¬¡« CRT, τΓ«íδ ¬παß«α íδ½│
- │ │ ó¿ñ¿¼δ¼. │
- ├───────────────────┼───────────────────────────────────────────┤
- │ WherÑò │ 髺óαáΘáÑΓ ¬««αñ¿¡áΓπ ò ñ½∩ ΓѬπΘÑ⌐ »«º¿µ¿│
- │ │ ¬παß«αá, «Γ¡«ß∩Θπεß∩ ¬ ΓѬπΘÑ¼π «¬¡π. ò │
- │ │ »αÑñßΓáó½∩ÑΓ ß«í«⌐ ú«α¿º«¡Γá½∞¡πε │
- │ │ »«º¿µ¿ε. │
- ├───────────────────┼───────────────────────────────────────────┤
- │ WhereY │ 髺óαáΘáÑΓ ¬««αñ¿¡áΓπ Y ñ½∩ ΓѬπΘÑ⌐ »«º¿-│
- │ │ µ¿¿ ¬παß«αá, «Γ¡«ß∩Θπεß∩ ¬ ΓѬπΘÑ¼π «¬¡π.│
- │ │ Y »αÑñßΓáó½∩ÑΓ ß«í«⌐ óÑαΓ¿¬á½∞¡πε »«º¿µ¿ε.│
- ├───────────────────┼───────────────────────────────────────────┤
- │ WriteBuf │ éδó«ñ¿Γ ó «¬¡« CRT í½«¬ ß¿¼ó«½«ó. │
-
- B.Pascal 7 & Objects/LR - 238 -
-
- ├───────────────────┼───────────────────────────────────────────┤
- │ WriteChar │ éδó«ñ¿Γ ó «¬¡« CRT «Γñѽ∞¡δ⌐ ß¿¼ó«½. │
- └───────────────────┴───────────────────────────────────────────┘
-
-
-
- B.Pascal 7 & Objects/LR - 239 -
-
- ÅÑαѼѡ¡δÑ ¼«ñπ½∩ WinCrt
- ─────────────────────────────────────────────────────────────────
-
- é ¼«ñπ½Ñ WinCrt «»¿ßδóáÑΓß∩ ¡Ñ߬«½∞¬« »ÑαѼѡ¡δσ:
-
- ┌───────────────────┬───────────────────────────────────────────┐
- │ ÅÑαѼѡ¡á∩ │ Æ¿» │
- ├───────────────────┼───────────────────────────────────────────┤
- │ WindowOrg │ êß»«½∞ºπѼ«Ñ »« π¼«½τá¡¿ε αẼÑΘÑ¡¿Ñ »«º-│
- │ │ ó«½∩ÑΓ Windows óδí¿αáΓ∞ »«ñσ«ñ∩ΘÑÑ αáß»«-│
- │ │ ½«ªÑ¡¿Ñ «¬¡á CRT. éδ ¼«ªÑΓÑ ¿º¼Ñ¡¿Γ∞ ¡á-│
- │ │ τá½∞¡«Ñ º¡áτÑ¡¿Ñ, »α¿ßó«¿ó »ÑαÑñ ß«ºñ᡿Ѽ│
- │ │ «¬¡á CRT ¡«óδÑ º¡áτÑ¡¿∩ ¬««αñ¿¡áΓá¼ X ¿ Y.│
- ├───────────────────┼───────────────────────────────────────────┤
- │ WindowSize │ êß»«½∞ºπѼδ⌐ »« π¼«½τá¡¿ε αẼÑα »«ºó«½∩ÑΓ│
- │ │ Windows óδí¿αáΓ∞ »«ñσ«ñ∩Θ¿⌐ αẼÑα «¬¡á│
- │ │ CRT. éδ ¼«ªÑΓÑ ¿º¼Ñ¡¿Γ∞ ¡áτá½∞¡δ⌐ αẼÑα,│
- │ │ »α¿ßó«¿ó »ÑαÑñ ß«ºñ᡿Ѽ «¬¡á CRT ¡«óδÑ│
- │ │ º¡áτÑ¡¿∩ ¬««αñ¿¡áΓá¼ X ¿ Y. │
- ├───────────────────┼───────────────────────────────────────────┤
- │ ScreenSize │ Å« π¼«½τá¡¿ε φ¬αá¡ ¿¼ÑÑΓ αẼÑα 80 ßΓ«½í-│
- │ │ µ«ó ¡á 25 ßΓ᫬. Åα¿ßó«¿ó ñαπú¿Ñ º¡áτÑ¡¿∩│
- │ │ ¬««αñ¿¡áΓá¼ X ¿ Y ScreenSize »ÑαÑñ ß«ºñá-│
- │ │ ¡¿Ñ¼ «¬¡á CRT, óδ ¼«ªÑΓÑ ¿º¼Ñ¡¿Γ∞ ¿ß»«½∞-│
- │ │ ºπѼδ⌐ »« π¼«½τá¡¿ε αẼÑα φ¬αá¡á CRT.│
- │ │ ç¡áτÑ¡¿Ñ, »«½πτáѼ«Ñ »α¿ »α«¿ºóÑñÑ¡¿¿│
- │ │ ScreenSize.X ¡á ScreenSize.Y, ¡Ñ ñ«½ª¡«│
- │ │ »αÑóδΦáΓ∞ 65520. │
- ├───────────────────┼───────────────────────────────────────────┤
- │ Cursor │ éÑασ¡¿⌐ ½Ñóδ⌐ πú«½ ß««ΓóÑΓßΓóπÑΓ ¬««αñ¿¡á-│
- │ │ ΓÑ (0,0). Cursor - φΓ« »ÑαѼѡ¡á∩, ñ«ßΓπ»-│
- │ │ ¡á∩ Γ«½∞¬« »« τΓÑ¡¿ε. Åα¿ßóá¿óáΓ∞ Ñ⌐ º¡á-│
- │ │ τÑ¡¿∩ ¡Ñ½∞º∩. │
- ├───────────────────┼───────────────────────────────────────────┤
- │ Origin │ æ«ñÑαª¿Γ ΓѬπΘπε »«º¿µ¿ε ¬παß«αá ¡á ó¿αΓπ-│
- │ │ á½∞¡«¼ φ¬αá¡Ñ - ¬««αñ¿¡áΓδ ∩τÑ⌐¬¿ ß¿¼ó«½á,│
- │ │ óδó«ñ¿¼«⌐ ó ½Ñó«¼ óÑασ¡Ñ¼ πú½π «¬¡á CRT.│
- │ │ ÄΓßτ¿ΓδóáÑΓß∩ ß 0. │
- ├───────────────────┼───────────────────────────────────────────┤
- │ InactiveTitle │ ô¬áºδóáÑΓ ¡á ºáóÑαΦáεΘπεß∩ ¡π½Ñ¼ ßΓ᫬π,│
- │ │ ¿ß»«½∞ºπѼπε ñ½∩ ß«ºñá¡¿∩ ºáú«½«ó¬á ¡Ñá¬-│
- │ │ Γ¿ó¡«ú« «¬¡á CRT. │
- ├───────────────────┼───────────────────────────────────────────┤
- │ AutoTracking │ ÉáºαÑΦáÑΓ ¿½¿ ºá»αÑΘáÑΓ áóΓ«¼áΓ¿τÑ߬πε│
- │ │ »α«¬απì𠫬¡á ñ½∩ «Γ߽Ѫ¿óá¡¿∩ ó¿ñ¿¼«ú«│
- │ │ ¬παß«αá. │
- ├───────────────────┼───────────────────────────────────────────┤
- │ CheakBreak │ ÅÑαѼѡ¡á∩ ChÑckEOF αáºαÑΦáÑΓ ¿½¿ ºá»αÑΘá-│
- │ │ ÑΓ ß¿¼ó«½ ¬«¡µá Σá⌐½á. àß½¿ »ÑαѼѡ¡á∩│
- │ │ ChÑckEOF ¿¼ÑÑΓ º¡áτÑ¡¿Ñ TruÑ, Γ« ¬«úñá│
- │ │ τΓÑ¡¿Ñ »α«¿ºó«ñ¿Γß∩ ¿º Σá⌐½á, ¡áº¡áτÑ¡¡«ú«│
- │ │ «¬¡π CRT, »α¿ ¡áªáΓ¿¿ ¬½áó¿Φ Ctrl+Z úÑ¡Ñ-│
- │ │ α¿απÑΓß∩ ß¿¼ó«½ ¬«¡µá Σá⌐½á. è«úñá »ÑαÑ-│
-
- B.Pascal 7 & Objects/LR - 240 -
-
- │ │ ¼Ñ¡¡á∩ ChÑckEOF ¿¼ÑÑΓ º¡áτÑ¡¿Ñ False »α¿│
- │ │ ¡áªáΓ¿¿ ¬½áó¿Φ Ctrl+Z ¡¿¬á¬¿σ ñÑ⌐ßΓó¿⌐ ¡Ñ│
- │ │ óδ»«½¡∩ÑΓß∩. │
- ├───────────────────┼───────────────────────────────────────────┤
- │ CheckEof │ ÅÑαѼѡ¡á∩ CheckérÑak αáºαÑΦáÑΓ ¿½¿ ºá»αÑ-│
- │ │ ΘáÑΓ »α«óÑન ß¿Γπᵿ¿ Ctrl+Break. è«úñá│
- │ │ »ÑαѼѡ¡á∩ ChÑckérÑak »α¿¡¿¼áÑΓ º¡áτÑ¡¿Ñ│
- │ │ TruÑ, ¡áªáΓ¿Ñ »«½∞º«óáΓѽѼ ¬½áó¿Φ Alt+F4,│
- │ │ óδí«α »«½∞º«óáΓѽѼ ¬«¼á¡ñδ Close ó ¼Ñ¡ε│
- │ │ Control «¬¡á CRT ¿½¿ ñó«⌐¡«Ñ ¡áªáΓ¿Ñ ¬¡«»-│
- │ │ ¬¿ "¼δΦ¿" ó π»αáó½∩εΘÑ⌐ αá¼¬Ñ ¼Ñ¡ε Control│
- │ │ φΓ«ú« «¬¡á »α¿óÑñÑΓ ¬ »α¿¡πñ¿Γѽ∞¡«¼π ºá-│
- │ │ óÑαΦÑ¡¿ε αáí«Γδ »α¿¬½áñ¡«⌐ »α«úαá¼¼δ »α¿│
- │ │ ß½ÑñπεΘÑ⌐ «»Ñαᵿ¿ óδó«ñá ¡á φ¬αá¡ ñ¿ß»-│
- │ │ ½Ñ∩, ¬«Γ«απε óδ»«½¡¿Γ φΓá »α«úαá¼¼á. │
- ├───────────────────┼───────────────────────────────────────────┤
- │ WindowTitle │ Ä»αÑñѽ∩ÑΓ ºáú«½«ó«¬ «¬¡á CRT. Å« π¼«½τá-│
- │ │ ¡¿ε ¿ß»«½∞ºπÑΓß∩ º¡áτÑ¡¿Ñ, αáó¡«Ñ »«½¡«¼π│
- │ │ ¿¼Ñ¡¿ ¼áαΦαπΓá Σá⌐½á .EXE »α«úαá¼¼δ. │
- └───────────────────┴───────────────────────────────────────────┘
-
-
-
-
- B.Pascal 7 & Objects/LR - 241 -
-
- ÅÑτáΓ∞ ¿º »α«úαá¼¼δ Windows
- ─────────────────────────────────────────────────────────────────
-
- î«ñπ½∞ WinPrn »«ºó«½∩ÑΓ óá¼ »ÑτáΓáΓ∞ ΓѬßΓ ¿º »α«úαá¼¼δ
- Windows. ùΓ«íδ ¿ß»«½∞º«óáΓ∞ WinPrn, π¬áª¿ΓÑ φëà ¼«ñπ½∞ ó «»Ñαá-
- Γ«αÑ uses óáΦÑ⌐ »α«úαá¼¼δ;
-
- uses WinPrn;
-
- ÅÑαÑñ ¡áτὫ¼ »ÑτáΓ¿ óá¼ ¡πª¡« »α¿ßó«¿Γ∞ »α¿¡ΓÑαπ »ÑαѼѡ¡πε
- Γ¿»á ΓѬßΓ«ó«ú« Σá⌐½á. æñѽáΓ∞ φΓ« ¼«ª¡« ñóπ¼∩ »πΓ∩¼¿ - ¡áº¡áτ¿ó
- ¿ß»«½∞ºπѼδ⌐ »« π¼«½τá¡¿ε »α¿¡ΓÑα ¿½¿ óδíαáó ¬«¡¬αÑΓ¡δ⌐ »α¿¡ΓÑα,
- ñαá⌐óÑα ¿ »«αΓ. ä½∩ óδó«ñá ¡á ¿ß»«½∞ºπѼδ⌐ »« π¼«½τá¡¿ε »α¿¡ΓÑα
- ó맮ó¿ΓÑ Σπ¡¬µ¿ε AssignPrn. ïεíá∩ ºá»¿ß∞ ó »α¿ßó«Ñ¡¡πε Σá⌐½«óπε
- »ÑαѼѡ¡πε Γ¿»á ΓѬßΓ«ó«ú« Σá⌐½á »α¿óÑñÑΓ ¬ óδó«ñπ ¡á »α¿¡ΓÑα.
-
- 꺼ѡѡ¿Ñ ºáú«½«ó¬«ó
- ─────────────────────────────────────────────────────────────────
-
- Å« π¼«½τá¡¿ε áñ¼¿¡¿ßΓαáΓ«α »ÑτáΓ¿ Windows íπñÑΓ óδó«ñ¿Γ∞ óßÑ
- ºáñá¡¿∩ »ÑτáΓ¿ τÑαѺ WinPrn íѺ ºáú«½«ó¬«ó. æ »«¼«Θ∞ε »α«µÑñπαδ
- TitlePrn (óδºóáó ÑÑ óß½Ññ ºá Rewrite) óδ ¼«ªÑΓÑ ºáñáΓ∞ ºáú«½«ó«¬,
- ¡á»α¿¼Ñα:
-
- AssignDefPrn(Prn);
- TitlePrn(Prn, '諡ѵ ú«ñ«ó«ú« «ΓτÑΓá');
- Rewrite(Prn);
-
- ºáñáÑΓ ñ½∩ óδó«ñá ¿ß»«½∞ºπѼδ⌐ »« π¼«½τá¡¿ε »α¿¡ΓÑα ¿ ¿º¼Ñ¡∩ÑΓ
- ºáú«½«ó«¬ ¡á "諡ѵ ú«ñ«ó«ú« «ΓτÑΓá", óδó«ñ∩ Ñú« ¡á φëà »α¿¡ΓÑα.
- àß½¿ TitlePrn óδºδóáÑΓß∩ »«ß½Ñ Rewrite, Γ« ¡¿¬á¬«ú« φΣΣѬΓá φΓ«
- ¡Ñ óδºδóáÑΓ.
-
-
-
- B.Pascal 7 & Objects/LR - 242 -
-
- 꺼ѡѡ¿Ñ Φα¿ΣΓ«ó
- ─────────────────────────────────────────────────────────────────
-
- WinPrn ¿ß»«½∞ºπÑΓ ¡áº¡áτÑ¡¡δ⌐ »« π¼«½τá¡¿ε Φα¿ΣΓ, ¬«Γ«αδ⌐
- ó«ºóαáΘáÑΓß∩ ñαá⌐óÑα«¼ πßΓα«⌐ßΓóá. ùΓ«íδ ¿º¼Ñ¡¿Γ∞ Φα¿ΣΓ, ó맮ó¿ΓÑ
- Σπ¡¬µ¿ε SetPrnFont, »ÑαÑñáó Ñ⌐ «»¿ßáΓѽ∞ ¿ß»«½∞ºπѼ«ú« Φα¿ΣΓá.
- SetPrnFont ó«ºóαáΘáÑΓ ΓѬπΘ¿⌐ ¿ß»«½∞ºπѼδ⌐ Φα¿ΣΓ. 髺óαáΘáѼδ⌐
- Φα¿ΣΓ ¼«ª¡« ¿ß»«½∞º«óáΓ∞ ñ½∩ íπñπΘÑú« ó맮óá SetPrnFont ¿½¿ ñ½∩
- »ÑαÑñáτ¿ Ñú« DeleteObject. Åα¿óÑñѼ »α¿¼Ñα »α«úαá¼¼δ, ñѼ«¡ßΓα¿-
- απεΘÑ⌐ ¿º¼Ñ¡Ñ¡¿Ñ Φα¿ΣΓá:;
-
- program Test;
-
- uses WinTypes, WinProcs, WinCrt, WinPrn;
-
- var
- Prn: Text;
- OldFont: HFont;
-
- begin
- Writeln('ÅÑτáΓ∞...');
- AssingDefPrn(Prn);
- Rewrite(Prn);
-
- Rewrite(Prn, 'ìѬ«Γ«αδ⌐ ΓѬßΓ');
- OldFont := SetPrnFont(Prn, CreateFont(100,0,0,0,0,0,0,0,1,
- Out_Default_Precis,Clip_Default_Precis,
- Default_Quality,ff_Roman,nil);
- Writeln(Prn,' Åα«¿ºó«½∞¡δ⌐ ΓѬßΓ ¡«óδ¼ Φα¿ΣΓ«¼');
- DeleteObject(SetPrnFont(Prn, OldFont));
- Writeln(Prn, ' 髺óαáΓ ¬ ßΓáα«¼π Φα¿ΣΓπ');
-
- Close(Prn);
- Writeln('éδ»«½¡Ñ¡«');
- end.
-
-
-
- B.Pascal 7 & Objects/LR - 243 -
-
- ÄßΓá¡«ó¬á ºáñá¡¿∩ »ÑτáΓ¿
- ─────────────────────────────────────────────────────────────────
-
- ùΓ«íδ «ßΓá¡«ó¿Γ∞ ºáñá¡¿Ñ »ÑτáΓ¿, ºá»πΘÑ¡¡«Ñ ß »«¼«Θ∞ε
- WinPrn, ó맮ó¿ΓÑ »α«µÑñπαπ AbortPrn. ¥Γ« »α¿óÑñÑΓ ¬ »αѬαáΘÑ¡¿ε
- »ÑτáΓ¿, ßíα«ßπ πßΓα«⌐ßΓóá ¿ »«ñú«Γ«ó¬¿ Ñú« ¬ óδó«ñπ ¡«ó«ú« ºáñá-
- ¡¿∩ »ÑτáΓ¿.
-
- æ»Ñµ¿á½∞¡δÑ ß¿¼ó«½δ
- ─────────────────────────────────────────────────────────────────
-
- è«úñá óáΦá »α«úαá¼¼á ¿ß»«½∞ºπÑΓ ¼«ñπ½∞ WinPrn, ß½ÑñπεΘ¿Ñ
- ß¿¼ó«½δ íπñπΓ ¿¼ÑΓ∞ ߻ѵ¿á½∞¡δ⌐ ß¼δß½:
-
- ┌───────┬───────────────┬───────────────────────────────────────┐
- │æ¿¼ó«½ │ ìáºóá¡¿Ñ │ Ä»¿ßá¡¿Ñ │
- ├───────┼───────────────┼───────────────────────────────────────┤
- │ #9 │ Æáíπ½∩µ¿∩ │ ìáτ¿¡áÑΓ »ÑτáΓ∞ ß¿¼ó«½«ó ß« ß½ÑñπεΘÑ⌐│
- │ │ TAB │ »«º¿µ¿¿ Γáíπ½∩µ¿¿, ¬«Γ«αá∩ «ΓßΓ«¿Γ «Γ│
- │ │ │ »αÑñδñπΘÑ⌐ »«º¿µ¿¿ Γáíπ½∩µ¿¿ ¡á 8-│
- │ │ │ ¬αáΓ¡πε ßαÑñ¡εε Φ¿α¿¡π Φα¿ΣΓá. │
- ├───────┼───────────────┼───────────────────────────────────────┤
- │ #10 │ ÅÑαÑó«ñ ßΓ᫬¿│ ìáτ¿¡áÑΓ »ÑτáΓ∞ ß ¡«ó«⌐ ßΓ᫬¿. │
- │ │ LF │ │
- ├───────┼───────────────┼───────────────────────────────────────┤
- │ #12 │ÅÑαÑó«ñ Σ«α¼áΓá│ Åα¿¡πñ¿Γѽ∞¡δ⌐ »ÑαÑó«ñ ßΓαá¡¿µδ. │
- │ │ FF │ │
- ├───────┼───────────────┼───────────────────────────────────────┤
- │ #13 │髺óαáΓ ¬áαÑΓ¬¿│ ìáτ¿¡áÑΓ »ÑτáΓ∞ ß ¡áτá½á ¡«ó«⌐ ßΓ᫬¿.│
- │ │ CR │ │
- └───────┴───────────────┴───────────────────────────────────────┘
-
-
-
- B.Pascal 7 & Objects/LR - 244 -
-
- Åα«µÑñπαδ ¿ Σπ¡¬µ¿¿ ¼«ñπ½∩ WinPrn
- ─────────────────────────────────────────────────────────────────
-
- Åα«µÑñπαδ ¿ Σπ¡¬µ¿¿ ¼«ñπ½∩ WinPrn »ÑαÑτ¿ß½Ñ¡δ ó ß½ÑñπεΘÑ⌐
- Γáí½¿µÑ:
-
- ┌──────────────────────────┬────────────────────────────────────┐
- │ Åα«µÑñπαá/Σπ¡¬µ¿∩ │ Ä»¿ßá¡¿Ñ │
- ├──────────────────────────┼────────────────────────────────────┤
- │ AbortPrn │ ÅαѬαáΘáÑΓ »ÑτáΓ∞ ºáñá¡¿∩, «Γíαáßδ-│
- │ │ óá∩ óßÑ ¡Ñαáß»ÑτáΓá¡¡δÑ ñá¡¡δÑ. │
- ├──────────────────────────┼────────────────────────────────────┤
- │ AssignPrn │ Åα¿ßóá¿óáÑΓ »α¿¡ΓÑαπ Σá⌐½. │
- ├──────────────────────────┼────────────────────────────────────┤
- │ AssingDefPrn │ Åα¿ßóá¿óáÑΓ Σá⌐½ ¿ß»«½∞ºπѼ«¼π »«│
- │ │ π¼«½τá¡¿ε »α¿¡ΓÑαπ. │
- ├──────────────────────────┼────────────────────────────────────┤
- │ SetPrnFont │ ìáτ¿¡áÑΓ »ÑτáΓ∞ Σá⌐½á ß óδíαá¡¡δ¼│
- │ │ Φα¿ΣΓ«¼. │
- ├──────────────────────────┼────────────────────────────────────┤
- │ TitlePrn │ éδó«ñ¿Γ ºáú«½«ó«¬ »ÑτáΓáѼ«ú« Σá⌐-│
- │ │ ½á. │
- └──────────────────────────┴────────────────────────────────────┘
-
- äαá⌐óÑαδ πßΓα«⌐ßΓó ñ½∩ ΓѬßΓ«óδσ Σá⌐½«ó
-
- Borland Pascal »«ºó«½∩ÑΓ óá¼ «»αÑñѽ¿Γ∞ óáΦ¿ ß«íßΓóÑ¡¡δÑ
- ñαá⌐óÑαδ πßΓα«⌐ßΓó ñ½∩ ΓѬßΓ«óδσ Σá⌐½«ó. äαá⌐óÑα πßΓα«⌐ßΓóá ñ½∩
- ΓѬßΓ«óδσ Σá⌐½«ó »αÑñßΓáó½∩ÑΓ ß«í«⌐ ¡áí«α ¿º τÑΓδαÑσ Σπ¡¬µ¿⌐, αÑ-
- ὿ºπεΘ¿σ »«½¡δ⌐ ¿¡ΓÑαΣÑ⌐ß ¼Ñªñπ Σá⌐½«ó«⌐ ß¿ßΓѼ«⌐ Borland Pascal
- ¿ ¬á¬¿¼-½¿í« πßΓα«⌐ßΓó«¼.
-
- ¥Γ¿¼¿ τÑΓδα∞¼∩ Σπ¡¬µ¿∩¼¿, ß »«¼«Θ∞ε ¬«Γ«αδσ «»αÑñѽ∩ÑΓß∩ ½ε-
- í«⌐ ñαá⌐óÑα πßΓα«⌐ßΓóá, ∩ó½∩εΓß∩ Σπ¡¬µ¿¿ Open, InOut, Flush ¿
- Close. çáú«½«ó«¬ ¬áªñ«⌐ Σπ¡¬µ¿¿ ¿¼ÑÑΓ ß½ÑñπεΘ¿⌐ ó¿ñ:
-
- function DeviceFunc(var F: TextRec) integer
-
- úñÑ TÑσtRÑß (¿½¿ TTextRec ñ½∩ Windows) - Γ¿» ºá»¿ß¿ ΓѬßΓ«ó«ú«
- Σá⌐½á, ¬«Γ«αδ⌐ «»αÑñѽ∩ÑΓß∩ ó â½áóÑ 21. ùΓ«íδ ó Σπ¡¬µ¿¿ ¿ß»«½∞º«-
- óá½ß∩ ñá½∞¡¿⌐ Γ¿» ó맮óá, ¬áªñá∩ ¿º ¡¿σ ñ«½ª¡á ¬«¼»¿½¿α«óáΓ∞ß∩ ß
- ñ¿αÑ¬Γ¿ó«⌐ {$F+}. ç¡áτÑ¡¿Ñ, ó«ºóαáΘáѼ«Ñ ¬áªñ«⌐ Σπ¡¬µ¿Ñ⌐, »αÑñß-
- Γáó½∩εΘÑ⌐ ß«í«⌐ ¿¡ΓÑαΣÑ⌐ß ß πßΓα«⌐ßΓó«¼, ßΓá¡«ó¿Γß∩ º¡áτÑ¡¿Ñ¼,
- ó«ºóαáΘáÑ¼δ¼ Σπ¡¬µ¿Ñ⌐ IOResult. 髺óαáΘáѼ«Ñ º¡áτÑ¡¿Ñ 0 ßó¿ñÑ-
- Γѽ∞ßΓóπÑΓ «í πß»ÑΦ¡«¼ ºáóÑαΦÑ¡¿¿ «»Ñαᵿ¿.
-
- ä½∩ Γ«ú«, τΓ«íδ ßó∩ºáΓ∞ Σπ¡¬µ¿ε, «ßπΘÑßΓó½∩εΘπε ¿¡ΓÑαΣÑ⌐ß ß
- πßΓα«⌐ßΓó«¼, ß ¬«¡¬αÑΓ¡δ¼ Σá⌐½«¼, ¡πª¡« ¡á»¿ßáΓ∞ ߻ѵ¿á½∞¡πε »α«-
- µÑñπαπ Assign (á¡á½«ú¿τ¡πε »α«µÑñπαÑ AssignCrt ó ¼«ñπ½Ñ Crt ¿½¿
- WinCrt). ¥Γá »α«µÑñπαá ñ«½ª¡á »α¿ßóá¿óáΓ∞ áñαÑßá τÑΓδαÑσ Σπ¡¬µ¿⌐,
- «ßπΘÑßΓó½∩εΘ¿σ ¿¡ΓÑαΣÑ⌐ß ß πßΓα«⌐ßΓóἿ, τÑΓδαѼ π¬áºáΓѽ∩¼ ¡á
- Σπ¡¬µ¿¿ ó »ÑαѼѡ¡«⌐ ΓѬßΓ«ó«ú« Σá⌐½á. é »α¿ñáτπ ¬ φΓ«¼π óδ ñ«½ª-
- ¡δ ß«σαá¡¿Γ∞ ß¿ßΓѼ¡πε ¬«¡ßΓá¡Γπ fmClosed ó »«½Ñ î«dÑ, ºá»¿ßáΓ∞
-
- B.Pascal 7 & Objects/LR - 245 -
-
- αẼÑα íπΣÑαá ΓѬßΓ«ó«ú« Σá⌐½á ó »ÑαѼѡ¡πε BufSize, ß«σαá¡¿Γ∞
- π¬áºáΓѽ∞ íπΣÑαá ΓѬßΓ«ó«ú« Σá⌐½á ó »ÑαѼѡ¡«⌐ BufPtr ¿ «τ¿ßΓ¿Γ∞
- ßΓ᫬π Ná¼Ñ.
-
- ÅαÑñ»«½«ª¿¼, ¡á»α¿¼Ñα, τΓ« ¿¼Ñ¡á¼¿ τÑΓδαÑσ Σπ¡¬µ¿⌐, αÑ὿ºπ-
- εΘ¿σ ¿¡ΓÑαΣÑ⌐ß ß πßΓα«⌐ßΓó«¼, ∩ó½∩εΓß∩ Σπ¡¬µ¿¿ DevOpen, DevInOut,
- DevFlush, DevClose ¿ Assign.
-
- Æ«úñá »α«µÑñπαá Assing ¼«ªÑΓ óδú½∩ñÑΓ∞ ß½ÑñπεΘ¿¼ «íαẫ¼:
-
- procedure AssignDev(var F: Text);
- begin
- with TextRec(F) do
- begin
- mode := fmClosed;
- BufSize := SizeOf(Buffer);
- BufPtr := @Buffer;
- OpenFunc := @DevOpen;
- InOutFunc := @DevInOut;
- FlushFunc := @DevFlush;
- CloseFunc := @DevClose;
- Name[0] := #0;
- end;
- end;
-
- ä½∩ σαá¡Ñ¡¿∩ »«½∞º«óáΓѽ∞߬«⌐ ¿¡Σ«α¼áµ¿¿ ó Σπ¡¬µ¿¿, αÑ὿ºπ-
- εΘÑ⌐ ¿¡ΓÑαΣÑ⌐ß ß πßΓα«⌐ßΓó«¼, ¼«ªÑΓ ¿ß»«½∞º«óáΓ∞ß∩ »«½Ñ ºá»¿ß¿
- UserData. ¥Γ« »«½Ñ ¡Ñ ¿º¼Ñ¡∩ÑΓß∩ Σá⌐½«ó«⌐ ß¿ßΓѼ«⌐ Borland
- Pascal.
-
-
-
- B.Pascal 7 & Objects/LR - 246 -
-
- öπ¡¬µ¿∩ Open
- ─────────────────────────────────────────────────────────────────
-
- öπ¡¬µ¿∩ Open óδºδóáÑΓß∩ ßΓá¡ñáαΓ¡δ¼¿ »α«µÑñπαἿ RÑset,
- RÑwritÑ ¿ AppÑnd ñ½∩ «Γ¬αδΓ¿∩ ΓѬßΓ«ó«ú« Σá⌐½á, ßó∩ºá¡¡«ú« ß πßΓ-
- α«⌐ßΓó«¼. ùΓ«íδ «Γ¼ÑΓ¿Γ∞ íδ½á ½¿ Σπ¡¬µ¿∩ Open óδºóá¡á ¿º »α«µÑñπ-
- αδ RÑset, RÑwritÑ ¿½¿ AppÑnd, ¡á óσ«ñÑ »«½Ñ î«dÑ ß«ñÑαª¿Γ º¡áτÑ-
- ¡¿Ñ fmInput, fmOutput ¿½¿ fmInOut.
-
- é ß««ΓóÑΓßΓó¿¿ ß« º¡áτÑ¡¿Ñ¼ î«dÑ Σπ¡¬µ¿∩ Open »«ñú«Γáó½¿óáÑΓ
- Σá⌐½ ñ½∩ óó«ñá ¿½¿ óδó«ñá. àß½¿ ó î«dÑ π¬áºδóáÑΓß∩ FmInOut (π¬á-
- ºδóá∩, τΓ« Σπ¡¬µ¿∩ ÄpÑn íδ½á óδºóá¡á ¿º AppÑnd), Γ« »ÑαÑñ ó«ºóαá-
- Γ«¼ π»αáó½Ñ¡¿∩ Σπ¡¬µ¿Ñ⌐ ÄpÑn φΓ« º¡áτÑ¡¿Ñ ñ«½ª¡« íδΓ∞ ¿º¼Ñ¡Ñ¡« ¡á
- fmOutput.
-
- öπ¡¬µ¿∩ OpÑn óßÑúñá óδºδóáÑΓß∩ »ÑαÑñ ½εí«⌐ ñαπú«⌐ Σπ¡¬µ¿Ñ⌐,
- αÑ὿ºπεΘÑ⌐ ¿¡ΓÑαΣÑ⌐ß ß πßΓα«⌐ßΓó«¼. Å« φΓ«⌐ »α¿τ¿¡Ñ Σπ¡¬µ¿∩
- Assign ¿¡¿µ¿á½¿º¿απÑΓ Γ«½∞¬« »«½Ñ OpÑnFunc, «Γ¬½áñδóá∩ ¿¡¿µ¿á½¿-
- ºáµ¿ε «ßΓáóΦ¿σß∩ óÑ¬Γ«α«ó ñ« ºáóÑαΦÑ¡¿∩ óδ»«½¡Ñ¡¿∩ Σπ¡¬µ¿¿ OpÑn.
- Äß¡«óδóá∩ß∞ ¡á º¡áτÑ¡¿¿ »«½∩ î«dÑ Σπ¡¬µ¿∩ OpÑn ¼«ªÑΓ πßΓá¡«ó¿Γ∞
- π¬áºáΓѽ¿ ¬á¬ ñ½∩ Σπ¡¬µ¿⌐, «α¿Ñ¡Γ¿α«óá¡¡δσ ¡á óó«ñ, Γᬠ¿ ñ½∩
- Σπ¡¬µ¿⌐, «α¿Ñ¡Γ¿α«óá¡¡δσ ¡á óδó«ñ. ¥Γ« »«ºó«½∩ÑΓ ¿ºíѪáΓ∞ «»αÑñÑ-
- ½Ñ¡¿∩ ΓѬπΘÑú« αѪ¿¼á ó Σπ¡¬µ¿∩σ InOut, Flush ¿ Close.
-
- öπ¡¬µ¿∩ InOut
- ─────────────────────────────────────────────────────────────────
-
- éß∩¬¿⌐ αáº, ¬«úñá ΓαÑíπÑΓß∩ óó«ñ ß πßΓα«⌐ßΓóá ¿½¿ óδó«ñ ¡á
- ¡Ñú«, Σπ¡¬µ¿∩¼¿ Readln, Read, Write, Writeln, Page, Eof, SeekEof,
- SeekEoln ¿ Close óδºδóáÑΓß∩ Σπ¡¬µ¿∩ InOut.
-
- è«úñá ó »«½Ñ î«dÑ πßΓá¡«ó½Ñ¡« º¡áτÑ¡¿Ñ fnInput, Σπ¡¬µ¿∩
- InOut ßτ¿ΓδóáÑΓ ß¿¼ó«½δ («íΩѼ óó«ñá ºáñáÑΓß∩ »ÑαѼѡ¡«⌐ BufSize)
- ó BufPtr^ ¿ ó«ºóαáΘáÑΓ τ¿ß½« ßτ¿Γá¡¡δσ ß¿¼ó«½«ó ó BufEnd, á ΓᬪÑ
- ºá»¿ßδóáÑΓ 0 ó BufPos. àß½¿ Σπ¡¬µ¿∩ InOut ó αѺπ½∞ΓáΓÑ ºá»α«ßá ¡á
- óó«ñ ó«ºóαáΘáÑΓ ó BufEnd º¡áτÑ¡¿Ñ 0, Γ« »ÑαѼѡ¡á∩ E«f ñ½∩ Σá⌐½á
- »α¿¡¿¼áÑΓ º¡áτÑ¡¿Ñ TruÑ.
-
- è«úñá ó »«½Ñ î«dÑ πßΓá¡«ó½Ñ¡« º¡áτÑ¡¿Ñ fnOutput, Σπ¡¬µ¿∩
- InOut ºá»¿ßδóáÑΓ ß¿¼ó«½δ, ¬«½¿τÑßΓó« ¬«Γ«αδσ «»αÑñѽ∩ÑΓß∩ »ÑαÑ-
- ¼Ñ¡¡«⌐ BufÉ«s, ¿º BufPtr^ ¿ ó«ºóαáΘáÑΓ ó BufÉ«s º¡áτÑ¡¿Ñ 0.
-
-
-
- B.Pascal 7 & Objects/LR - 247 -
-
- öπ¡¬µ¿∩ Flush
- ─────────────────────────────────────────────────────────────────
-
- öπ¡¬µ¿∩ Flush óδºδóáÑΓß∩ ó ¬«¡µÑ óδ»«½¡Ñ¡¿∩ ¬áªñ«⌐ Σπ¡¬µ¿¿
- RÑád, Write, RÑádln ¿½¿ Writeln. Ä¡á ¼«ªÑΓ Γá¬ªÑ ßíαáßδóáΓ∞ íπΣÑα
- ΓѬßΓ«ó«ú« Σá⌐½á.
-
- àß½¿ ó »«½Ñ î«dÑ ¡áσ«ñ¿Γß∩ fmInput, Σπ¡¬µ¿∩ Flush ñ½∩ Γ«ú«,
- τΓ«íδ «Γíα«ß¿Γ∞ «ßΓáóΦ¿Ñß∩ (¡Ñßτ¿Γá¡¡δÑ) ß¿¼ó«½δ ó íπΣÑαÑ, ¼«ªÑΓ
- ºá»¿ßáΓ∞ 0 ó BufPos ¿ BufEnd. ¥Γ« ßαÑñßΓó« ¿ß»«½∞ºπÑΓß∩ αÑñ¬«.
-
- àß½¿ ó »«½Ñ î«dÑ ¡áσ«ñ¿Γß∩ fnOutput, Γ« Σπ¡¬µ¿∩ Flush ¼«ªÑΓ
- ºá»¿ßáΓ∞ ß«ñÑন¼«Ñ íπΣÑαá, ó Γ«τ¡«ßΓ¿ Γᬿ¼ ªÑ «íαẫ¼, ¬á¬
- Σπ¡¬µ¿∩ InOut. ¥Γ¿¼ «íÑß»Ñτ¿óáÑΓß∩, τΓ« óδóÑñÑ¡¡δ⌐ ¡á πßΓα«⌐ßΓó«
- ΓѬßΓ »«∩ó¿Γß∩ ¡á πßΓα«⌐ßΓóÑ ¡Ñ¼Ññ½Ñ¡¡«. àß½¿ Σπ¡¬µ¿∩ Flush ¡Ñ
- óδ»«½¡∩ÑΓ ¡¿¬á¬¿σ ñÑ⌐ßΓó¿⌐, ΓѬßΓ ¡Ñ íπñÑΓ óδóÑñÑ¡ ¡á πßΓα«⌐ßΓó«,
- »«¬á íπΣÑα ¡Ñ ßΓá¡ÑΓ »«½¡δ¼, ¿½¿ Σá⌐½ ¡Ñ íπñÑΓ ºá¬αδΓ.
-
- öπ¡¬µ¿∩ Cl«sÑ
- ─────────────────────────────────────────────────────────────────
-
- öπ¡¬µ¿∩ Cl«sÑ óδºδóáÑΓß∩ ßΓá¡ñáαΓ¡«⌐ »α«µÑñπα«⌐ Cl«sÑ ñ½∩
- ºá¬αδΓ¿∩ ßó∩ºá¡¡«ú« ß πßΓα«⌐ßΓó«¼ ΓѬßΓ«ó«ú« Σá⌐½á. (Åα«µÑñπαδ
- RÑsÑt, RÑwritÑ, AppÑnd Γá¬ªÑ óδºδóáεΓ Σπ¡¬µ¿ε Cl«sÑ, Ñß½¿ Σá⌐½,
- ¬«Γ«αδ⌐ «¡¿ «Γ¬αδóáεΓ, πªÑ íδ½ «Γ¬αδΓ.) àß½¿ ó »«½Ñ î«dÑ ¡áσ«ñ¿Γ-
- ß∩ fmOut, Γ« »ÑαÑñ óδº«ó«¼ Σπ¡¬µ¿¿ Cl«sÑ Σá⌐½«óá∩ ß¿ßΓÑ¼á Æπαí«
- Åá߬á½∩ «íαáΘáÑΓß∩ ¬ Σπ¡¬µ¿¿ InOut. ¥Γ« úáαá¡Γ¿απÑΓ óδó«ñ ¡á πßΓ-
- α«⌐ßΓó« óßÑσ ß¿¼ó«½«ó.
-
-
-
- B.Pascal 7 & Objects/LR - 248 -
-
- ───────────────────────────────────────────────────────────────────────
- â½áóá 15. êß»«½∞º«óá¡¿Ñ ß«»α«µÑßß«αá 80x87
- ─────────────────────────────────────────────────────────────────
-
- é Borland Pascal óδ ¼«ªÑΓÑ αáí«ΓáΓ∞ ß ñóπ¼∩ Γ¿»á¼¿ τ¿ßѽ -
- µÑ½δ¼¿ (¬«α«Γ¬¿¼¿ µÑ½δ¼¿ - Shortint, µÑ½δ¼¿ - Integer, ñ½¿¡¡δ¼¿
- µÑ½δ¼¿ - Longint, µÑ½δ¼¿ ñ½¿¡«⌐ ó íá⌐Γ - Byte, µÑ½δ¼¿ ñ½¿¡«⌐ ó
- ß½«ó« - Word) ¿ óÑΘÑßΓóÑ¡¡δ¼¿ (óÑΘÑßΓóÑ¡¡δ¼¿ - Real, óÑΘÑßΓóÑ¡¡δ-
- ¼¿ «ñ¿¡áα¡«⌐ Γ«τ¡«ßΓ¿ - Single, óÑΘÑßΓóÑ¡¡δ¼¿ ñó«⌐¡«⌐ Γ«τ¡«ßΓ¿ -
- Double, »«óδΦÑ¡¡«⌐ Γ«τ¡«ßΓ¿ - Extended, ß½«ª¡δ¼¿ - Comp). éÑΘÑßΓ-
- óÑ¡¡δÑ τ¿ß½á ¡áºδóáεΓ Γá¬ªÑ τ¿ß½á¼¿ ß »½áóáεΘÑ⌐ Γ«τ¬«⌐ (»½áóáεΘÑ⌐
- ºá»∩Γ«⌐). ä½∩ «í½ÑúτÑ¡¿∩ αáí«Γδ ß µÑ½δ¼¿ τ¿ß½á¼¿ ß«ºñá¡ »α«µÑßß«α
- 8086, ¡« ñ½∩ αáí«Γδ ß óÑΘÑßΓóÑ¡¡δ¼¿ τ¿ß½á¼¿ ¡á φΓ«¼ »α«µÑßß«αÑ
- ºáΓαáτ¿óáÑΓß∩ ú«αáºñ« í«½∞ΦÑ óαѼѡ¿ ¿ πß¿½¿⌐. ä½∩ ßѼÑ⌐ßΓóá »α«-
- µÑßß«α«ó 8086 »αÑñ¡áº¡áτÑ¡« ß««ΓóÑΓßΓóπεΘÑÑ ßѼÑ⌐ßΓó« óß»«¼«úá-
- Γѽ∞¡δσ ߻ѵ¿á½¿º¿α«óá¡¡δσ »α«µÑßß«α«ó ñ½∩ ¼áΓѼáΓ¿τÑ߬¿σ óδτ¿ß-
- ½Ñ¡¿⌐ (ß«»α«µÑßß«α«ó) 80x87.
-
- Åα«µÑßß«α 80x87 - φΓ« ߻ѵ¿á½∞¡δ⌐ ß«»α«µÑßß«α ñ½∩ «íαáí«Γ¬¿
- τ¿ßѽ, ¬«Γ«αδ⌐ ¼«ªÑΓ óσ«ñ¿Γ∞ ó ß«ßΓáó óáΦÑú« ¬«¼»∞εΓÑαá Éæ. æ »«-
- ¼«Θ∞ε ¡Ñú« «»Ñαᵿ¿ ß »½áóáεΘÑ⌐ Γ«τ¬«⌐ óδ»«½¡∩εΓß∩ «τÑ¡∞ íδßΓα«.
- Å«φΓ«¼π Ñß½¿ óδ ß«í¿αáÑΓÑß∞ ¿ß»«½∞º«óáΓ∞ í«½∞Φ«⌐ «íΩѼ óδτ¿ß½Ñ¡¿⌐
- ß »½áóáεΘÑ⌐ Γ«τ¬«⌐, Γ« óá¼, óÑα«∩Γ¡«, »«¡áñ«í¿Γß∩ ß«»α«µÑßß«α.
-
- Borland Pascal »«ßΓα«Ñ¡ Γᬿ¼ «íαẫ¼, τΓ« «¡ «íÑß»Ñτ¿óáÑΓ
- «»Γ¿¼á½∞¡«Ñ óδ»«½¡Ñ¡¿Ñ «»Ñαᵿ⌐ ß »½áóáεΘÑ⌐ Γ«τ¬«⌐ ¡Ñºáó¿ß¿¼« «Γ
- ¡á½¿τ¿∩ ß«»α«µÑßß«αá 80x87.
-
- * ä½∩ »α«úαá¼¼, αáí«ΓáεΘ¿σ ¡á ¬«¼»∞εΓÑαÑ Éæ, ¡Ñºáó¿ß¿¼« «Γ
- Γ«ú«, «ß¡áΘÑ¡ «¡ ß«»α«µÑßß«α«¼ 80x87 ¿½¿ ¡ÑΓ, ó Borland
- Pascal »αÑñπß¼«ΓαÑ¡« ¿ß»«½∞º«óá¡¿Ñ óÑΘÑßΓóÑ¡¡δσ τ¿ßѽ ¿
- ß««ΓóÑΓßΓóπεΘá∩ í¿í½¿«ΓÑ¬á »α«úαá¼¼, ¬«Γ«αδÑ »αÑñ¡áº¡áτÑ¡δ
- ñ½∩ óδ»«½¡Ñ¡¿∩ «»Ñαᵿ⌐ ß »½áóáεΘÑ⌐ Γ«τ¬«⌐. ù¿ß½á óÑΘÑßΓ-
- óÑ¡¡«ú« Γ¿»á ºá¡¿¼áεΓ 6 íá⌐Γ »á¼∩Γ¿. Åα¿ φΓ«¼ «íÑß»Ñτ¿óá-
- ÑΓß∩ »αÑñßΓáó½Ñ¡¿Ñ τ¿ßѽ ó ñ¿á»áº«¡Ñ «Γ 2.9σ10^-39 ñ«
- 1.7σ10^38 ß 11-12 º¡áτáΘ¿¼¿ µ¿ΣαἿ. Åα«úαá¼¼δ ó í¿í½¿«ΓÑ-
- ¬Ñ »α«úαá¼¼ ñ½∩ αáí«Γδ ß »½áóáεΘÑ⌐ Γ«τ¬«⌐ «»Γ¿¼¿º¿α«óá¡δ
- »« ߬«α«ßΓ¿ ¿ »« αẼÑαπ ¿ ¿ß»«½∞ºπεΓ ßá¼δÑ ¡«óÑ⌐Φ¿Ñ
- ßαÑñßΓóá »α«µÑßß«αá 80x87.
-
- * àß½¿ óδ »¿ΦÑΓÑ »α«úαá¼¼δ, ¿ß»«½∞ºπεΘ¿Ñß∩ Γ«½∞¬« ¡á ¬«¼»∞-
- εΓÑαáσ, «ß¡áΘÑ¡¡δσ ß«»α«µÑßß«α«¼ 80x87, Γ« óδ ¼«ªÑΓÑ π¬á-
- ºáΓ∞ Borland Pascal ¡á ¡Ñ«íσ«ñ¿¼«ßΓ∞ »«½πτÑ¡¿∩ óδ»«½¡∩Ѽ«-
- ú« ¬«ñá, ó ¬«Γ«α«¼ ¿ß»«½∞ºπÑΓß∩ »½áΓá »α«µÑßß«αá 80x87.
- ¥Γ« ñáßΓ óἠ󫺼«ª¡«ßΓ∞ ¿ß»«½∞º«óá¡¿∩ τÑΓδαÑσ ñ«»«½¡¿-
- Γѽ∞¡δσ Γ¿»«ó óÑΘÑßΓóÑ¡¡δσ τ¿ßѽ («ñ¿¡áα¡«⌐ ¿ ñó«⌐¡«⌐ Γ«τ-
- ¡«ßΓ¿, »«óδΦÑ¡¡«⌐ Γ«τ¡«ßΓ¿, ß½«ª¡«ú« Γ¿»á) ¿ αáßΦ¿αÑ¡¡δ⌐
- ñ¿á»áº«¡ »αÑñßΓáó½Ñ¡¿∩ τ¿ßѽ ß »½áóáεΘÑ⌐ Γ«τ¬«⌐ - «Γ
- 1.9σ10^-4951 ñ« 1,1σ10^4943 ß 19-20 º¡áτáΘ¿¼¿ µ¿ΣαἿ.
-
- æ »«¼«Θ∞ε ñ¿αÑ¬Γ¿óδ ¬«¼»¿½∩Γ«αá $N ¿½¿ »áαá¼ÑΓαá ¼Ñ¡ε
- Options│C«mpiler (Åáαá¼ÑΓαδ│諼»¿½∩Γ«α) 80x87/80287 ¼«ª¡« »ÑαѬ-
- ½ετáΓ∞ß∩ ¼Ñªñπ αẽ¿τ¡δ¼¿ ¼«ñѽ∩¼¿ úÑ¡Ñαᵿ¿ ¬«ñá ß »½áóáεΘÑ⌐
- Γ«τ¬«⌐. Å« π¼«½τá¡¿ε ¿ß»«½∞ºπÑΓß∩ ß«ßΓ«∩¡¿Ñ {$N-}. é φΓ«¼ ß«ßΓ«∩-
-
- B.Pascal 7 & Objects/LR - 249 -
-
- ¡¿¿ ¬«¼»¿½∩Γ«α ¿ß»«½∞ºπÑΓ 6-íá⌐Γ«óπε í¿í½¿«ΓѬπ ß »½áóáεΘÑ⌐ Γ«τ-
- ¬«⌐, τΓ« »«ºó«½∩ÑΓ óá¼ αáí«ΓáΓ∞ Γ«½∞¬« ß »ÑαѼѡ¡δ¼¿ Γ¿»á Real. é
- ß«ßΓ«∩¡¿¿ {$N+} ¬«¼»¿½∩Γ«α úÑ¡Ñα¿απÑΓ ¬«ñ ñ½∩ ß«»α«µÑßß«αá 80x87,
- τΓ« ñáÑΓ óá¼ ñ«»«½¡¿Γѽ∞¡πε Γ«τ¡«ßΓ∞ ¿ ñ«ßΓπ» ¬ 4 ñ«»«½¡¿Γѽ∞¡δ¼
- óÑΘÑßΓóÑ¡¡δ¼ Γ¿»á¼.
-
- é Windows »α¿ ¬«¼»¿½∩µ¿¿ ß αѪ¿¼«¼ τ¿ß½«ó«⌐ «íαáí«Γ¬¿, Γ«
- ÑßΓ∞ ß ñ¿αÑ¬Γ¿ó«⌐ {$N+}, πíÑñ¿ΓÑß∞, τΓ« ó óáΦÑ⌐ ß¿ßΓÑ¼Ñ ¼«ª¡«
- ¡á⌐Γ¿ í¿í½¿«ΓѬπ φ¼π½∩µ¿¿ Windows 8087 - WIN87EM.DLL. ¥Γá í¿í½¿«-
- ΓÑ¬á «íÑß»Ñτ¿óáÑΓ ¡Ñ«íσ«ñ¿¼δ⌐ ¿¡ΓÑαΣÑ⌐ß ¼Ñªñπ ß«»α«µÑßß«α«¼
- 80σ87, Windows ¿ óáΦÑ⌐ »α¿¬½áñ¡«⌐ »α«úαá¼¼«⌐. àß½¿ ß«»α«µÑßß«α
- 80σ87 ó óáΦÑ⌐ ß¿ßΓÑ¼Ñ «ΓßπΓßΓóπÑΓ, Γ« í¿í½¿«ΓѬá WIN87EM.DLL íπ-
- ñÑΓ φ¼π½¿α«óáΓ∞ Ñú« »α«úαá¼¼¡«. ¥¼π½∩µ¿∩ ßπΘÑßΓóÑ¡¡« ºá¼Ññ½∩ÑΓ
- αáí«Γπ »« ßαáó¡Ñ¡¿ε ß αÑá½∞¡δ¼ ß«»α«µÑßß«α«¼ 80σ87, ¡« «íÑß»Ñτ¿-
- óáÑΓ óδ»«½¡Ñ¡¿Ñ óáΦÑ⌐ »α¿¬½áñ¡«⌐ »α«úαá¼¼δ ¡á ½εí«⌐ ¼áΦ¿¡Ñ.
-
- é αÑá½∞¡«¼ ¿½¿ ºáΘ¿ΘÑ¡¡«¼ αѪ¿¼Ñ DOS, ñáªÑ Ñß½¿ π óáß ¡ÑΓ
- ß«»α«µÑßß«αá 8087, óδ ¼«ªÑΓÑ π¬áºáΓ∞ Borland Pascal, τΓ« ¡πª¡«
- ó¬½ετ¿Γ∞ í¿í½¿«ΓѬπ ¿ß»«½¡∩εΘÑ⌐ ß¿ßΓѼδ, ¬«Γ«αá∩ φ¼π½¿απÑΓ áα¿Σ-
- ¼ÑΓ¿τÑ߬¿⌐ ß«»α«µÑßß«α 8087. é ß½πτáÑ ¡á½¿τ¿∩ ß«»α«µÑßß«αá 8087
- «¡ ¿ß»«½∞ºπÑΓß∩. àß½¿ ß«»α«µÑßß«α «ΓßπΓßΓóπÑΓ, Ñú« αáí«Γá φ¼π½¿-
- απÑΓß∩ í¿í½¿«ΓѬ«⌐ ¿ß»«½¡∩εΘÑ⌐ ß¿ßΓѼδ (ºá ßτÑΓ ¡Ñ¬«Γ«α«⌐ »«ΓÑα¿
- ߬«α«ßΓ¿ αáí«Γδ »α«úαá¼¼δ).
-
- ä½∩ αáºαÑΦÑ¡¿∩ ¿ ºá»αÑΘÑ¡¿∩ φ¼π½∩µ¿¿ ß«»α«µÑßß«αá 8087 ¿ß-
- »«½∞ºπεΓß∩ ñ¿αÑ¬Γ¿óá ¬«¼»¿½∩Γ«αá $E ¿ »áαá¼ÑΓα Emulation (¥¼π½∩-
- µ¿∩) ¼Ñ¡ε Options│Compiler (Åáαá¼ÑΓαδ│諼»¿½∩Γ«α). Å« π¼«½τá¡¿ε
- ¿ß»«½∞ºπÑΓß∩ ß«ßΓ«∩¡¿Ñ {$E+}. é φΓ«¼ ß«ßΓ«∩¡¿¿ ó »α«úαá¼¼π áóΓ«-
- ¼áΓ¿τÑ߬¿ ó¬½ετáÑΓß∩ »«½¡á∩ φ¼π½∩µ¿∩ ß«»α«µÑßß«αá 8087. é ß«ßΓ«∩-
- ¡¿¿ {$E-} ¿ß»«½∞ºπÑΓß∩ ßπΘÑßΓóÑ¡¡« ¼Ñ¡∞Φá∩ τáßΓ∞ í¿í½¿«ΓѬ¿ ß
- »½áóáεΘÑ⌐ Γ«τ¬«⌐, á »«½πτÑ¡¡δ⌐ ó αѺπ½∞ΓáΓÑ Σá⌐½ .EXE íπñÑΓ αáí«-
- ΓáΓ∞ Γ«½∞¬« ¡á ¼áΦ¿¡áσ ß ß«»α«µÑßß«α«¼ 8087.
-
- é »α¿½«ªÑ¡¿¿ Windows ñ¿αÑ¬Γ¿óá ¬«¼»¿½∩Γ«αá $E ¡Ñ ñÑ⌐ßΓóπÑΓ.
- ìÑ ñÑ⌐ßΓóπÑΓ «¡á Γá¬ªÑ ó ¼«ñπ½Ñ. ü«½ÑÑ Γ«ú«, Ñß½¿ »α«úαá¼¼á ¬«¼-
- »¿½¿α«óá½áß∞ ß ñ¿αÑ¬Γ¿ó«⌐ {$N-}, á óßÑ ¼«ñ㫨 »α«úαá¼¼δ ¬«¼»¿½¿-
- α«ó὿ß∞ ß ñ¿αÑ¬Γ¿ó«⌐ {$N+}, Γ« í¿í½¿«ΓÑ¬á ¿ß»«½¡∩εΘÑ⌐ ß¿ßΓѼδ
- ñ½∩ ß«»α«µÑßß«αá 8087 ¡Ñ ΓαÑíπÑΓß∩, ¿ ñ¿αÑ¬Γ¿óá ¬«¼»¿½∩Γ«αá $E
- ¿ú¡«α¿απÑΓß∩.
-
- Åਪ½áñ¡«⌐ »α«úαá¼¼Ñ Windows ¡Ñ ΓαÑíπÑΓß∩ í¿í½¿«ΓÑ¬á ¿ß»«½-
- ¡∩εΘÑ⌐ ß¿ßΓѼδ 80x87. é¼ÑßΓ« φΓ«ú« Ñ⌐ ¡πª¡« »«ññÑনóáεΘá∩ í¿í½¿-
- «ΓѬá WIN87EM.DLL, »«ßΓáó½∩Ѽá∩ ß Windows, ¬«Γ«αá∩ «íÑß»Ñτ¿óáÑΓ
- ¡Ñ«íσ«ñ¿¼δ⌐ ¿¡ΓÑαΣÑ⌐ß ¼Ñªñπ óáΦÑ⌐ »α¿¬½áñ¡«⌐ »α«úαá¼¼«⌐, Windows
- ¿ ß«»α«µÑßß«α«¼. Æá¬¿¼ «íαẫ¼, ó Windows ñáªÑ »α¿ ¡á½¿τ¿¿ ó óá-
- ΦÑ⌐ ß¿ßΓÑ¼Ñ ß«»α«µÑßß«αá 80σ87 ñ½∩ óδ»«½¡Ñ¡¿∩ »α«úαá¼¼, ߬«¼»¿½¿-
- α«óá¡¡δσ ó ß«ßΓ«∩¡¿¿ {$N+}, ñ«½ª¡á »α¿ßπΓßΓó«óáΓ∞ í¿í½¿«ΓѬá φ¼π-
- ½∩µ¿¿ WIN87EM.DLL (ñá¡¡á∩ í¿í½¿«ΓѬá - φΓ« τáßΓ∞ Windows, á ¡Ñ
- Borland Pascal). Åα¿ «ΓßπΓßΓó¿¿ ß«»α«µÑßß«αá WIN87EM.DLL íπñÑΓ
- φ¼π½¿α«óáΓ∞ Ñú« «»Ñαᵿ¿ »α«úαá¼¼¡δ¼ »πΓѼ, τΓ« ºá¼Ññ½∩ÑΓ óδ»«½-
- ¡Ñ¡¿Ñ »α«úαá¼¼δ ¿ ¡Ñ úáαá¡Γ¿απÑΓ, τΓ« ¿ß»«½∞ºπεΘá∩ ß«»α«µÑßß«α
- 80x87 »α«úαá¼¼á ß¼«ªÑΓ αáí«ΓáΓ∞ ¡á ½εí«⌐ ¼áΦ¿¡Ñ.
-
-
- B.Pascal 7 & Objects/LR - 250 -
-
- è«úñá óδ ºá»π߬áÑΓÑ »α¿¬½áñ¡πε »α«úαá¼¼π Windows, c¬«¼»¿½¿-
- α«óá¡¡πε ó ß«ßΓ«∩¡¿¿ {$N+}, πíÑñ¿ΓÑß∞, τΓ« «¡á ¼«ªÑΓ ¡á⌐Γ¿ ó ß¿ß-
- ΓÑ¼Ñ Σá⌐½ WIN87EM.DLL.
-
- è«úñá óδ óδ»«½¡∩ÑΓÑ ¬«¼»¿½∩µ¿ε ó αѪ¿¼Ñ ¬«ñá 80σ87 (ñ¿αÑ¬Γ¿-
- óá {$N+}), Γ« ó«ºóαáΘáѼδÑ »«ñ»α«úαá¼¼δ ¼«ñπ½∩ SystѼ (Sqrt, Éi,
- Sin ¿ Γ.ñ.) º¡áτÑ¡¿∩ »αÑñßΓáó½∩εΓ ß«í«⌐ ¡Ñ óÑΘÑßΓóÑ¡¡δÑ τ¿ß½á, á
- τ¿ß½á Γ¿»á Extended (ß »«óδΦÑ¡¡«⌐ Γ«τ¡«ßΓ∞ε).
-
- {$N+}
-
- begin
- Writeln(Pi); { 3.14159265358979E+0000 }
- end.
-
- {$N-}
-
- begin
- Writeln(Pi); { 3.1415926536E+00 }
- end.
-
- é «ßΓáóΦÑ⌐ß∩ τáßΓ¿ ñá¡¡«⌐ ú½áóδ «íßπªñáεΓß∩ ߻ѵ¿á½∞¡δÑ ó«»-
- α«ßδ, ¬áßáεΘ¿Ñß∩ ¿ß»«½∞º«óá¡¿∩ »α«µÑßß«αá 80x87 ó »α«úαá¼¼áσ
- Borland Pascal.
-
-
-
- B.Pascal 7 & Objects/LR - 251 -
-
- Æ¿»δ ñá¡¡δσ »α«µÑßß«αá 80x87
- ─────────────────────────────────────────────────────────────────
-
- é ñ«»«½¡Ñ¡¿Ñ ¬ óÑΘÑßΓóÑ¡¡«¼π Γ¿»π ñ½∩ »α«úαá¼¼, ¿ß»«½∞ºπεΘ¿σ
- ßαÑñßΓóá »α«µÑßß«αá 80x87, »αÑñπß¼áΓα¿óáÑΓß∩ τÑΓδαÑ ¡«óδσ óÑΘÑßΓ-
- óÑ¡¡«ú« Γ¿»á:
-
- 1. Æ¿» ß «ñ¿¡áα¡«⌐ Γ«τ¡«ßΓ∞ε Single, »αÑñßΓáó½∩εΘ¿⌐ ß«í«⌐
- ¡á¿¼Ñ¡∞Φ¿⌐ Σ«α¼áΓ, ¬«Γ«αδ⌐ óδ ¼«ªÑΓÑ ¿ß»«½∞º«óáΓ∞ ñ½∩
- τ¿ßѽ ß »½áóáεΘÑ⌐ Γ«τ¬«⌐. Ä¡ ºá¡¿¼áÑΓ 4 íá⌐Γá »á¼∩Γ¿
- «íÑß»Ñτ¿óáÑΓ ñ¿á»áº«¡ »αÑñßΓáó½Ñ¡¿∩ τ¿ßѽ «Γ 1.5σ10^-45
- ñ« 3.4σ10^48 ß 7-8 º¡áτáΘ¿¼¿ µ¿ΣαἿ.
-
- 2. Æ¿» ß ñó«⌐¡«⌐ Γ«τ¡«ßΓ∞ε Double, ºá¡¿¼áεΘ¿⌐ 8 íá⌐Γ »á¼∩Γ¿
- ¿ «íÑß»Ñτ¿óáεΘ¿⌐ »αÑñßΓáó½Ñ¡¿Ñ τ¿ßѽ ó ñ¿á»áº«¡Ñ «Γ
- 5.0σ10^-334 ñ« 1.7σ10^308 ß 15-16 º¡áτáΘ¿¼¿ µ¿ΣαἿ.
-
- 3. Æ¿» ß »«óδΦÑ¡¡«⌐ Γ«τ¡«ßΓ∞ε Extended »αÑñßΓáó½∩ÑΓ ß«í«⌐
- ¡á¿í«½∞Φ¿⌐ Σ«α¼áΓ »αÑñßΓáó½Ñ¡¿∩ τ¿ßѽ ß »½áóáεΘÑ⌐ ºá»∩-
- Γ«⌐, «íÑß»Ñτ¿óáѼδ⌐ »α«µÑßß«α«¼ 8087. Ä¡ ºá¡¿¼áÑΓ 10
- íá⌐Γ »á¼∩Γ¿ ¿ «íÑß»Ñτ¿óáÑΓ ñ¿á»áº«¡ »αÑñßΓáó½Ñ¡¿∩ τ¿ßѽ
- «Γ 1.9σ10^-4952 ñ« 1.1σ10^4932 ß 19-20 º¡áτáΘ¿¼¿ µ¿Σαá-
- ¼¿. ïεíδÑ áα¿Σ¼ÑΓ¿τÑ߬¿Ñ «»Ñαᵿ¿, ó ¬«Γ«αδσ πτáßΓóπεΓ
- τ¿ß½á óÑΘÑßΓóÑ¡¡«ú« Γ¿»á, óδ»«½¡∩εΓß∩ ß Γ«τ¡«ßΓ∞ε ¿ ñ¿á-
- »áº«¡«¼ »αÑñßΓáó½Ñ¡¿∩, ß««ΓóÑΓßΓóπεΘ¿¼¿ Γ¿»π ß »«óδΦÑ¡-
- ¡«⌐ Γ«τ¡«ßΓ∞ε.
-
- 4. ù¿ß½á ß½«ª¡«ú« Γ¿»á Comp ¿ß»«½∞ºπεΓß∩ ñ½∩ »αÑñóáα¿Γѽ∞¡«
- «íΩÑñ¿¡Ñ¡¡δσ º¡áτÑ¡¿⌐ ó 8 íá⌐Γáσ »á¼∩Γ¿, «íÑß»Ñτ¿óá∩ »α¿
- φΓ«¼ ñ¿á»áº«¡ »αÑñßΓáó½Ñ¡¿∩ «Γ -2^63+1 ñ« 2^63-1, τΓ«
- ß«ßΓáó½∩ÑΓ »α¿í½¿º¿Γѽ∞¡« «Γ -9.2σ10^18 ñ« 9.2σ10^18.
- 潫ª¡δ⌐ Γ¿» ¼«ª¡« ßαáó¡¿Γ∞ ß ñ½¿¡¡δ¼ µÑ½δ¼ Γ¿»«¼ (ñó«⌐-
- ¡á∩ Γ«τ¡«ßΓ∞), ¡« «¡ ßτ¿ΓáÑΓß∩ óÑΘÑßΓóÑ¡¡δ¼ Γ¿»«¼, »«ß-
- ¬«½∞¬π »α¿ «»Ñαᵿ∩σ ß τ¿ß½á¼¿ φΓ«ú« Γ¿»á ¿ß»«½∞ºπÑΓß∩
- ß«»α«µÑßß«α 8087. 潫ª¡δ⌐ Γ¿» σ«α«Φ« »«ñσ«ñ¿Γ ñ½∩ »αÑñß-
- Γáó½Ñ¡¿∩ º¡áτÑ¡¿⌐ ñѡѪ¡δσ Ññ¿¡¿µ, »αÑñßΓáó½∩εΘ¿σ ß«í«⌐
- ß«Γ¡¿ ¿ Γδß∩τ¿, ¬«Γ«αδÑ ¿ß»«½∞ºπεΓß∩ ó »α¿¬½áñ¡δσ ¬«¼-
- ¼ÑατÑ߬¿σ »α«úαá¼¼áσ.
-
- ìѺáó¿ß¿¼« «Γ Γ«ú«, ¿ß»«½∞ºπÑΓÑ óδ ß«»α«µÑßß«α 80x87 ¿½¿
- ¡ÑΓ, 6-í¿Γ«óδ⌐ óÑΘÑßΓóÑ¡¡δ⌐ Γ¿» ∩ó½∩ÑΓß∩ ñ«»πßΓ¿¼δ¼. Æá¬¿¼ «íαá-
- º«¼, »α¿ »ÑαÑσ«ñÑ ¬ ¿ß»«½∞º«óá¡¿ε ß«»α«µÑßß«αá 80 x87 óá¼ ¡Ñ »«Γ-
- αÑíπÑΓß∩ ¿º¼Ñ¡∩Γ∞ ¿ßσ«ñ¡δ⌐ ΓѬßΓ »α«úαá¼¼δ, ¿ óδ ¼«ªÑΓÑ ¿ß»«½∞º«-
- óáΓ∞ Σá⌐½δ ñá¡¡δσ, ß«ºñá¡¡δÑ »α«úαἼἿ, ¬«Γ«αδÑ αáí«ΓáεΓ ß
- »α«úαá¼¼¡« «íÑß»Ñτ¿óáÑ¼δ¼¿ «»Ñαᵿ∩¼¿ ß »½áóáεΘÑ⌐ Γ«τ¬«⌐.
-
- ÄΓ¼ÑΓ¿¼, «ñ¡á¬«, τΓ« á»»áαáΓ¡δÑ óδτ¿ß½Ñ¡¿∩ ß »ÑαѼѡ¡δ¼¿ óÑ-
- ΘÑßΓóÑ¡¡«ú« Γ¿»á óδ»«½¡∩εΓß∩ ¡Ñ߬«½∞¬« ¼Ññ½Ñ¡¡ÑÑ, τѼ ß »ÑαѼѡ-
- ¡δ¼¿ ñαπú«ú« Γ¿»á. ¥Γ« ßó∩ºá¡« ß ΓѼ, τΓ« ß«»α«µÑßß«α 80x87 ¡Ñ
- ¼«ªÑΓ ¡Ñ»«ßαÑñßΓóÑ¡¡« «íαáíáΓδóáΓ∞ óÑΘÑßΓóÑ¡¡δ⌐ Σ«α¼áΓ. é¼ÑßΓ«
- φΓ«ú«, »ÑαÑñ óδ»«½¡Ñ¡¿Ñ¼ «»Ñαᵿ⌐, ñ½∩ »αÑ«íαẫóá¡¿∩ óÑΘÑßΓóÑ¡-
- ¡δσ º¡áτÑ¡¿⌐ ó τ¿ß½á ß »«óδΦÑ¡¡«⌐ Γ«τ¡«ßΓ∞ε ΓαÑíπεΓß∩ «íαáΘÑ¡¿∩ ¬
- í¿í½¿«ΓÑτ¡δ¼ »α«úαá¼¼á¼. àß½¿ óδ ºá¿¡ΓÑαÑß«óá¡δ ó ¼á¬ß¿¼á½∞¡«⌐
-
- B.Pascal 7 & Objects/LR - 252 -
-
- ߬«α«ßΓ¿ óδ»«½¡Ñ¡¿∩ ¿ ¡Ñ ß«í¿αáÑΓÑß∞ ¿ß»«½∞º«óáΓ∞ ßó«ε »α«úαá¼¼π
- ¡á ß¿ßΓѼáσ íѺ ß«»α«µÑßß«αá 80x87, Γ« 󫺼«ª¡« óδ ºáσ«Γ¿ΓÑ ¿ß-
- »«½∞º«óáΓ∞ óÑΘÑßΓóÑ¡¡δ⌐ Γ¿» ß «ñ¿¡áα¡«⌐ Γ«τ¡«ßΓ∞ε, óÑΘÑßΓóÑ¡¡δ⌐
- Γ¿» ß ñó«⌐¡«⌐ Γ«τ¡«ßΓ∞ε, óÑΘÑßΓóÑ¡¡δ⌐ Γ¿» ß »«óδΦÑ¡¡«⌐ Γ«τ¡«ßΓ∞ε
- ¿ ß½«ª¡δ⌐ Γ¿»δ ∩ó¡δ¼ «íαẫ¼.
-
- Çα¿Σ¼ÑΓ¿τÑ߬¿Ñ «»Ñαᵿ¿ ß »«óδΦÑ¡¡«⌐ Γ«τ¡«ßΓ∞ε
- ─────────────────────────────────────────────────────────────────
-
- Åα¿ ¿ß»«½∞º«óá¡¿¿ ß«»α«µÑßß«αá 80x87 Γ¿» ß »«óδΦÑ¡¡«⌐ Γ«τ-
- ¡«ßΓ∞ε Extended ∩ó½∩ÑΓß∩ «ß¡«ó«⌐ óßÑσ «»Ñαᵿ⌐ ß »½áóáεΘÑ⌐ Γ«τ-
- ¬«⌐. é Æπαí« Åá߬á½Ñ Γ¿» ß »«óδΦÑ¡¡«⌐ Γ«τ¡«ßΓ∞ε ¿ß»«½∞ºπÑΓß∩ ñ½∩
- »αÑñßΓáó½Ñ¡¿∩ óßÑσ ¡ÑµÑ½δσ τ¿ß½«óδσ ¬«¡ßΓá¡Γ, á Γá¬ªÑ »α¿ óδτ¿ß-
- ½Ñ¡¿¿ óßÑσ óδαáªÑ¡¿⌐ ¡ÑµÑ½«ú« Γ¿»á. ìá»α¿¼Ñα, ó ß½ÑñπεΘ¿σ «»Ñαá-
- µ¿∩σ »α¿ßóá¿óá¡¿∩ óßÑ »αáóδÑ τáßΓ¿ óδαáªÑ¡¿⌐ íπñπΓ óδτ¿ß½∩Γ∞ß∩,
- ¬á¬ óδαáªÑ¡¿∩ ß »«óδΦÑ¡¡«⌐ Γ«τ¡«ßΓ∞ε, á ºáΓѼ ¿σ Γ¿» íπñÑΓ »αÑ«í-
- αẫóá¡ ¬ Γ¿»π ß««ΓóÑΓßΓóπεΘÑ⌐ ½Ñó«⌐ τáßΓ¿:
-
- {$N+}
- var
- X, AA, B, C : real;
- begin
- X := (B + Sqrt(B*B - A*C))/A;
- end;
-
- Borland Pascal óδ»«½¡∩ÑΓ óδτ¿ß½Ñ¡¿∩ ß Γ«τ¡«ßΓ∞ε ¿ ñ¿á»áº«¡«¼
- »αÑñßΓáó½Ñ¡¿∩ τ¿ßѽ, ß««ΓóÑΓßΓóπεΘ¿¼¿ Γ¿»π ß »«óδΦÑ¡¡«⌐ Γ«τ-
- ¡«ßΓ∞ε, íѺ ñ«»«½¡¿Γѽ∞¡δσ πß¿½¿⌐ »α«úαá¼¼¿ßΓá. ä«»«½¡¿Γѽ∞¡á∩
- Γ«τ¡«ßΓ∞ »α¿ó«ñ¿Γ ¬ ¼Ñ¡∞Φ¿¼ «Φ¿í¬á¼ «¬απú½Ñ¡¿∩, á ñ«»«½¡¿Γѽ∞¡δ⌐
- ñ¿á»áº«¡ «º¡áτáÑΓ, τΓ« ß¿Γπᵿ¿ »ÑαÑ»«½¡Ñ¡¿∩ ¿ »«ΓÑα¿ º¡áτ¿¼«ßΓ¿
- íπñπΓ óßΓαÑτáΓ∞ß∩ ó »α«úαá¼¼áσ αѪÑ.
-
- éδ ¼«ªÑΓÑ «í«⌐Γ¿ß∞ ¿ íѺ ñ«»«½¡¿Γѽ∞¡δσ áóΓ«¼áΓ¿τÑ߬¿σ ó«º-
- ¼«ª¡«ßΓÑ⌐ óδτ¿ß½Ñ¡¿⌐ ß »«óδΦÑ¡¡«⌐ Γ«τ¡«ßΓ∞ε Borland Pascal. ìá»-
- α¿¼Ñα, «»¿ßáΓ∞ »ÑαѼѡ¡δÑ, ¿ß»«½∞ºπεΘ¿Ñß∩ ñ½∩ »α«¼ÑªπΓ«τ¡δσ óδ-
- τ¿ß½Ñ¡¿⌐, ¬á¬ »ÑαѼѡ¡δÑ ß »«óδΦÑ¡¡«⌐ Γ«τ¡«ßΓ∞ε. é ß½ÑñπεΘѼ »α¿-
- ¼ÑαÑ óδτ¿ß½∩ÑΓß∩ ßπ¼¼á »α«¿ºóÑñÑ¡¿⌐:
-
- var
- Sm : single;
- X,Y array[1..100] of single;
- I : integer;
- T : extended; { ñ½∩ »α«¼ÑªπΓ«τ¡δσ αѺπ½∞ΓáΓ«ó }
- begin
- T := 0.0;
- for I := 1 to 100 do T := T + X[I] * Y[I]
- Sum := T;
- end;
-
- àß½¿ íδ »ÑαѼѡ¡á∩ T íδ½á «»¿ßá¡á, ¬á¬ »ÑαѼѡ¡á∩ ß «ñ¿¡áα-
- ¡«⌐ Γ«τ¡«ßΓ∞ε, Γ« »α¿ ¬áªñ«¼ µ¿¬½Ñ «»Ñαᵿ¿ »α¿ßóá¿óá¡¿∩ ñ½∩ »Ñ-
- αѼѡ¡«⌐ T í뫨 íδ óδ»«½¡Ñ¡δ ß «Φ¿í¬«⌐ «¬απú½Ñ¡¿∩ ¿ «úαá¡¿τÑ¡¿∩-
- ¼¿, ß««ΓóÑΓßΓóπεΘ¿¼¿ «ñ¿¡áα¡«⌐ Γ«τ¡«ßΓ¿. ì«, »«ß¬«½∞¬π »ÑαѼѡ¡á∩
-
- B.Pascal 7 & Objects/LR - 253 -
-
- T ∩ó½∩ÑΓß∩ »ÑαѼѡ¡«⌐ ß »«óδΦÑ¡¡«⌐ Γ«τ¡«ßΓ∞ε, Γ« óßÑ «Φ¿í¬¿ «¬-
- απú½Ñ¡¿∩ (¬α«¼Ñ «»Ñαᵿ¿, »α¿ ¬«Γ«α«⌐ º¡áτÑ¡¿Ñ »ÑαѼѡ¡«⌐ T »α¿ß-
- óá¿óáÑΓß∩ »ÑαѼѡ¡«⌐ Su¼) ¿¼ÑεΓ «úαá¡¿τÑ¡¿∩, ß««ΓóÑΓßΓóπεΘ¿Ñ »«-
- óδΦÑ¡¡«⌐ Γ«τ¡«ßΓ¿. îÑ¡∞Φ¿Ñ «Φ¿í¬¿ «¬απú½Ñ¡¿∩ «º¡áτáεΓ í«½ÑÑ Γ«τ-
- ¡δ⌐ αѺπ½∞ΓáΓ.
-
- ä½∩ º¡áτÑ¡¿⌐ Σ«α¼á½∞¡δσ »áαá¼ÑΓα«ó ¿ αѺπ½∞ΓáΓá Σπ¡¬µ¿¿ óδ
- Γá¬ªÑ ¼«ªÑΓÑ ºáñáΓ∞ »«óδΦÑ¡¡πε Γ«τ¡«ßΓ∞. ¥Γ« »«¼«ªÑΓ ¿ºíѪáΓ∞ ¡Ñ-
- ¡πª¡δσ »αÑ«íαẫóá¡¿⌐ Γ¿»«ó τ¿ßѽ, »α¿ó«ñ∩Θ¿σ ¬ »«ΓÑαÑ Γ«τ¡«ßΓ¿.
- ìá»α¿¼Ñα:
-
- function Area(Radius: extended): extended;
- begin
- Area := Pi * Radius * Radius;
- end;
-
- æαáó¡Ñ¡¿Ñ óÑΘÑßΓóÑ¡¡δσ τ¿ßѽ
- ─────────────────────────────────────────────────────────────────
-
- ū߬«½∞¬π º¡áτÑ¡¿∩ óÑΘÑßΓóÑ¡¡«ú« Γ¿»á ∩ó½∩εΓß∩ »α¿í½¿º¿Γѽ∞-
- ¡δ¼¿, αѺπ½∞ΓáΓ ßαáó¡Ñ¡¿∩ º¡áτÑ¡¿⌐ αẽ¿τ¡«ú« óÑΘÑßΓóÑ¡¡«ú« Γ¿»á
- ¡Ñ óßÑúñá ¼«ª¡« »αÑñ߬áºáΓ∞. ìá»α¿¼Ñα, Ñß½¿ ò - »ÑαѼѡ¡á∩ óÑ-
- ΘÑßΓóÑ¡¡«ú« Γ¿»á ß «ñ¿¡áα¡«⌐ Γ«τ¡«ßΓ∞ε, á Y - »ÑαѼѡ¡á∩ óÑΘÑßΓ-
- óÑ¡¡«ú« Γ¿»á ß ñó«⌐¡«⌐ Γ«τ¡«ßΓ∞ε, Γ« αѺπ½∞ΓáΓ«¼ óδ»«½¡Ñ¡¿∩ ß½Ñ-
- ñπεΘ¿σ «»ÑαáΓ«α«ó íπñÑΓ º¡áτÑ¡¿Ñ False:
-
- X := 1/3;
- Y := 1/3;
- Writeln(X = Y);
-
- Åα¿τ¿¡á φΓ«ú« ß«ßΓ«¿Γ ó Γ«¼, τΓ« ò ¿¼ÑÑΓ Γ«τ¡«ßΓ∞ Γ«½∞¬« ñ«
- 7-8 µ¿Σα, á Y - Γ«τ¡«ßΓ∞ ñ« 15-16 µ¿Σα, ¿ ¬«úñá «íá º¡áτÑ¡¿∩ »αÑ-
- «íαáºπεΓß∩ ¬ Γ¿»π ß »«óδΦÑ¡¡«⌐ Γ«τ¡«ßΓ∞ε, Γ« »«ß½Ñ »Ñαóδσ 7-8
- µ¿Σα «ßΓá½∞¡δÑ µ¿Σαδ íπñπΓ αẽ¿τáΓ∞ß∩. ǡὫú¿τ¡«, αѺπ½∞ΓáΓ«¼
- óδ»«½¡Ñ¡¿∩ «»ÑαáΓ«α«ó:
-
- X := 1/3;
- Writeln(X = 1/3);
-
- íπñÑΓ º¡áτÑ¡¿Ñ False, αѺπ½∞ΓáΓ 1/3 ó «»ÑαáΓ«αÑ Writeln óδτ¿ß½∩-
- ÑΓß∩ ß Γ«τ¡«ßΓ∞ε ñ« 20 º¡áτáΘ¿σ µ¿Σα.
-
-
- æΓѬ óδτ¿ß½Ñ¡¿⌐ ß«»α«µÑßß«αá 80x87
- ─────────────────────────────────────────────────────────────────
-
- ô ß«»α«µÑßß«αá 80x87 ¿¼ÑÑΓß∩ ó¡πΓαÑ¡¡¿⌐ ßΓѬ óδτ¿ß½Ñ¡¿⌐, ¬«-
- Γ«αδ⌐ ¼«ªÑΓ íδΓ∞ ú½πí¿¡«⌐ ñ« ó«ß∞¼¿ πα«ó¡Ñ⌐. ä«ßΓπ» ¬ º¡áτÑ¡¿ε,
- ¡áσ«ñ∩ΘѼπß∩ ó ßΓÑ¬Ñ ß«»α«µÑßß«αá 80x87 «ßπΘÑßΓó½∩ÑΓß∩ ¡á¼¡«ú«
- íδßΓαÑÑ, τѼ ñ«ßΓπ» ¬ »ÑαѼѡ¡«⌐ ó »á¼∩Γ¿, »«φΓ«¼π ñ½∩ ñ«ßΓ¿ªÑ¡¿∩
- ¼á¬ß¿¼á½∞¡« 󫺼«ª¡«⌐ »α«¿ºó«ñ¿Γѽ∞¡«ßΓ¿ ó Borland Pascal ó¡πΓ-
- αÑ¡¡¿⌐ ßΓѬ ß«»α«µÑßß«αá 80x87 ¿ß»«½∞ºπÑΓß∩ ñ½∩ σαá¡Ñ¡¿∩ óαѼѡ-
- ¡δσ αѺπ½∞ΓáΓ«ó ¿ ñ½∩ »ÑαÑñáτ¿ »áαá¼ÑΓα«ó »α«µÑñπαá¼ ¿ Σπ¡¬µ¿∩¼.
-
- B.Pascal 7 & Objects/LR - 254 -
-
-
- ÆÑ«αÑΓ¿τÑ߬¿, ß½¿Φ¬«¼ ß½«ª¡δÑ óδαáªÑ¡¿∩ óÑΘÑßΓóÑ¡¡«ú« Γ¿»á
- ¼«úπΓ óδºóáΓ∞ »ÑαÑ»«½¡Ñ¡¿Ñ ßΓѬá ß«»α«µÑßß«αá 80x87. Äñ¡á¬« φΓ«ú«
- ¡Ñ ¼«ªÑΓ ß½πτ¿Γ∞ß∩, »«ß¬«½∞¬π ñ½∩ φΓ«ú« »«ΓαÑí«óὫß∞ íδ, τΓ«íδ ó
- óδαáªÑ¡¿¿ »«½πτὫß∞ í«½ÑÑ ó«ß∞¼¿ »α«¼ÑªπΓ«τ¡δσ αѺπ½∞ΓáΓ«ó.
-
- ü«½ÑÑ óÑß«¼á∩ «»áß¡«ßΓ∞ Γá¿Γß∩ ó« 󽫪ѡ¡δσ ó맮óáσ Σπ¡¬µ¿⌐.
- àß½¿ Γá¬¿Ñ ¬«¡ßΓαπ¬µ¿¿ ß«ßΓáó½Ñ¡δ ¡Ñ¬«ααÑ¬Γ¡«, Γ« «¡¿, 󻫽¡Ñ óÑ-
- α«∩Γ¡«, ¼«úπΓ »α¿óÑßΓ¿ ¬ »ÑαÑ»«½¡Ñ¡¿ε ßΓѬá ß«»α«µÑßß«αá 80x87.
-
- Éáßß¼«Γα¿¼, ß½ÑñπεΘπε Σπ¡¬µ¿ε, ó ¬«Γ«α«⌐ ß »«¼«Θ∞ε αѬπαß¿¿
- óδτ¿ß½∩εΓß∩ τ¿ß½á ö¿í«¡áττ¿:
-
- function Fib(N: integer): extended;
- begin
- if N = 0 then
- Fib := 0.0
- else
- if N = 1 then
- Fib := 1.0
- else
- Fib := Fib(N-1) + Fib(N-2);
- end;
-
- ÄíαáΘÑ¡¿Ñ ¬ ñá¡¡«⌐ óÑαß¿¿ »α«µÑñπαδ Fib »α¿óÑñÑΓ ¬ »ÑαÑ»«½-
- ¡Ñ¡¿ε ßΓѬá ß«»α«µÑßß«αá 80x87, Γᬠ¬á¬ º¡áτÑ¡¿⌐ N í«½∞ΦÑ, τѼ 8.
- Åα¿τ¿¡á ºá¬½ετáÑΓß∩ ó Γ«¼, τΓ« »«ß½Ññ¡¿⌐ «»ÑαáΓ«α »α¿ßóá¿óá¡¿∩
- ΓαÑíπÑΓ óαѼѡ¡«ú« ß«σαá¡Ñ¡¿∩ αѺπ½∞ΓáΓá óδ»«½¡Ñ¡¿∩ »α«µÑñπαδ Fib
- (N-1) ó ßΓÑ¬Ñ ß«»α«µÑßß«αá 80x87. èáªñ«Ñ αѬπαß¿ó¡«Ñ «íαáΘÑ¡¿Ñ
- óδñѽ∩ÑΓß∩ «ñ¡á ∩τÑ⌐¬á ßΓÑ¬á ¿ ¡á ñÑó∩Γ«¼ «íαáΘÑ¡¿¿ »α«¿º«⌐ñÑΓ
- »ÑαÑ»«½¡Ñ¡¿Ñ ßΓѬá. è«ααÑ¬Γ¡«⌐ ¬«¡ßΓαπ¬µ¿Ñ⌐ ó φΓ«¼ ß½πτáÑ íπñÑΓ:
-
- function Fib(N : integer) : extended;
- var
- F1,F2 : Extended;
- begin
- if N = 0 then
- Fib := 0.0
- else
- if N = 1
- then Fib := 1.0
- else
- begin
- F1 := Fib(N-1); F2 := Fib(N-2);
- Fib := F1 + F2;
- end;
- end;
-
- éαѼѡ¡δÑ αѺπ½∞ΓáΓδ ΓÑ»Ñα∞ ß«σαá¡∩εΓß∩ ó »ÑαѼѡ¡δσ, ñ½∩
- ¬«Γ«αδσ «Γó«ñ¿Γß∩ ßΓѬ »α«µÑßß«αá 8086. (æΓѬ »α«µÑßß«αá 8086 ¬«-
- ¡Ñτ¡« Γ«ªÑ ¼«ªÑΓ »ÑαÑ»«½¡¿Γ∞ß∩, ¡« φΓ« «íδτ¡« ΓαÑíπÑΓ ú«αáºñ«
- í«½∞ΦÑú« τ¿ß½á αѬπαß¿ó¡δσ ó맮ó«ó).
-
-
- B.Pascal 7 & Objects/LR - 255 -
-
- çỿß∞ óÑΘÑßΓóÑ¡¡δσ τ¿ßѽ
- »α¿ ¿ß»«½∞º«óá¡¿¿ ß«»α«µÑßß«αá 80x87
- ─────────────────────────────────────────────────────────────────
-
- àß½¿ íδ½á π¬áºá¡á ñ¿αÑ¬Γ¿óá {$N+}, Γ« ßΓá¡ñáαΓ¡δÑ »α«µÑñπαδ
- Write ¿ Writeln, τΓ«íδ «íÑß»Ñτ¿Γ∞ »αÑñßΓáó½Ñ¡¿Ñ ó αáßΦ¿αÑ¡¡«¼ ñ¿-
- á»áº«¡Ñ, óδó«ñ∩Γ ó ßΓα«¬Ñ ß ñÑß∩Γ¿τ¡δ¼¿ τ¿ß½á¼¿ ß »½áóáεΘÑ⌐ Γ«τ-
- ¬«⌐ τÑΓδαÑ µ¿Σαδ ñ½∩ »«¬áºáΓѽ∩ ßΓѻѡ¿ ó¼ÑßΓ« ñóπσ. ǡὫú¿τ¡«,
- ßΓá¡ñáαΓ¡á∩ »α«µÑñπαá Str »α¿ óδí«αÑ Σ«α¼áΓá ß »½áóáεΘÑ⌐ Γ«τ¬«⌐
- ó«ºóαáΘáÑΓ º¡áτÑ¡¿Ñ »«¬áºáΓѽ∩ ßΓѻѡ¿, ß«ßΓ«∩ΘÑÑ ¿º τÑΓδαÑσ
- µ¿Σα.
-
-
- î«ñπ½¿, ó ¬«Γ«αδσ ¿ß»«½∞ºπÑΓß∩ ß«»α«µÑßß«α 80x87
- ─────────────────────────────────────────────────────────────────
-
- î«ñπ½¿, ó ¬«Γ«αδσ ¿ß»«½∞ºπÑΓß∩ ß«»α«µÑßß«α 80x87, ¼«úπΓ óδ-
- ºδóáΓ∞ß∩ ñαπú¿¼¿ ¼«ñπ½∩¼¿ ¿½¿ »α«úαἼἿ Γ«½∞¬« ó Γ«¼ ß½πτáÑ,
- Ñß½¿ φΓ¿ ¼«ñ㫨 ¿½¿ »α«úαá¼¼δ í뫨 ߬«¼»¿½¿α«óá¡δ ß ñ¿αÑ¬Γ¿ó«⌐
- {$N+}. Æ«, τΓ« ¼«ñπ½∞ ¿ß»«½∞ºπÑΓ ß«»α«µÑßß«α 80x87, «»αÑñѽ∩ÑΓß∩
- ¡á½¿τ¿Ñ¼ ó ¡Ñ¼ ¿¡ßΓαπ¬µ¿⌐ ß«»α«µÑßß«αá 80x87, á ¡Ñ ñ¿αÑ¬Γ¿ó«⌐ $N
- ó« óαѼ∩ ¬«¼»¿½∩µ¿¿. ¥Γ« »«ºó«½∩ÑΓ ¬«¼»¿½∩Γ«απ íδΓ∞ í«½ÑÑ "ß¡¿ß-
- σ«ñ¿Γѽ∞¡δ¼", ¬«úñá óδ ß½πτá⌐¡« ¬«¼»¿½¿απÑΓÑ ¼«ñπ½∞ (ó ¬«Γ«α«¼
- ¿ß»«½∞ºπÑΓß∩ ß«»α«µÑßß«α 80x87), ¡Ñ π¬áºáó ñ¿αÑ¬Γ¿óπ {$N+}.
-
- è«úñá óδ óδ»«½¡∩ÑΓÑ ¬«¼»¿½∩µ¿ε ó αѪ¿¼Ñ ¬«ñá 80σ87 (ñ¿αÑ¬Γ¿-
- óá {$N+}), Γ« ó«ºóαáΘáѼδÑ »«ñ»α«úαἼἿ ¼«ñπ½∩ SystѼ (Sqrt,
- Éi, Sin ¿ Γ.ñ.) º¡áτÑ¡¿∩ »αÑñßΓáó½∩εΓ ß«í«⌐ ¡Ñ óÑΘÑßΓóÑ¡¡δÑ τ¿ß-
- ½á, á τ¿ß½á Γ¿»á Extended (ß »«óδΦÑ¡¡«⌐ Γ«τ¡«ßΓ∞ε).
-
-
-
-
- B.Pascal 7 & Objects/LR - 256 -
-
- Éáß»«º¡áóá¡¿Ñ ß«»α«µÑßß«αá 80σ87 ó »α«úαá¼¼áσ DOS
- ─────────────────────────────────────────────────────────────────
-
- êß»«½¡∩εΘá∩ í¿í½¿«ΓѬá Borland Pascal, óßΓα«Ñ¡¡á∩ ó óáΦπ
- »α«úαá¼¼π (߬«¼»¿½¿α«óá¡¡πε ß ñ¿αÑ¬Γ¿ó«⌐ {$N+}) ó¬½ετáÑΓ ó ßÑí∩
- ¬«ñ ¿¡¿µ¿á½¿ºáµ¿¿, ¬«Γ«αδ⌐ áóΓ«¼áΓ¿τÑ߬¿ αáß»«º¡áÑΓ ¡á½¿τ¿Ñ ó
- ß¿ßΓÑ¼Ñ ¼¿¬α«ßσѼδ ß«»α«µÑßß«αá 8087. àß½¿ ß«»α«µÑßß«α 8087 ¿¼Ñ-
- ÑΓß∩, Γ« »α«úαá¼¼á íπñÑΓ Ñú« áóΓ«¼áΓ¿τÑ߬¿ ¿ß»«½∞º«óáΓ∞. é ß½πτáÑ
- ªÑ Ñú« «ΓßπΓßΓó¿∩ »α«úαá¼¼á íπñÑΓ ¿ß»«½∞º«óáΓ∞ φ¼π½¿απεΘπε í¿í½¿-
- «ΓѬπ ¿ß»«½¡∩εΘÑ⌐ ß¿ßΓѼδ. àß½¿ »α«úαá¼¼á ¬«¼»¿½¿α«óá½áß∞ ß ñ¿-
- αÑ¬Γ¿ó«⌐ {$E-} ¿ »« óαѼ∩ ¡áτá½á ÑÑ αáí«Γδ ß«»α«µÑßß«α ¡Ñ «í¡áαπ-
- ª¿óáÑΓß∩, Γ« »α«úαá¼¼á ºáóÑαΦáÑΓ αáí«Γπ ß ß««íΘÑ¡¿Ñ¼ Numeric
- coprocessor required ("ÆαÑíπÑΓß∩ ß«»α«µÑßß«α áα¿Σ¼ÑΓ¿τÑ߬¿σ óδ-
- τ¿ß½Ñ¡¿⌐").
-
- àßΓ∞ ¡Ñ߬«½∞¬« ß½πτáÑó, ¬«úñá óδ 󫺼«ª¡« ºáσ«Γ¿ΓÑ ¿º¼Ñ¡¿Γ∞
- Γá¬πε »α¿¡∩Γπε »« π¼«½τá¡¿ε ½«ú¿¬π áóΓ«¼áΓ¿τÑ߬«ú« «í¡áαπªÑ¡¿∩
- ß«»α«µÑßß«αá. ìá»α¿¼Ñα, ó óáΦÑ⌐ ß¿ßΓÑ¼Ñ ¼«ªÑΓ »α¿ßπΓßΓó«óáΓ∞ ß«»-
- α«µÑßß«α 8087, ¡« óδ ºáσ«Γ¿ΓÑ »α«óÑα¿Γ∞, ¬á¬ íπñÑΓ αáí«ΓáΓ∞ »α«ú-
- αá¼¼á, »αÑñ¡áº¡áτÑ¡¡á∩ ñ½∩ Σπ¡¬µ¿«¡¿α«óá¡¿∩ ¡á ß¿ßΓѼáσ íѺ ß«»-
- α«µÑßß«αá. 꽿 ªÑ »«ΓαÑíπÑΓß∩ ºá»πßΓ¿Γ∞ óáΦπ »α«úαá¼¼π ¡á
- ß¿ßΓѼÑ, ß«ó¼ÑßΓ¿¼«⌐ ß ¬«¼»∞εΓÑα«¼ Éæ, ¡« ¡á φΓ«⌐ ß¿ßΓÑ¼Ñ »α¿ αá-
- í«ΓÑ á½ú«α¿Γ¼á áóΓ««í¡áαπªÑ¡¿∩ íπñÑΓ óδó«ñ¿Γ∞ß∩ ¡Ñ¬«ααÑ¬Γ¡á∩ ¿¡-
- Σ«α¼áµ¿∩ (¡á»α¿¼Ñα, íπñÑΓ ß««íΘáΓ∞ß∩ « ¡á½¿τ¿Ñ ß«»α«µÑßß«αá, ¬«ú-
- ñá ¡á ßἫ¼ ñÑ½Ñ Ñú« ¡ÑΓ, ¿½¿ ¡á«í«α«Γ).
-
- é Borland Pascal »αÑñπß¼«ΓαÑ¡á 󫺼«ª¡«ßΓ∞ «Γ¼Ñ¡δ »α¿¡∩Γ«⌐
- »« π¼«½τá¡¿ε ½«ú¿¬¿ áóΓ«¼áΓ¿τÑ߬«ú« αáß»«º¡áóá¡¿∩. ¥Γá 󫺼«ª-
- ¡«ßΓ∞ ºáñáÑΓß∩ »ÑαѼѡ¡«⌐ «»Ñαᵿ«¡¡«⌐ ßαÑñδ 87.
-
- éδ ¼«ªÑΓÑ πßΓá¡«ó¿Γ∞ »ÑαѼѡ¡πε «»Ñαᵿ«¡¡«⌐ ßαÑñδ 87 ó «Γ-
- óÑΓ ¡á »«ñ߬Ậπ DOS ß »«¼«Θ∞ε ¬«¼á¡ñδ SET, ¡á»α¿¼Ñα, ß½ÑñπεΘ¿¼
- «íαẫ¼:
-
- SET 87=Y
- ¿½¿
- SET 87=N
-
- ôßΓá¡«ó¬á ñ½∩ »ÑαѼѡ¡«⌐ «»Ñαᵿ«¡¡«⌐ ßαÑñδ 87 º¡áτÑ¡¿∩ N
- (ìÑΓ) π¬áºδóáÑΓ ¬«ñπ ¿¡¿µ¿á½¿ºáµ¿¿, τΓ« óδ ¡Ñ σ«Γ¿ΓÑ ¿ß»«½∞º«óáΓ∞
- ß«»α«µÑßß«α 8087, σ«Γ∩ «¡ ¼«ªÑΓ ¿ »α¿ßπΓßΓó«óáΓ∞ ó ß¿ßΓѼÑ. ê ¡á-
- «í«α«Γ: πßΓá¡«ó¬á ñ½∩ »ÑαѼѡ¡«⌐ 87 º¡áτÑ¡¿∩ Y (äá) «º¡áτáÑΓ, τΓ«
- ß«»α«µÑßß«α ¿¼ÑÑΓß∩, ¿ óδ σ«Γ¿ΓÑ, τΓ«íδ óáΦá »α«úαá¼¼á Ñú« ¿ß-
- »«½∞º«óá½á. Äñ¡á¬« »α¿ φΓ«¼ ¡πª¡« »«¼¡¿Γ∞ « Γ«¼, τΓ« πßΓá¡«ó¬á
- ñ½∩ »ÑαѼѡ¡«⌐ 87 º¡áτÑ¡¿∩ Y »α¿ «ΓßπΓßΓó¿¿ ó ß¿ßΓÑ¼Ñ ß«»α«µÑßß«-
- αá 8087 »α¿óÑñÑΓ ¬ Γ«¼π, τΓ« óáΦá »α«úαá¼¼á áóáα¿⌐¡« ºáóÑαΦ¿Γ αá-
- í«Γπ ¿½¿ "ºáó¿ß¡ÑΓ".
-
- àß½¿ »ÑαѼѡ¡á∩ «»Ñαᵿ«¡¡«⌐ ßαÑñδ 87 «»αÑñѽѡá, á óδ σ«Γ¿-
- ΓÑ, τΓ«íδ «¡á ßΓá½á ¡Ñ«»αÑñѽѡ¡«⌐, Γ« ¼«ª¡« óóÑßΓ¿ ó «ΓóÑΓ ¡á
- »«ñ߬Ậπ DOS:
-
- SET 87=
-
- B.Pascal 7 & Objects/LR - 257 -
-
-
- ¿ ¡áªáΓ∞ ¬½áó¿Φπ Enter.
-
- àß½¿ ó «»Ñαᵿ«¡¡«⌐ ßαÑñÑ DOS »α¿ßπΓßΓóπÑΓ ºá»¿ß∞ 87=Y, ¿½¿
- Ñß½¿ ¬«ñ ¿¡¿µ¿á½¿ºáµ¿¿ πß»ÑΦ¡« αáß»«º¡áÑΓ ß«»α«µÑßß«α, Γ« ñá½ÑÑ
- ¬«ñ ¿¡¿µ¿á½¿ºáµ¿¿ óδ»«½¡∩ÑΓ »«ß½ÑñπεΘ¿Ñ »α«óÑન, τΓ«íδ «»αÑñÑ-
- ½¿Γ∞, ¬á¬«⌐ φΓ« ß«»α«µÑßß«α (8087, 80287 ¿½¿ 80387). ¥Γ« ¡Ñ«íσ«-
- ñ¿¼« ñ½∩ Γ«ú«, τΓ«íδ Æπαí« Åá߬á½∞ ¼«ú ¬«ααÑ¬Γ¡« αáí«ΓáΓ∞ ß «Γ-
- ñѽ∞¡δ¼¿ ¡Ñß«ó¼ÑßΓ¿¼«ßΓ∩¼¿, ¬«Γ«αδÑ ¿¼ÑεΓß∩ ¼Ñªñπ ß«»α«µÑßß«αἿ
- αẽ¿τ¡δσ Γ¿»«ó.
-
- ÉѺπ½∞ΓáΓ áóΓ«¼áΓ¿τÑ߬«ú« αáß»«º¡áóá¡¿∩ ¡á½¿τ¿∩ ß«»α«µÑßß«αá
- ¿ Ñú« ¼«ñѽ¿ ß«σαá¡∩ÑΓß∩ ó »ÑαѼѡ¡«⌐ Test8087 (¬«Γ«αá∩ «»¿ßδóá-
- ÑΓß∩ ó ¼«ñπ½Ñ System). ä½∩ ¡ÑÑ «»αÑñѽѡδ ß½ÑñπεΘ¿Ñ º¡áτÑ¡¿∩:
-
- ┌──────────────┬────────────────────────────────┐
- │ ç¡áτÑ¡¿Ñ │ Ä»αÑñѽѡ¿Ñ │
- ├──────────────┼────────────────────────────────┤
- │ 0 │ ß«»α«µÑßß«α ¡Ñ «í¡áαπªÑ¡ │
- │ 1 │ «í¡áαπªÑ¡ ß«»α«µÑßß«α 8087 │
- │ 2 │ «í¡áαπªÑ¡ ß«»α«µÑßß«α 80287 │
- │ 3 │ «í¡áαπªÑ¡ ß«»α«µÑßß«α 80387 │
- └──────────────┴────────────────────────────────┘
-
- ùΓ«íδ «»αÑñѽ¿Γ∞ σáαá¬ΓÑα¿ßΓ¿¬¿ ß¿ßΓѼδ, ¡á ¬«Γ«α«⌐ αáí«ΓáÑΓ
- óáΦá »α«úαá¼¼á, óδ ¼«ªÑΓÑ ó »α«úαá¼¼Ñ »α«óÑα¿Γ∞ ß«ñÑন¼«Ñ »ÑαÑ-
- ¼Ñ¡¡«⌐ Test8087. é τáßΓ¡«ßΓ¿, φΓπ »ÑαѼѡ¡πε ¼«ª¡« »α«á¡á½¿º¿α«-
- óáΓ∞ ñ½∩ Γ«ú«, τΓ«íδ «»αÑñѽ¿Γ∞, φ¼π½¿απεΓß∩ ¿¡ßΓαπ¬µ¿¿ αáí«Γδ ß
- »½áóáεΘÑ⌐ Γ«τ¬«⌐, ¿½¿ «¡¿ ñÑ⌐ßΓó¿Γѽ∞¡« óδ»«½¡∩εΓß∩.
-
-
- Éáß»«º¡áóá¡¿Ñ ß«»α«µÑßß«αá 80x87 ó »α«úαá¼¼Ñ Windows
- ─────────────────────────────────────────────────────────────────
-
- Ä»Ñαᵿ«¡¡á∩ ßαÑñá Windows ¿ í¿í½¿«ΓѬá φ¼π½∩µ¿¿ WIN87EM.DLL
- áóΓ«¼áΓ¿τÑ߬¿ αáß»«º¡áÑΓ ¡á½¿τ¿Ñ ó ß¿ßΓÑ¼Ñ »½áΓδ ß«»α«µÑßß«αá
- 80x87. àß½¿ ß«»α«µÑßß«α 80x87 ¿¼ÑÑΓß∩, Γ« »α«úαá¼¼á íπñÑΓ Ñú« áó-
- Γ«¼áΓ¿τÑ߬¿ ¿ß»«½∞º«óáΓ∞. é ß½πτáÑ ªÑ Ñú« «ΓßπΓßΓó¿∩ »α«úαá¼¼á
- íπñÑΓ ¿ß»«½∞º«óáΓ∞ φ¼π½∩µ¿ε ß »«¼«Θ∞ε WIn87EM.DLL. ùΓ«íδ «»αÑñÑ-
- ½¿Γ∞ ¡á½¿τ¿Ñ ó ß¿ßΓÑ¼Ñ ß«»α«µÑßß«αá 80σ87, óδ ¼«ªÑΓÑ ¿ß»«½∞º«óáΓ∞
- Σπ¡¬µ¿ε GetWinFlags (¬«Γ«αá∩ «»αÑñѽѡá ó ¼«ñπ½Ñ WinProcs) ¿ í¿-
- Γ«óπε ¼á߬π wf_80x87 («»αÑñѽѡ¡πε ó ¼«ñπ½Ñ WinTypes). ìá»α¿¼Ñα:
-
- if GetWinFlags and wf_80x87 <> 0 then
- Writeln('80x87 »α¿ßπΓßΓóπÑΓ') else
- Writeln('80x87 «ΓßπΓßΓóπÑΓ');
-
-
-
-
- B.Pascal 7 & Objects/LR - 258 -
-
- êß»«½∞º«óá¡¿Ñ φ¼π½∩µ¿¿
- ß«»α«µÑßß«αá 80x87 ¡á ∩ºδ¬Ñ áßßѼí½Ñαá
- ─────────────────────────────────────────────────────────────────
-
- è«úñá ¬«¼»«¡«ó¬á «íΩÑ¬Γ¡δσ Σá⌐½«ó óδ»«½¡∩ÑΓß∩ ß ñ¿αÑ¬Γ¿ó«⌐
- {$L ¿¼∩_Σá⌐½á}, ¡Ñ«íσ«ñ¿¼« «íÑß»Ñτ¿Γ∞, τΓ«íδ φΓ¿ Σá⌐½δ ¬«¼»¿½¿α«-
- óáΓ∞ ß αáºαÑΦÑ¡¿Ñ¼ φ¼π½∩µ¿¿ ß«»α«µÑßß«αá 80x87. ìá»α¿¼Ñα, Ñß½¿ óδ
- ¿ß»«½∞ºπÑΓÑ ¿¡ßΓαπ¬µ¿¿ ß«»α«µÑßß«αá 80x87 ó« ó¡ÑΦ¡¿σ »α«µÑñπαáσ
- ¡á ∩ºδ¬Ñ áßßѼí½Ñαá, ¡Ñ«íσ«ñ¿¼« πíÑñ¿Γ∞ß∩, τΓ« »α¿ áßßÑ¼í½¿α«óá-
- ¡¿¿ Σá⌐½«ó .ASM ó Σá⌐½δ .OBJ φ¼π½∩µ¿∩ αáºαÑΦÑ¡á. é »α«Γ¿ó¡«¼ ß½π-
- τáÑ ¿¡ßΓαπ¬µ¿¿ ß«»α«µÑßß«αá 80x87 ¡Ñ ¼«úπΓ φ¼π½¿α«óáΓ∞ß∩ ¡á ¼áΦ¿-
- ¡áσ íѺ ß«»α«µÑßß«αá 80x87. ä½∩ αáºαÑΦÑ¡¿∩ φ¼π½∩µ¿¿ ¿ß»«½∞ºπ⌐ΓÑ
- »áαá¼ÑΓα ¬«¼á¡ñ¡«⌐ ßΓ᫬¿ Æπαí« ÇßßѼí½Ñαá /E.
-
-
-
- B.Pascal 7 & Objects/LR - 259 -
-
- ───────────────────────────────────────────────────────────────────────
- â½áóá 16. î«ñπ½∞ D«s
- ─────────────────────────────────────────────────────────────────
-
- æ »«¼«Θ∞ε ¼«ñπ½Ñ⌐ Dos ¿ WinDos αÑ὿ºπÑΓß∩ µÑ½δ⌐ α∩ñ »α«ú-
- αá¼¼ «»Ñαᵿ«¡¡«⌐ ß¿ßΓÑ¼δ ¿ »α«úαá¼¼ «íαáí«Γ¬¿ Σá⌐½«ó. ì¿ «ñ¡á ¿º
- »α«úαá¼¼ ¼«ñπ½∩ Dos ¡Ñ «»αÑñѽѡá ó ßΓá¡ñáαΓ¡«¼ Åá߬á½Ñ, »«φΓ«¼π
- «¡¿ »«¼ÑΘáεΓß∩ ó «Γñѽ∞¡δ⌐ ¼«ñπ½∞.
-
- ü«½ÑÑ »«½¡«Ñ «»¿ßá¡¿Ñ «»Ñαᵿ⌐ DOS »α¿óÑñÑ¡« ó απ¬«ó«ñßΓóáσ
- »« DOS Σ¿α¼δ IBM.
-
- Äß¡«ó¡«Ñ αẽ¿τ¿Ñ ¼«ñπ½Ñ⌐ Dos ¿ WinDos ß«ßΓ«¿Γ ó Γ«¼, τΓ«
- »α«µÑñπαδ ¿ Σπ¡¬µ¿¿ ¼«ñπ½∩ Dos ¿ß»«½∞ºπεΓ ßΓá¡ñáαΓ¡δÑ ßΓ᫬¿ Åáß-
- ¬á½∩, á »α«µÑñπαδ ¿ Σπ¡¬µ¿¿ ¼«ñπ½∩ WinDos - ßΓ᫬¿ ß ºáóÑαΦáεΘ¿¼
- ¡π½Ñ¼. æΓá¡ñáαΓ¡á∩ ßΓ᫬á Åá߬á½∩ - φΓ« íá⌐Γ ñ½¿¡δ, ºá ¬«Γ«αδ¼
- ß½ÑñπÑΓ »«ß½Ññ«óáΓѽ∞¡«ßΓ∞ ß¿¼ó«½«ó. æΓ᫬á ß ºáóÑαΦáεΘ¿¼ ¡π½Ñ¼ -
- φΓ« »«ß½Ññ«óáΓѽ∞¡«ßΓ∞ ¡Ñ¡π½Ñóδσ ß¿¼ó«½«ó ß ºáóÑαΦáεΘ¿¼ ß¿¼ó«½«¼
- NULL (#0).
-
- Åα¿¼Ñτá¡¿Ñ: Å«ñα«í¡ÑÑ « αẽ¿τ¿¿ φΓ¿σ ßΓ᫬ αáß߬áºδ-
- óáÑΓß∩ ó â½áóÑ 18.
-
- àß½¿ óδ αáºαáíáΓδóáÑΓÑ Γ«½∞¬« »α«úαá¼¼δ Windows, ¿ß»«½∞ºπ⌐ΓÑ
- ¼«ñπ½∞ WinDos.
-
- àß½¿ óδ αáºαáíáΓδóáÑΓÑ Γ«½∞¬« »α«úαá¼¼δ DOS, Γ« ªÑ½áΓѽ∞¡«
- »«½∞º«óáΓ∞ß∩ ó »α«úαá¼¼áσ ¼«ñπ½Ñ¼ Dos, Γᬠ¬á¬ í«½∞Φ¿¡ßΓó« »α«ú-
- αá¼¼ Åá߬á½∩ Γαáñ¿µ¿«¡¡« αáí«ΓáεΓ ß« ßΓα«¬á¼¿ Åá߬á½∩. Äñ¡á¬«,
- Ñß½¿ óδ αáºαáíáΓδóáÑΓÑ »α¿½«ªÑ¡¿∩ ñ½∩ ßαÑñδ Windows, Γ« ¼«ªÑΓÑ
- ¡á»¿ßáΓ∞ »α«úαá¼¼π, ¿ß»«½∞ºπѼπε ó «íÑ¿σ »½áΓΣ«α¼áσ - DOS ¿
- Windows, »α¿¼Ñ¡∩∩ ñ½∩ φΓ«ú« ¼«ñ㫨 WinDos ¿ Strings. Windows ΓαÑ-
- íπÑΓ ¿ß»«½∞º«óá¡¿∩ ßΓ᫬ ß ºáóÑαΦáεΘ¿¼ ¡π½Ñ¼. éδ ¼«ªÑΓÑ ΓᬪÑ
- ó«ß»«½∞º«óáΓ∞ß∩ ñá¡¡δ¼¿ ¼«ñπ½∩¼¿, Ñß½¿ π óáß ÑßΓ∞ Σá⌐½ ñá¡¡δσ æ¿,
- ¿ óδ σ«Γ¿ΓÑ Ñú« ¬«¡óÑαΓ¿α«óáΓ∞. é ∩ºδ¬Ñ æ¿ ¿ß»«½∞ºπεΓß∩ ßΓ᫬¿ ß
- ºáóÑαΦáεΘ¿¼ ¡π½Ñ¼.
-
-
-
- B.Pascal 7 & Objects/LR - 260 -
-
- Åα«µÑñπαδ ¿ Σπ¡¬µ¿¿ ¼«ñπ½∩ Dos
- ─────────────────────────────────────────────────────────────────
-
- ì¿ªÑ »ÑαÑτ¿ß½Ñ¡δ »α«µÑñπαδ ¿ Σπ¡¬µ¿¿ ¼«ñπ½∩ Dos. ùΓ«íδ ¿ß-
- »«½∞º«óáΓ∞ ¿σ, óδ ñ«½ª¡δ ßßδ½áΓ∞ß∩ ¡á ¼«ñπ½∞ Dos ß »«¼«Θ∞ε «»Ñαá-
- Γ«αá »α«úαá¼¼δ uses. æ¼. Γá¬ªÑ â½áóπ 1 ("æ»αáó«τ¡¿¬ »« í¿í½¿«ΓÑ-
- ¬Ñ") ó "Éπ¬«ó«ñßΓóÑ »α«úαá¼¼¿ßΓá".
-
- Åα«µÑñπαδ ñ½∩ αáí«Γδ ß ñáΓ«⌐ ¿ óαѼѡѼ
- ┌──────────────────┬────────────────────────────────────────────┐
- │ Åα«µÑñπαá │ Ä»¿ßá¡¿Ñ │
- ├──────────────────┼────────────────────────────────────────────┤
- │ GetDate │ 髺óαáΘáÑΓ ΓѬπΘπε ñáΓπ, πßΓá¡«ó½Ñ¡¡πε ó│
- │ │ «»Ñαᵿ«¡¡«⌐ ß¿ßΓѼÑ. │
- ├──────────────────┼────────────────────────────────────────────┤
- │ GetFTime │ 髺óαáΘáÑΓ ñáΓπ ¿ óαѼ∩ »«ß½Ññ¡Ñ⌐ ºá»¿ß¿│
- │ │ Σá⌐½á. │
- ├──────────────────┼────────────────────────────────────────────┤
- │ GetTi¼Ñ │ 髺óαáΘáÑΓ ΓѬπΘÑÑ óαѼ∩, πßΓá¡«ó½Ñ¡¡«Ñ ó│
- │ │ «»Ñαᵿ«¡¡«⌐ ß¿ßΓѼÑ. │
- ├──────────────────┼────────────────────────────────────────────┤
- │ ÉackTi¼Ñ │ ÅαÑ«íαáºπÑΓ ºá»¿ß∞ DateTi¼Ñ ó τÑΓδαÑσíá⌐Γ«-│
- │ │ ó«Ñ π»á¬«óá¡¡«Ñ ß¿¼ó«½∞¡«Ñ »αÑñßΓáó½Ñ¡¿Ñ│
- │ │ ñáΓδ ¿ óαѼѡ¿ ñ½¿¡¡«ú« µÑ½«ú« Γ¿»á, ¬«Γ«-│
- │ │ α«Ñ ¿ß»«½∞ºπÑΓß∩ ó »α«µÑñπαÑ SetTi¼Ñ. Å«½∩│
- │ │ ºá»¿ß¿ DateTi¼Ñ ¡Ñ »α«óÑα∩εΓß∩ ¡á ñ«»πßΓ¿-│
- │ │ ¼«ßΓ∞ úαá¡¿µ. │
- ├──────────────────┼────────────────────────────────────────────┤
- │ SetDate │ ôßΓá¡áó½¿óáÑΓ ñ½∩ «»Ñαᵿ«¡¡«⌐ ß¿ßΓѼδ ΓÑ-│
- │ │ ¬πΘπε ñáΓπ. │
- ├──────────────────┼────────────────────────────────────────────┤
- │ SetFTi¼Ñ │ ôßΓá¡áó½¿óáÑΓ óαѼ∩ ¿ ñáΓπ »«ß½Ññ¡Ñ⌐ ºá»¿ß¿│
- │ │ Σá⌐½á. │
- ├──────────────────┼────────────────────────────────────────────┤
- │ SetTi¼Ñ │ ôßΓá¡áó½¿óáÑΓ ó «»Ñαᵿ«¡¡«⌐ ß¿ßΓÑ¼Ñ ΓѬπ-│
- │ │ ΘÑÑ óαѼ∩. │
- ├──────────────────┼────────────────────────────────────────────┤
- │ UnpackTi¼Ñ │ ÅαÑ«íαáºπÑΓ τÑΓδαÑσíá⌐Γ«ó«Ñ π»á¬«óá¡¡«⌐│
- │ │ ß¿¼ó«½∞¡«Ñ »αÑñßΓáó½Ñ¡¿Ñ ñáΓδ ¿ óαѼѡ¿│
- │ │ ñ½¿¡¡«ú« µÑ½«ú« Γ¿»á, ó«ºóαáΘáѼ«ú« »α«µÑ-│
- │ │ ñπαἿ GetFTi¼Ñ, FindFirst, FindNext ó αáß-│
- │ │ »á¬«óá¡¡πε ºá»¿ß∞ DateTi¼Ñ. │
- └──────────────────┴────────────────────────────────────────────┘
-
- Åα«µÑñπαδ ¿ Σπ¡¬µ¿¿ «íß½πª¿óá¡¿∩ »αÑαδóá¡¿⌐
- ┌──────────────────┬────────────────────────────────────────────┐
- │ Åα«µÑñπαá │ Ä»¿ßá¡¿Ñ │
- ├──────────────────┼────────────────────────────────────────────┤
- │ GetIntVÑß │ 髺óαáΘáÑΓ áñαÑß, ß«σαá¡Ñ¡¡δ⌐ ó ºáñá¡¡«¼│
- │ │ óÑ¬Γ«αÑ »αÑαδóá¡¿⌐. │
- ├──────────────────┼────────────────────────────────────────────┤
- │ Intr │ éδ»«½¡∩ÑΓ ºáñá¡¡«Ñ »α«úαá¼¼¡«Ñ »αÑαδóá¡¿Ñ.│
- ├──────────────────┼────────────────────────────────────────────┤
-
- B.Pascal 7 & Objects/LR - 261 -
-
- │ îsDos │ éδ»«½¡∩ÑΓ ó맮ó Σπ¡¬µ¿¿ DOS. │
- ├──────────────────┼────────────────────────────────────────────┤
- │ SetIntVÑß │ ôßΓá¡áó½¿óáÑΓ »« ºáñá¡¡«¼π áñαÑßπ ºáñá¡¡δ⌐│
- │ │ óÑ¬Γ«α »αÑαδóá¡¿∩. │
- └──────────────────┴────────────────────────────────────────────┘
-
- öπ¡¬µ¿¿, »α«óÑα∩εΘ¿Ñ ß«ßΓ«∩¡¿Ñ ñ¿ß¬á
- ┌──────────────────┬────────────────────────────────────────────┐
- │ öπ¡¡¬µ¿∩ │ Ä»¿ßá¡¿Ñ │
- ├──────────────────┼────────────────────────────────────────────┤
- │ DiskFrÑÑ │ 髺óαáΘáÑΓ τ¿ß½« ßó«í«ñ¡δσ íá⌐Γ ¡á ñ¿ß¬Ñ ó│
- │ │ ºáñá¡¡«¼ ñ¿ß¬«ó«ñÑ. │
- ├──────────────────┼────────────────────────────────────────────┤
- │ DiskSize │ 髺óαáΘáÑΓ »«½¡δ⌐ «íΩѼ ó íá⌐Γáσ ºáñá¡¡«ú«│
- │ │ ñ¿ß¬á. │
- └──────────────────┴────────────────────────────────────────────┘
-
- Åα«µÑñπαδ «íαáí«Γ¬¿ Σá⌐½«ó
- ┌──────────────────┬────────────────────────────────────────────┐
- │ Åα«µÑñπαá │ Ä»¿ßá¡¿Ñ │
- ├──────────────────┼────────────────────────────────────────────┤
- │ FExpand │ é«ß»α¿¡¿¼áÑΓ ¿¼∩ Σá⌐½á ¿ ó«ºóαáΘáÑΓ »«½¡«Ñ│
- │ │ πΓ«τ¡Ñ¡¡«Ñ ¿¼∩ (ñ¿ß¬, ¬áΓὫú, αáßΦ¿αÑ¡¿Ñ).│
- ├──────────────────┼────────────────────────────────────────────┤
- │ FSearch │ êΘÑΓ Σá⌐½ ó ß»¿ß¬Ñ ¬áΓὫú«ó. │
- ├──────────────────┼────────────────────────────────────────────┤
- │ FindFirst │ Åα«¿ºó«ñ¿Γ »«¿ß¬ ó ºáñá¡¡«¼ (¿½¿ ΓѬπΘѼ)│
- │ │ ¬áΓὫúÑ ºá»¿ß¿, ß«ñÑন¼«Ñ ¬«Γ«α«⌐ ß«ó»á-│
- │ │ ñáÑΓ ß ºáñá¡¡δ¼ ¿¼Ñ¡Ñ¼ Σá⌐½á ¿ áΓα¿íπΓἿ.│
- ├──────────────────┼────────────────────────────────────────────┤
- │ FindNext │ 髺óαáΘáÑΓ ß½ÑñπεΘπε ºá»¿ß∞, ¿¼∩ Σá⌐½á ¿│
- │ │ áΓα¿íπΓδ ó ¬«Γ«α«⌐ ß«ó»áñáεΓ ß ΓѼ¿, ¬«Γ«-│
- │ │ αδÑ í뫨 ºáñá¡δ »α¿ »αÑñδñπΘѼ «íαáΘÑ¡¿¿ ¬│
- │ │ »α«µÑñπαÑ FindFirst. │
- ├──────────────────┼────────────────────────────────────────────┤
- │ GetFAttr │ 髺óαáΘáÑΓ áΓα¿íπΓδ Σá⌐½á. │
- ├──────────────────┼────────────────────────────────────────────┤
- │ SetFAttr │ ôßΓá¡áó½¿óáÑΓ áΓα¿íπΓδ Σá⌐½á. │
- └──────────────────┴────────────────────────────────────────────┘
-
- öπ¡¬µ¿¿ π»αáó½Ñ¡¿∩ «»Ñαᵿ«¡¡«⌐ ßαÑñ«⌐
- ┌──────────────────┬────────────────────────────────────────────┐
- │ öπ¡¬µ¿∩ │ Ä»¿ßá¡¿Ñ │
- ├──────────────────┼────────────────────────────────────────────┤
- │ EnvCount │ 髺óαáΘáÑΓ τ¿ß½« ßΓ᫬, ß«ñÑαªáΘ¿σß∩ ó «»Ñ-│
- │ │ αᵿ«¡¡«⌐ ßαÑñÑ DOS. │
- ├──────────────────┼────────────────────────────────────────────┤
- │ EnvStr │ 髺óαáΘáÑΓ ºáñá¡¡πε ßΓ᫬𠫻Ñαᵿ«¡¡«⌐│
- │ │ ßαÑñδ. │
- ├──────────────────┼────────────────────────────────────────────┤
- │ GetEnv │ 髺óαáΘáÑΓ º¡áτÑ¡¿Ñ ºáñá¡¡«⌐ »ÑαѼѡ¡«⌐│
- │ │ «»Ñαᵿ«¡¡«⌐ ßαÑñδ. │
- └──────────────────┴────────────────────────────────────────────┘
-
- B.Pascal 7 & Objects/LR - 262 -
-
-
- Åα«µÑñπαδ π»αáó½Ñ¡¿∩ »α«µÑßßἿ
- ┌──────────────────┬────────────────────────────────────────────┐
- │ Åα«µÑñπαá │ Ä»¿ßá¡¿Ñ │
- ├──────────────────┼────────────────────────────────────────────┤
- │ EσÑßutÑ │ éδ»«½¡∩ÑΓ ºáñá¡¡πε »α«úαá¼¼π ß π¬áºá¡¡«⌐│
- │ │ ¬«¼á¡ñ¡«⌐ ßΓ᫬«⌐. │
- ├──────────────────┼────────────────────────────────────────────┤
- │ Keep │ æ«σαá¡∩ÑΓ (»αѬαáΘáÑΓ óδ»«½¡Ñ¡¿Ñ ¿ ß«σαá¡∩-│
- │ │ ÑΓ ó »á¼∩Γ¿) »αѬαáΓ¿óΦπε αáí«Γπ »α«úαá¼¼π,│
- │ │ «ßΓáó½∩∩ ÑÑ αѺ¿ñÑ¡Γ¡«⌐ ó »á¼∩Γ¿. │
- ├──────────────────┼────────────────────────────────────────────┤
- │ SwapVectors │ îÑ¡∩ÑΓ ¼ÑßΓἿ ß«ñÑন¼«Ñ ß«σαá¡Ñ¡¡δσ óѬ-│
- │ │ Γ«α«ó »αÑαδóá¡¿⌐ ¿ ΓѬπΘ¿σ óÑ¬Γ«α«ó. │
- └──────────────────┴────────────────────────────────────────────┘
-
- Åα«τ¿Ñ »α«µÑñπαδ ¿ Σπ¡¬µ¿¿
- ┌──────────────────┬────────────────────────────────────────────┐
- │Åα«µÑñπαá/Σπ¡¬µ¿∩ │ Ä»¿ßá¡¿Ñ │
- ├──────────────────┼────────────────────────────────────────────┤
- │ DosVersion │ 髺óαáΘáÑΓ ¡«¼Ñα óÑαß¿¿ «»Ñαᵿ«¡¡«⌐ ß¿ßΓÑ-│
- │ │ ¼δ DOS. │
- ├──────────────────┼────────────────────────────────────────────┤
- │ GetCBreak │ 髺óαáΘáÑΓ »α«óÑα∩Ѽ«Ñ DOS ß«ßΓ«∩¡¿Ñ│
- │ │ Ctrl+Break. │
- ├──────────────────┼────────────────────────────────────────────┤
- │ SetCBreak │ ôßΓá¡áó½¿óáÑΓ »α«óÑα∩Ѽ«Ñ DOS ß«ßΓ«∩¡¿Ñ│
- │ │ Ctrl+Break. │
- ├──────────────────┼────────────────────────────────────────────┤
- │ GetVerify │ 髺óαáΘáÑΓ ß«ßΓ«∩¡¿Ñ Σ½áúá »α«óÑન ó DOS. │
- ├──────────────────┼────────────────────────────────────────────┤
- │ SetVerify │ ôßΓá¡áó½¿óáÑΓ ß«ßΓ«∩¡¿Ñ Σ½áúá »α«óÑન ó│
- │ │ DOS. │
- └──────────────────┴────────────────────────────────────────────┘
-
-
-
- B.Pascal 7 & Objects/LR - 263 -
-
- è«¡ßΓá¡Γδ, Γ¿»δ ¿ »ÑαѼѡ¡δÑ ¼«ñπ½∩ Dos
- ─────────────────────────────────────────────────────────────────
-
- é ñá¡¡«¼ αáºñÑ½Ñ ¬αáΓ¬« «íßπªñáεΓß∩ ¬«¡ßΓá¡Γδ, Γ¿»δ ¿ »ÑαÑ-
- ¼Ñ¡¡δÑ, «»αÑñѽ∩ѼδÑ ó ¼«ñπ½Ñ Dos. ü«½ÑÑ ñÑΓá½∞¡á∩ ¿¡Σ«α¼áµ¿∩ ß«-
- ñÑনΓß∩ ó αáºñÑ½Ñ "è«¡ßΓá¡Γδ Σ½áú«ó" (º¡áτÑ¡¿Ñ FParity) ó â½áóÑ
- 1 ("æ»αáó«τ¡¿¬ »« í¿í½¿«ΓѬÑ") "æ»αáó«τ¡«ú« απ¬«ó«ñßΓóá »α«úαá¼-
- ¼¿ßΓá".
-
- âαπ»»δ ¬«¡ßΓá¡Γ
- ┌────────────────────────────┬──────────────────────────────────┐
- │ âαπ»»á ¬«¡ßΓá¡Γ │ Ä»¿ßá¡¿Ñ │
- ├────────────────────────────┼──────────────────────────────────┤
- │ ö½áú¿ │ êß»«½∞ºπεΓß∩ ñ½∩ »α«óÑન «Γñѽ∞-│
- │ │ ¡δσ Σ½áú«ó »«ß½Ñ ó맮óá Σπ¡¬µ¿⌐│
- │ │ Intr ¿½¿ MsDos. ¥Γ« Σ½áú¿:│
- │ │ FParity, FAuxiliary, FZero,│
- │ │ FSign, FOverflow, fCarry. │
- ├────────────────────────────┼──────────────────────────────────┤
- │ fmXXXX │ Ä»αÑñѽ∩ÑΓ ñ«»πßΓ¿¼δÑ º¡áτÑ¡¿∩│
- │ │ »«½∩ Mode ºá»¿ß¿ TextRec ΓѬßΓ«-│
- │ │ ó«ú« Σá⌐½á: fmClosed, fmInput,│
- │ │ fmOutput, fmInOut. │
- ├────────────────────────────┼──────────────────────────────────┤
- │ ÇΓα¿íπΓδ Σá⌐½á │ êß»«½∞ºπεΓß∩ ñ½∩ »«ßΓα«Ñ¡¿∩ áΓ-│
- │ │ α¿íπΓ«ó, »α¿¼Ñ¡∩Ѽδσ ó FindFirst,│
- │ │ GetFAttr ¿ SetFAttr. ¥Γ« Σ½áú¿│
- │ │ ReadOnly, Hidden, SysFile,│
- │ │ VolumeID, Directory, Archive,│
- │ │ AnyFile. │
- └────────────────────────────┴──────────────────────────────────┘
-
- Æ¿»δ
- ────────────────────────────────────────────────────────────────
-
- é ¼«ñπ½Ñ Dos «»αÑñѽ∩εΓß∩ ß½ÑñπεΘ¿Ñ Γ¿»δ:
-
- ┌──────────────────────────┬────────────────────────────────────┐
- │ Æ¿» │ Ä»¿ßá¡¿Ñ │
- ├──────────────────────────┼────────────────────────────────────┤
- │ Æ¿» ºá»¿ß¿ Σá⌐½á │ Ä»αÑñѽѡ¿∩ ºá»¿ßÑ⌐, ¿ß»«½∞ºπεΘ¿Ñ-│
- │ │ ß∩ ó Borland Pascal ñ½∩ ó¡πΓαÑ¡¡¿σ│
- │ │ µÑ½Ñ⌐, «»¿ßδóáεΓß∩ Γá¬ªÑ ó ¼«ñπ½Ñ│
- │ │ Dos. Æ¿» FilÑRÑß ¿ß»«½∞ºπÑΓß∩ ¬á¬│
- │ │ ñ½∩ Γ¿»¿º«óá¡¡δσ, Γᬠ¿ ñ½∩ ¡ÑΓ¿»¿-│
- │ │ º«óá¡¡δσ Σá⌐½«ó, ó Γ« óαѼ∩, ¬á¬│
- │ │ TÑσtRÑß »αÑñßΓáó½∩ÑΓ ß«í«⌐ ó¡πΓαÑ¡-│
- │ │ ¡¿⌐ Σ«α¼áΓ »ÑαѼѡ¡«⌐ ΓѬßΓ«ó«ú«│
- │ │ Γ¿»á. │
- ├──────────────────────────┼────────────────────────────────────┤
- │ Registers │ ÅÑαѼѡ¡δÑ αÑú¿ßΓα«ó«ú« Γ¿»á »α¿¼Ñ-│
- │ │ ¡∩εΓß∩ ó »α«µÑñπαáσ Intr ¿ îsDos│
- │ │ ñ½∩ ºáñá¡¿∩ ß«ñÑন¼«ú« óσ«ñ¡«ú«│
-
- B.Pascal 7 & Objects/LR - 264 -
-
- │ │ αÑú¿ßΓαá ¿ »α«óÑન ß«ñÑন¼«ú« óδ-│
- │ │ σ«ñ¡«ú« αÑú¿ßΓαá »α¿ »αÑαδóá¡¿∩σ,│
- │ │ ¿ß»«½∞ºπεΘ¿σß∩ ó »α«úαá¼¼¡«¼ «íÑß-│
- │ │ »ÑτÑ¡¿¿. │
- ├──────────────────────────┼────────────────────────────────────┤
- │ DateTime │ ÅÑαѼѡ¡δÑ Γ¿»á DateTi¼Ñ (ñáΓδ ¿│
- │ │ óαѼѡ¿) ¿ß»«½∞ºπεΓß∩ ó »α«µÑñπαáσ│
- │ │ Unαá߬Æi¼Ñ ¿ Éá߬Æi¼Ñ ñ½∩ á¡á½¿ºá,│
- │ │ π»á¬«ó¬¿ ¿ »«ßΓα«Ñ¡¿∩ τÑΓδαÑσíá⌐Γ«-│
- │ │ ó«ú« º¡áτÑ¡¿∩, ß«ñÑαªáΘÑú« ñáΓπ ¿│
- │ │ óαѼ∩. ¥Γ« τÑΓδαÑσíá⌐Γ«ó«Ñ º¡áτÑ¡¿Ñ│
- │ │ ¿ß»«½∞ºπÑΓß∩ ºáΓѼ ó »α«µÑñπαáσ│
- │ │ GetFTi¼Ñ, SetTi¼Ñ, FindFirst ¿│
- │ │ FindNÑσt. │
- ├──────────────────────────┼────────────────────────────────────┤
- │ SearchRec │ ÅÑαѼѡ¡δÑ Γ¿»á SearchRÑß ¿ß»«½∞ºπ-│
- │ │ εΓß∩ ó »α«µÑñπαáσ FindFirst ¿│
- │ │ Findnext ñ½∩ »α«ß¼«Γαá ¬áΓὫú«ó│
- │ │ Σá⌐½«ó. │
- ├──────────────────────────┼────────────────────────────────────┤
- │ æΓ᫬«óδÑ Γ¿»δ │ ¥Γ¿ ßΓ᫬«óδÑ Γ¿»δ «»αÑñѽѡδ ó ¼«-│
- │ αáí«Γδ ß Σá⌐½á¼¿ │ ñπ½Ñ Dos ¿ ¿ß»«½∞ºπεΓß∩ ñ½∩ αáí«Γδ│
- │ │ ß ¿¼Ñ¡á¼¿ Σá⌐½«ó ¿ ¼áαΦαπΓ«ó »α¿│
- │ │ ó맮óÑ ßΓ᫬«ó«⌐ »α«µÑñπαδ FSplit.│
- │ │ ¥Γ« Γ¿»δ ComStr, PathStr, DirStr,│
- │ │ NameStr, ExtStr. │
- └──────────────────────────┴────────────────────────────────────┘
-
- ÅÑαѼѡ¡δÑ ¼«ñπ½∩ Dos
- ─────────────────────────────────────────────────────────────────
-
- î¡«ú¿¼¿ »«ñ»α«úαἼἿ ¼«ñπ½∩ Dos ñ½∩ ß««íΘÑ¡¿∩ «í «Φ¿í¬Ñ
- ¿ß»«½∞ºπÑΓß∩ »ÑαѼѡ¡á∩ DosError.
-
-
-
- B.Pascal 7 & Objects/LR - 265 -
-
- Åα«µÑñπαδ ¿ Σπ¡¬µ¿¿ ¼«ñπ½∩ WinDos
- ─────────────────────────────────────────────────────────────────
-
- ì¿ªÑ »ÑαÑτ¿ß½Ñ¡δ »α«µÑñπαδ ¿ Σπ¡¬µ¿¿ ¼«ñπ½∩ WinDos. ùΓ«íδ
- ¿ß»«½∞º«óáΓ∞ ¿σ, óδ ñ«½ª¡δ ßßδ½áΓ∞ß∩ ¡á ¼«ñπ½∞ WinDos ß »«¼«Θ∞ε
- «»ÑαáΓ«αá »α«úαá¼¼δ uses.
-
- Åα«µÑñπαδ ñ½∩ αáí«Γδ ß ñáΓ«⌐ ¿ óαѼѡѼ ¼«ñπ½∩ WinDos
- ┌──────────────────┬────────────────────────────────────────────┐
- │ Åα«µÑñπαá │ Ä»¿ßá¡¿Ñ │
- ├──────────────────┼────────────────────────────────────────────┤
- │ GetDate │ 髺óαáΘáÑΓ ΓѬπΘπε ñáΓπ, πßΓá¡«ó½Ñ¡¡πε ó│
- │ │ «»Ñαᵿ«¡¡«⌐ ß¿ßΓѼÑ. │
- ├──────────────────┼────────────────────────────────────────────┤
- │ GetFTime │ 髺óαáΘáÑΓ ñáΓπ ¿ óαѼ∩ »«ß½Ññ¡Ñ⌐ ºá»¿ß¿│
- │ │ Σá⌐½á. │
- ├──────────────────┼────────────────────────────────────────────┤
- │ GetTi¼Ñ │ 髺óαáΘáÑΓ ΓѬπΘÑÑ óαѼ∩, πßΓá¡«ó½Ñ¡¡«Ñ ó│
- │ │ «»Ñαᵿ«¡¡«⌐ ß¿ßΓѼÑ. │
- ├──────────────────┼────────────────────────────────────────────┤
- │ ÉackTi¼Ñ │ ÅαÑ«íαáºπÑΓ ºá»¿ß∞ DateTi¼Ñ ó τÑΓδαÑσíá⌐Γ«-│
- │ │ ó«Ñ π»á¬«óá¡¡«Ñ ß¿¼ó«½∞¡«Ñ »αÑñßΓáó½Ñ¡¿Ñ│
- │ │ ñáΓδ ¿ óαѼѡ¿ ñ½¿¡¡«ú« µÑ½«ú« Γ¿»á, ¬«Γ«-│
- │ │ α«Ñ ¿ß»«½∞ºπÑΓß∩ ó »α«µÑñπαÑ SetTi¼Ñ. │
- ├──────────────────┼────────────────────────────────────────────┤
- │ SetDate │ ôßΓá¡áó½¿óáÑΓ ñ½∩ «»Ñαᵿ«¡¡«⌐ ß¿ßΓѼδ ΓÑ-│
- │ │ ¬πΘπε ñáΓπ. │
- ├──────────────────┼────────────────────────────────────────────┤
- │ SetFTi¼Ñ │ ôßΓá¡áó½¿óáÑΓ óαѼ∩ ¿ ñáΓπ »«ß½Ññ¡Ñ⌐ ºá»¿ß¿│
- │ │ Σá⌐½á. │
- ├──────────────────┼────────────────────────────────────────────┤
- │ SetTi¼Ñ │ ôßΓá¡áó½¿óáÑΓ ó «»Ñαᵿ«¡¡«⌐ ß¿ßΓÑ¼Ñ ΓѬπ-│
- │ │ ΘÑÑ óαѼ∩. │
- ├──────────────────┼────────────────────────────────────────────┤
- │ UnpackTi¼Ñ │ ÅαÑ«íαáºπÑΓ τÑΓδαÑσíá⌐Γ«ó«Ñ π»á¬«óá¡¡«⌐│
- │ │ ß¿¼ó«½∞¡«Ñ »αÑñßΓáó½Ñ¡¿Ñ ñáΓδ ¿ óαѼѡ¿│
- │ │ ñ½¿¡¡«ú« µÑ½«ú« Γ¿»á, ó«ºóαáΘáѼ«ú« »α«µÑ-│
- │ │ ñπαἿ GetFTi¼Ñ, FindFirst, FindNext ó αáß-│
- │ │ »á¬«óá¡¡πε ºá»¿ß∞ DateTi¼Ñ. │
- └──────────────────┴────────────────────────────────────────────┘
-
- Åα«µÑñπαδ «íß½πª¿óá¡¿∩ »αÑαδóá¡¿⌐ ¼«ñπ½∩ WinDos
- ┌──────────────────┬────────────────────────────────────────────┐
- │ Åα«µÑñπαá │ Ä»¿ßá¡¿Ñ │
- ├──────────────────┼────────────────────────────────────────────┤
- │ GetIntVÑß │ 髺óαáΘáÑΓ áñαÑß, ß«σαá¡Ñ¡¡δ⌐ ó ºáñá¡¡«¼│
- │ │ óÑ¬Γ«αÑ »αÑαδóá¡¿⌐. │
- ├──────────────────┼────────────────────────────────────────────┤
- │ Intr │ éδ»«½¡∩ÑΓ ºáñá¡¡«Ñ »α«úαá¼¼¡«Ñ »αÑαδóá¡¿Ñ.│
- ├──────────────────┼────────────────────────────────────────────┤
- │ îsDos │ éδ»«½¡∩ÑΓ ó맮ó Σπ¡¬µ¿¿ DOS. │
- ├──────────────────┼────────────────────────────────────────────┤
- │ SetIntVÑß │ ôßΓá¡áó½¿óáÑΓ »« ºáñá¡¡«¼π áñαÑßπ ºáñá¡¡δ⌐│
-
- B.Pascal 7 & Objects/LR - 266 -
-
- │ │ óÑ¬Γ«α »αÑαδóá¡¿∩. │
- └──────────────────┴────────────────────────────────────────────┘
-
- öπ¡¬µ¿¿ ¼«ñπ½∩ WinDos, »α«óÑα∩εΘ¿Ñ ß«ßΓ«∩¡¿Ñ ñ¿ß¬á
- ┌──────────────────┬────────────────────────────────────────────┐
- │ öπ¡¡¬µ¿∩ │ Ä»¿ßá¡¿Ñ │
- ├──────────────────┼────────────────────────────────────────────┤
- │ DiskFrÑÑ │ 髺óαáΘáÑΓ τ¿ß½« ßó«í«ñ¡δσ íá⌐Γ ¡á ñ¿ß¬Ñ ó│
- │ │ ºáñá¡¡«¼ ñ¿ß¬«ó«ñÑ. │
- ├──────────────────┼────────────────────────────────────────────┤
- │ DiskSize │ 髺óαáΘáÑΓ »«½¡δ⌐ «íΩѼ ó íá⌐Γáσ ºáñá¡¡«ú«│
- │ │ ñ¿ß¬á. │
- └──────────────────┴────────────────────────────────────────────┘
-
- Åα«µÑñπαδ αáí«Γδ ß Σá⌐½á¼¿ ¼«ñπ½∩ WinDos
- ┌──────────────────┬────────────────────────────────────────────┐
- │ Åα«µÑñπαá │ Ä»¿ßá¡¿Ñ │
- ├──────────────────┼────────────────────────────────────────────┤
- │ FileExpand │ é«ß»α¿¡¿¼áÑΓ ¿¼∩ Σá⌐½á ¿ ó«ºóαáΘáÑΓ »«½¡«Ñ│
- │ │ πΓ«τ¡Ñ¡¡«Ñ ¿¼∩ (ñ¿ß¬, ¬áΓὫú, αáßΦ¿αÑ¡¿Ñ).│
- ├──────────────────┼────────────────────────────────────────────┤
- │ FileSearch │ êΘÑΓ Σá⌐½ ó ß»¿ß¬Ñ ¬áΓὫú«ó. │
- ├──────────────────┼────────────────────────────────────────────┤
- │ FileSplit │ Éáºí¿óáÑΓ »«½¡«Ñ ¿¼∩ Σá⌐½á ¡á Γα¿ ¬«¼»«¡Ñ¡-│
- │ │ Γá (ñ¿ß¬, ¬áΓὫú, ¿¼∩ ¿ αáßΦ¿αÑ¡¿Ñ). │
- ├──────────────────┼────────────────────────────────────────────┤
- │ FindFirst │ Åα«¿ºó«ñ¿Γ »«¿ß¬ ó ºáñá¡¡«¼ (¿½¿ ΓѬπΘѼ)│
- │ │ ¬áΓὫúÑ ºá»¿ß¿, ß«ñÑন¼«Ñ ¬«Γ«α«⌐ ß«ó»á-│
- │ │ ñáÑΓ ß ºáñá¡¡δ¼ ¿¼Ñ¡Ñ¼ Σá⌐½á ¿ áΓα¿íπΓἿ.│
- ├──────────────────┼────────────────────────────────────────────┤
- │ FindNext │ 髺óαáΘáÑΓ ß½ÑñπεΘπε ºá»¿ß∞, ¿¼∩ Σá⌐½á ¿│
- │ │ áΓα¿íπΓδ ó ¬«Γ«α«⌐ ß«ó»áñáεΓ ß ΓѼ¿, ¬«Γ«-│
- │ │ αδÑ í뫨 ºáñá¡δ »α¿ »αÑñδñπΘѼ «íαáΘÑ¡¿¿ ¬│
- │ │ »α«µÑñπαÑ FindFirst. │
- ├──────────────────┼────────────────────────────────────────────┤
- │ GetFAttr │ 髺óαáΘáÑΓ áΓα¿íπΓδ Σá⌐½á. │
- ├──────────────────┼────────────────────────────────────────────┤
- │ SetFAttr │ ôßΓá¡áó½¿óáÑΓ áΓα¿íπΓδ Σá⌐½á. │
- └──────────────────┴────────────────────────────────────────────┘
-
- Åα«µÑñπαδ ¿ Σπ¡¬µ¿¿ ñ½∩ αáí«Γδ ß ¬áΓὫúἿ
- ┌──────────────────┬────────────────────────────────────────────┐
- │ Åα«µÑñπαá/Σπ¡¬µ¿∩│ Ä»¿ßá¡¿Ñ │
- ├──────────────────┼────────────────────────────────────────────┤
- │ CreateDir │ 櫺ñáÑΓ ¡«óδ⌐ »«ñ¬áΓὫú. │
- ├──────────────────┼────────────────────────────────────────────┤
- │ GetCurDir │ 髺óαáΘáÑΓ ΓѬπΘ¿⌐ ¬áΓὫú ¡á ºáñá¡¡«¼ ñ¿ß-│
- │ │ ¬Ñ. │
- ├──────────────────┼────────────────────────────────────────────┤
- │ RemoveDir │ ôñá½∩ÑΓ »«ñ¬áΓὫú. │
- ├──────────────────┼────────────────────────────────────────────┤
- │ SetCurDir │ 꺼ѡ∩ÑΓ ΓѬπΘ¿⌐ ¬áΓὫú. │
- └──────────────────┴────────────────────────────────────────────┘
-
- B.Pascal 7 & Objects/LR - 267 -
-
-
- Åα«µÑñπαδ ¿ Σπ¡¬µ¿¿ «íß½πª¿óá¡¿∩ »αÑαδóá¡¿⌐ ¼«ñπ½∩ WinDos
- ┌──────────────────┬────────────────────────────────────────────┐
- │ Åα«µÑñπαá │ Ä»¿ßá¡¿Ñ │
- ├──────────────────┼────────────────────────────────────────────┤
- │ GetArgCount │ 髺óαáΘáÑΓ τ¿ß½« »áαá¼ÑΓα«ó, »ÑαÑñá¡¡δσ│
- │ │ »α«úαá¼¼Ñ ó ¬«¼á¡ñ¡«⌐ ßΓ᫬Ñ. │
- ├──────────────────┼────────────────────────────────────────────┤
- │ GetArgStr │ 髺óαáΘáÑΓ ºáñá¡¡δ⌐ áαúπ¼Ñ¡Γ ¬«¼á¡ñ¡«⌐│
- │ │ ßΓ᫬¿. │
- ├──────────────────┼────────────────────────────────────────────┤
- │ GetEnvVar │ 髺óαáΘáÑΓ π¬áºáΓѽ∞ ¡á º¡áτÑ¡¿Ñ ºáñá¡¡«⌐│
- │ │ »ÑαѼѡ¡«⌐ «»Ñαᵿ«¡¡«⌐ ßαÑñδ. │
- └──────────────────┴────────────────────────────────────────────┘
-
- Åα«τ¿Ñ »α«µÑñπαδ ¿ Σπ¡¬µ¿¿ ¼«ñπ½∩ WinDos
- ┌──────────────────┬────────────────────────────────────────────┐
- │Åα«µÑñπαá/Σπ¡¬µ¿∩ │ Ä»¿ßá¡¿Ñ │
- ├──────────────────┼────────────────────────────────────────────┤
- │ DosVersion │ 髺óαáΘáÑΓ ¡«¼Ñα óÑαß¿¿ «»Ñαᵿ«¡¡«⌐ ß¿ßΓÑ-│
- │ │ ¼δ DOS. │
- ├──────────────────┼────────────────────────────────────────────┤
- │ GetCBreak │ 髺óαáΘáÑΓ »α«óÑα∩Ѽ«Ñ DOS ß«ßΓ«∩¡¿Ñ│
- │ │ Ctrl+Break. │
- ├──────────────────┼────────────────────────────────────────────┤
- │ SetCBreak │ ôßΓá¡áó½¿óáÑΓ »α«óÑα∩Ѽ«Ñ DOS ß«ßΓ«∩¡¿Ñ│
- │ │ Ctrl+Break. │
- ├──────────────────┼────────────────────────────────────────────┤
- │ SetVerify │ ôßΓá¡áó½¿óáÑΓ ß«ßΓ«∩¡¿Ñ Σ½áúá »α«óÑન ó│
- │ │ DOS. │
- └──────────────────┴────────────────────────────────────────────┘
-
-
-
- B.Pascal 7 & Objects/LR - 268 -
-
- è«¡ßΓá¡Γδ, Γ¿»δ ¿ »ÑαѼѡ¡δÑ ¼«ñπ½∩ WinDos
- ─────────────────────────────────────────────────────────────────
-
- é ñá¡¡«¼ αáºñÑ½Ñ ¬αáΓ¬« «íßπªñáεΓß∩ ¬«¡ßΓá¡Γδ, Γ¿»δ ¿ »ÑαÑ-
- ¼Ñ¡¡δÑ, «»αÑñѽ∩ѼδÑ ó ¼«ñπ½Ñ WinDos. ü«½ÑÑ ñÑΓá½∞¡á∩ ¿¡Σ«α¼áµ¿∩
- ß«ñÑনΓß∩ ó αáºñÑ½Ñ "è«¡ßΓá¡Γδ Σ½áú«ó" (º¡áτÑ¡¿Ñ FParity) ó â½á-
- óÑ 1 ("æ»αáó«τ¡¿¬ »« í¿í½¿«ΓѬÑ") "æ»αáó«τ¡«ú« απ¬«ó«ñßΓóá »α«ú-
- αá¼¼¿ßΓá".
-
- âαπ»»δ ¬«¡ßΓá¡Γ
- ┌────────────────────────────┬──────────────────────────────────┐
- │ âαπ»»á ¬«¡ßΓá¡Γ │ Ä»¿ßá¡¿Ñ │
- ├────────────────────────────┼──────────────────────────────────┤
- │ ö½áú¿ │ êß»«½∞ºπεΓß∩ ñ½∩ »α«óÑન «Γñѽ∞-│
- │ │ ¡δσ Σ½áú«ó »«ß½Ñ ó맮óá Σπ¡¬µ¿⌐│
- │ │ Intr ¿½¿ MsDos. ¥Γ« Σ½áú¿:│
- │ │ FParity, FAuxiliary, FZero,│
- │ │ FSign, FOverflow, fCarry. │
- ├────────────────────────────┼──────────────────────────────────┤
- │ fmXXXX │ Ä»αÑñѽ∩ÑΓ ñ«»πßΓ¿¼δÑ º¡áτÑ¡¿∩│
- │ │ »«½∩ Mode ºá»¿ß¿ TextRec ΓѬßΓ«-│
- │ │ ó«ú« Σá⌐½á: fmClosed, fmInput,│
- │ │ fmOutput, fmInOut. │
- ├────────────────────────────┼──────────────────────────────────┤
- │ faXXXX │ êß»«½∞ºπεΓß∩ ñ½∩ »«ßΓα«Ñ¡¿∩ áΓ-│
- │ │ α¿íπΓ«ó, ¿σ »α«óÑન ¿ ¿º¼Ñ¡Ñ¡¿∩│
- │ │ ó »α«µÑñπαáσ ¿ Σπ¡¬µ¿∩σ αáí«Γδ ß│
- │ │ Σá⌐½á¼¿. ¥Γ« ¬«¡ßΓá¡Γδ faHidden,│
- │ │ faSysFile, faVolumeID, faDirecto-│
- │ │ ry, faArchive, faAnyFile. │
- ├────────────────────────────┼──────────────────────────────────┤
- │ fsXXXX │ îá¬ß¿¼á½∞¡δÑ ñ½¿¡δ ¬«¼»«¡Ñ¡Γ«ó│
- │ │ ¿¼Ñ¡¿ Σá⌐½á, ¿ß»«½∞ºπѼδσ ó »«ñ-│
- │ │ »α«úαá¼¼áσ FileSearch ¿ File-│
- │ │ Expand. ¥Γ« ¬«¡ßΓá¡Γδ: fsPathNa-│
- │ │ me, fsDirectory, fsFileName,│
- │ │ fsExtension. │
- ├────────────────────────────┼──────────────────────────────────┤
- │ fcXXXX │ ö½áú¿, ó«ºóαáΘáѼδÑ Σπ¡¬µ¿Ñ⌐│
- │ │ FileSplit: fcExtension, fcFile-│
- │ │ Name, fcDirectory, fcWildcards. │
- └────────────────────────────┴──────────────────────────────────┘
-
-
-
- B.Pascal 7 & Objects/LR - 269 -
-
- Æ¿»δ
- ────────────────────────────────────────────────────────────────
-
- é ¼«ñπ½Ñ WinDos «»αÑñѽ∩εΓß∩ ß½ÑñπεΘ¿Ñ Γ¿»δ:
-
- ┌──────────────────────────┬────────────────────────────────────┐
- │ Æ¿» │ Ä»¿ßá¡¿Ñ │
- ├──────────────────────────┼────────────────────────────────────┤
- │ Æ¿» ºá»¿ß¿ Σá⌐½á │ Ä»αÑñѽѡ¿∩ ºá»¿ßÑ⌐, ¿ß»«½∞ºπεΘ¿Ñ-│
- │ │ ß∩ ó Borland Pascal ñ½∩ ó¡πΓαÑ¡¡¿σ│
- │ │ µÑ½Ñ⌐, «»¿ßδóáεΓß∩ Γá¬ªÑ ó ¼«ñπ½Ñ│
- │ │ Dos. Æ¿» TFilÑRÑß ¿ß»«½∞ºπÑΓß∩ ¬á¬│
- │ │ ñ½∩ Γ¿»¿º«óá¡¡δσ, Γᬠ¿ ñ½∩ ¡ÑΓ¿»¿-│
- │ │ º¿α«óá¡¡δσ Σá⌐½«ó, ó Γ« óαѼ∩, ¬á¬│
- │ │ TTÑσtRÑß »αÑñßΓáó½∩ÑΓ ß«í«⌐ ó¡πΓ-│
- │ │ αÑ¡¡¿⌐ Σ«α¼áΓ »ÑαѼѡ¡«⌐ ΓѬßΓ«ó«ú«│
- │ │ Γ¿»á. │
- ├──────────────────────────┼────────────────────────────────────┤
- │ TRegisters │ ÅÑαѼѡ¡δÑ αÑú¿ßΓα«ó«ú« Γ¿»á »α¿¼Ñ-│
- │ │ ¡∩εΓß∩ ó »α«µÑñπαáσ Intr ¿ îsDos│
- │ │ ñ½∩ ºáñá¡¿∩ ß«ñÑন¼«ú« óσ«ñ¡«ú«│
- │ │ αÑú¿ßΓαá ¿ »α«óÑન ß«ñÑন¼«ú« óδ-│
- │ │ σ«ñ¡«ú« αÑú¿ßΓαá »α¿ »αÑαδóá¡¿∩σ,│
- │ │ ¿ß»«½∞ºπεΘ¿σß∩ ó »α«úαá¼¼¡«¼ «íÑß-│
- │ │ »ÑτÑ¡¿¿. │
- ├──────────────────────────┼────────────────────────────────────┤
- │ TDateTime │ ÅÑαѼѡ¡δÑ Γ¿»á TDateTi¼Ñ (ñáΓδ ¿│
- │ │ óαѼѡ¿) ¿ß»«½∞ºπεΓß∩ ó »α«µÑñπαáσ│
- │ │ Unαá߬Æi¼Ñ ¿ Pá߬Æi¼Ñ ñ½∩ á¡á½¿ºá,│
- │ │ π»á¬«ó¬¿ ¿ »«ßΓα«Ñ¡¿∩ τÑΓδαÑσíá⌐Γ«-│
- │ │ ó«ú« º¡áτÑ¡¿∩, ß«ñÑαªáΘÑú« ñáΓπ ¿│
- │ │ óαѼ∩. ¥Γ« τÑΓδαÑσíá⌐Γ«ó«Ñ º¡áτÑ¡¿Ñ│
- │ │ ¿ß»«½∞ºπÑΓß∩ ºáΓѼ ó »α«µÑñπαáσ│
- │ │ GetFTi¼Ñ, SetTi¼Ñ, FindFirst ¿│
- │ │ FindNÑσt. │
- ├──────────────────────────┼────────────────────────────────────┤
- │ TSearchRec │ ÅÑαѼѡ¡δÑ Γ¿»á TSearchRÑß ¿ß»«½∞-│
- │ │ ºπεΓß∩ ó »α«µÑñπαáσ FindFirst ¿│
- │ │ Findnext ñ½∩ »α«ß¼«Γαá ¬áΓὫú«ó│
- │ │ Σá⌐½«ó. │
- └──────────────────────────┴────────────────────────────────────┘
-
- ÅÑαѼѡ¡δÑ ¼«ñπ½∩ WinDos
- ─────────────────────────────────────────────────────────────────
-
- î¡«ú¿¼¿ »«ñ»α«úαἼἿ ¼«ñπ½∩ WinDos ñ½∩ ß««íΘÑ¡¿∩ «í «Φ¿í¬Ñ
- ¿ß»«½∞ºπÑΓß∩ »ÑαѼѡ¡á∩ DosError.
-
-
-
- B.Pascal 7 & Objects/LR - 270 -
-
- ───────────────────────────────────────────────────────────────────────
- â½áóá 17. Åα«úαá¼¼¿α«óá¡¿Ñ ó ºáΘ¿ΘÑ¡¡«¼ αѪ¿¼Ñ DOS
- ─────────────────────────────────────────────────────────────────
-
- î¿¬α«»α«µÑßß«α 80286 ñáÑΓ ¡«óδ⌐ ß»«ß«í áñαÑßᵿ¿ ¬ »á¼∩Γ¿:
- ºáΘ¿ΘÑ¡¡δ⌐ αѪ¿¼ ó¿αΓπá½∞¡«⌐ áñαÑßᵿ¿ ¿½¿ »α«ßΓ« ºáΘ¿ΘÑ¡¡δ⌐ αÑ-
- ª¿¼. ¥Γ«Γ ¡«óδ⌐ αѪ¿¼ áñαÑßᵿ¿ ñáÑΓ Γα¿ «ß¡«ó¡δσ »αÑ¿¼πΘÑßΓóá:
-
- * ÇñαÑßᵿ∩ ¬ »á¼∩Γ¿ «íΩѼ«¼ ñ« 16 ¼Ñúáíá⌐Γ.
-
- * ï«ú¿τÑ߬«Ñ áñαÑß¡«Ñ »α«ßΓαá¡ßΓó«, »αÑóδΦáεΘÑÑ »α«ßΓαá¡ßΓó«
- Σ¿º¿τÑ߬¿σ áñαÑß«ó.
-
- * æ»«ß«í ¿º«½∩µ¿¿ »α«úαá¼¼ ñαπú «Γ ñαπúá, ΓᬠτΓ« «ñ¡á »α«ú-
- αá¼¼á ¡Ñ ¼«ªÑΓ ¡áαπΦáΓ∞ ñαπú«⌐ óδ»«½¡∩εΘÑ⌐ß∩ «ñ¡«óαѼѡ¡«
- ß ¡Ñ⌐ »α«úαá¼¼δ.
-
- æ »«¼«Θ∞ε Borland Pascal óδ ½Ñú¬« ¼«ªÑΓÑ »¿ßáΓ∞ αáí«ΓáεΘ¿Ñ ó
- ºáΘ¿ΘÑ¡¡«¼ αѪ¿¼Ñ »α¿¬½áñ¡δÑ »α«úαá¼¼δ DOS íѺ ¡Ñ«íσ«ñ¿¼«ßΓ¿ »α¿-
- ¼Ñ¡Ñ¡¿∩ ñ«»«½¡¿Γѽ∞¡«ú« "αáßΦ¿α¿Γѽ∩" DOS. éδ «í¡áαπª¿ΓÑ, τΓ«
- ¼¡«ú¿Ñ »α«úαá¼¼δ αÑá½∞¡«ú« αѪ¿¼á »αѬαáß¡« αáí«ΓáεΓ ó ºáΘ¿ΘÑ¡¡«¼
- αѪ¿¼Ñ. äá¡¡á∩ ú½áóá »«¼«ªÑΓ óá¼ ¼«ñ¿Σ¿µ¿α«óáΓ∞ ΓÑ »α«úαá¼¼δ, ¬«-
- Γ«αδÑ φΓ«ú« ¡Ñ ñѽáεΓ, ¿ »α«∩ß¡¿Γ ¡Ñ¬«Γ«αδÑ «ß¡«ó¡δÑ ¼«¼Ñ¡Γδ ºá-
- Θ¿ΘÑ¡¡«ú« αѪ¿¼á ¿ Ñú« «Γ½¿τ¿∩ «Γ αÑá½∞¡«ú« αѪ¿¼á.
-
- ùΓ« Γá¬«Ñ ºáΘ¿ΘÑ¡¡δ⌐ αѪ¿¼?
- ─────────────────────────────────────────────────────────────────
-
- Åα«µÑßß«α 80286 ¿ í«½ÑÑ »«ºñ¡¿Ñ »α«µÑßß«αδ »«ññÑনóáεΓ ñóá
- αѪ¿¼á «»Ñαᵿ⌐: ºáΘ¿ΘÑ¡¡δ⌐ αѪ¿¼ ¿ αÑá½∞¡δ⌐ αѪ¿¼. ÉÑá½∞¡δ⌐ αÑ-
- ª¿¼ ß«ó¼ÑßΓ¿¼ ß αáí«Γ«⌐ »α«µÑßß«αá 8086 ¿ »«ºó«½∩ÑΓ »α¿¬½áñ¡«⌐
- »α«úαá¼¼Ñ áñαÑß«óáΓ∞ß∩ ¬ »á¼∩Γ¿ «íΩѼ«¼ ñ« «ñ¡«ú« ¼Ñúáíá⌐Γá. çá-
- Θ¿ΘÑ¡¡δ⌐ αѪ¿¼ αáßΦ¿α∩ÑΓ ñ¿á»áº«¡ áñαÑßᵿ¿ ñ« 16 ¼Ñúáíá⌐Γ. Äß-
- ¡«ó¡«Ñ «Γ½¿τ¿Ñ ¼Ñªñπ αÑá½∞¡δ¼ ¿ ºáΘ¿ΘÑ¡¡δ¼ αѪ¿¼«¼ ºá¬½ετáÑΓß∩ ó
- ß»«ß«íÑ »αÑ«íαẫóá¡¿∩ »α«µÑßß«α«¼ ½«ú¿τÑ߬¿σ áñαÑß«ó ó Σ¿º¿τÑß-
- ¬¿Ñ. ï«ú¿τÑ߬¿Ñ áñαÑßá - φΓ« áñαÑßá, ¿ß»«½∞ºπѼδÑ ó »α¿¬½áñ¡«⌐
- »α«úαá¼¼Ñ. èᬠó αÑá½∞¡«¼, Γá¬ªÑ ¿ ó ºáΘ¿ΘÑ¡¡«¼ αѪ¿¼Ñ ½«ú¿τÑ߬¿⌐
- áñαÑß - φΓ« 32-αáºα∩ñ¡«Ñ º¡áτÑ¡¿Ñ, ß«ßΓ«∩ΘÑÑ ¿º 16-í¿Γ«ó«ú« ßÑ-
- ½Ñ¬Γ«αá (áñαÑßá ßÑú¼Ñ¡Γá) ¿ 16-í¿Γ«ó«ú« ß¼ÑΘÑ¡¿∩. ö¿º¿τÑ߬¿Ñ áñ-
- αÑßá - φΓ« áñαÑßá, ¬«Γ«αδÑ »α«µÑßß«α ¿ß»«½∞ºπÑΓ ñ½∩ «í¼Ñ¡á ñá¡¡δ-
- ¼¿ ß ¬«¼»«¡Ñ¡ΓἿ ß¿ßΓѼ¡«⌐ »á¼∩Γ¿. é αÑá½∞¡«¼ αѪ¿¼Ñ Σ¿º¿τÑ߬¿⌐
- áñαÑß »αÑñßΓáó½∩ÑΓ ß«í«⌐ 20-í¿Γ«ó«Ñ º¡áτÑ¡¿Ñ, á ó ºáΘ¿ΘÑ¡¡«¼ αÑ-
- ª¿¼Ñ - 24-í¿Γ«ó«Ñ.
-
-
- B.Pascal 7 & Objects/LR - 271 -
-
-
- è«úñá »α«µÑßß«α «íαáΘáÑΓß∩ ¬ »á¼∩Γ¿ (ñ½∩ óδí«α¬¿ ¿¡ßΓαπ¬µ¿¿
- ¿½¿ ºá»¿ß¿ »ÑαѼѡ¡«⌐), «¡ úÑ¡Ñα¿απÑΓ ¿º ½«ú¿τÑ߬«ú« áñαÑßá Σ¿º¿-
- τÑ߬¿⌐ áñαÑß. é αÑá½∞¡«¼ αѪ¿¼Ñ úÑ¡Ñαᵿ∩ Σ¿º¿τÑ߬«ú« áñαÑßá ß«ß-
- Γ«¿Γ ¿º ßñó¿úá ßÑ½Ñ¬Γ«αá (áñαÑßá ßÑú¼Ñ¡Γá) ¡á 4 í¿Γá ó½Ñó« (φΓ«
- «º¡áτáÑΓ π¼¡«ªÑ¡¿Ñ ¡á 16) ¿ »α¿íáó½Ñ¡¿∩ ß¼ÑΘÑ¡¿∩. Å«½πτÑ¡¡δ⌐ ó
- αѺπ½∞ΓáΓÑ 20-αáºα∩ñ¡δ⌐ áñαÑß ¿ß»«½∞ºπÑΓß∩ ºáΓѼ ñ½∩ ñ«ßΓπ»á ¬
- »á¼∩Γ¿.
-
- 16îí┌────────────────┐
- │ │
- ┌────────┐ │ │
- │æ¼ÑΘÑ¡¿Ñ├─┐ │ │
- └────────┘ │ │ │
- │ ├────────────────┤┐
- └──┼─────>▒▒▒▒▒▒▒▒▒▒│├ ßÑú¼Ñ¡Γ 64è
- ┌─>├────────────────┤┘
- │ │ │
- │ │ Åα«ßΓαá¡ßΓó« │
- ┌────────┐ ┌──────┐ │ │ áñαÑß«ó │
- │æÑ½Ñ¬Γ«α├─┤ x 16 ├─────┘ │ │
- └────────┘ └──────┘ │ │
- 0└────────────────┘
-
-
- É¿ß. 17.1 âÑ¡Ñαᵿ∩ Σ¿º¿τÑ߬«ú« áñαÑßá ó αÑá½∞¡«¼ αѪ¿¼Ñ.
-
-
- B.Pascal 7 & Objects/LR - 272 -
-
-
- ùΓ«íδ »«½πτ¿Γ∞ Σ¿º¿τÑ߬¿⌐ áñαÑß ó ºáΘ¿ΘÑ¡¡«¼ αѪ¿¼Ñ, ßѽѬ-
- Γ«α¡á∩ τáßΓ∞ ½«ú¿τÑ߬«ú« áñαÑßá ¿ß»«½∞ºπÑΓß∩ ó ¬áτÑßΓóÑ ¿¡ñѬßá
- Γáí½¿µδ ñÑß¬α¿»Γ«α«ó. çỿß∞ ó Γáí½¿µÑ ñÑß¬α¿»Γ«α«ó ß«ñÑনΓ
- 24-í¿Γ«óδ⌐ íẫóδ⌐ áñαÑß, ¬ ¬«Γ«α«¼π ºáΓѼ ñ½∩ «íαẫóá¡¿∩ Σ¿º¿-
- τÑ߬«ú« áñαÑßá »α¿íáó½∩ÑΓß∩ ß¼ÑΘÑ¡¿Ñ ½«ú¿τÑ߬«ú« áñαÑßá.
-
- 16îí┌────────────────┐
- │ │
- ┌────────┐ │ │
- │æ¼ÑΘÑ¡¿Ñ├─┐ │ │
- └────────┘ │ │ │
- │ ├────────────────┤┐
- Æáí½¿µá ñÑß¬α¿»Γ«α«ó └──┼─────>▒▒▒▒▒▒▒▒▒▒│├ ßÑú¼Ñ¡Γ 64è
- ┌──────┐ ┌─>├────────────────┤┘
- ├──────┤ │ │ │
- ├──────┤ │ │ Åα«ßΓαá¡ßΓó« │
- ├──────┤ │ │ áñαÑß«ó │
- ┌─>├──────┤───┘ │ │
- │ ├──────┤ │ │
- │ ├──────┤ 0└────────────────┘
- │ ├──────┤
- │ ├──────┤
- │ ├──────┤
- │ ├──────┤
- │ ├──────┤
- │ ├──────┤
- │ ├──────┤
- │ ├──────┤
- ┌────────┐ │ ├──────┤
- │æÑ½Ñ¬Γ«α├─┘ └──────┘
- └────────┘
-
- É¿ß. 17.2 âÑ¡Ñαᵿ∩ Σ¿º¿τÑ߬«ú« áñαÑßá ó ºáΘ¿ΘÑ¡¡«¼ αѪ¿¼Ñ.
-
- èáªñá∩ ºá»¿ß∞ ó Γáí½¿µÑ ñÑß¬α¿»Γ«α«ó ¡áºδóáÑΓß∩ ñÑß¬α¿»Γ«α«¼
- ¿ «»αÑñѽ∩ÑΓ ßÑú¼Ñ¡Γ ó »á¼∩Γ¿. çỿß∞ Γáí½¿µδ ñÑß¬α¿»Γ«α«ó ºá¡¿-
- ¼áÑΓ 8 íá⌐Γ, á ºá»¿ßá¡¡á∩ ó ñÑß¬α¿»Γ«αÑ ¿¡Σ«α¼áµ¿∩ ó¬½ετáÑΓ ó ßÑ-
- í∩ íẫóδ⌐ áñαÑß, »αÑñѽ∞¡«Ñ º¡áτÑ¡¿Ñ ¿ Σ½áú¿ »«½¡«¼«τ¿⌐ ñ«ßΓπ»á
- ¬ ßÑú¼Ñ¡Γπ.
-
- çỿ߿ »αÑñѽ∞¡«ú« º¡áτÑ¡¿∩ ßÑú¼Ñ¡Γá ¿ »«½¡«¼«τ¿⌐ ñ«ßΓπ»á ó
- ñÑß¬α¿»Γ«αÑ «»αÑñѽ∩εΓ αẼÑα ¿ Γ¿» ßÑú¼Ñ¡Γá. æÑú¼Ñ¡Γδ ¼«úπΓ
- ¿¼ÑΓ∞ αẼÑα «Γ 1 ñ« 65536 íá⌐Γ ¿ ¼«úπΓ íδΓ∞ ßÑú¼Ñ¡ΓἿ ¬«ñá ¿½¿
- ßÑú¼Ñ¡ΓἿ ñá¡¡δσ. æÑú¼Ñ¡Γδ ¬«ñá ¼«úπΓ ß«ñÑαªáΓ∞ óδ»«½¡∩ѼδÑ ¼á-
- Φ¿¡¡δÑ ¿¡ßΓαπ¬µ¿¿ ¿ ñ«ßΓπ»¡δÑ Γ«½∞¬« »« τΓÑ¡¿ε ñá¡¡δÑ. æÑú¼Ñ¡Γδ
- ñá¡¡δσ ¼«úπΓ ß«ñÑαªáΓ∞ ñá¡¡δÑ, ñ«ßΓπ»¡δÑ »« τΓÑ¡¿ε ¿ ºá»¿ß¿. çá-
- »¿ßδóáΓ∞ ñá¡¡δÑ ó ßÑú¼Ñ¡Γδ ¬«ñá ¿½¿ óδ»«½¡∩Γ∞ ¿¡ßΓαπ¬µ¿¿ ó ßÑú-
- ¼Ñ¡Γáσ ñá¡¡δσ ¡Ñ󫺼«ª¡«. ïεíá∩ »«»δΓ¬á ßñѽáΓ∞ φΓ« ¿½¿ »«»δΓ¬á
- ñ«ßΓπ»á ¬ ñá¡¡δ¼ ó¡Ñ úαá¡¿µ ßÑú¼Ñ¡Γá óδºδóáÑΓ «íΘ¿⌐ ßí«⌐ »« ¡á-
- απΦÑ¡¿ε ºáΘ¿Γδ (ß«¬αáΘÑ¡¡« ßí«⌐ GP). Å«φΓ«¼π αѪ¿¼ ¿ ¡áºδóáÑΓß∩
- ºáΘ¿ΘÑ¡¡δ¼.
-
-
- B.Pascal 7 & Objects/LR - 273 -
-
- Å« ñá¡¡«¼π áñαÑßπ ó αÑá½∞¡«¼ αѪ¿¼Ñ »α¿¬½áñ¡á∩ »α«úαá¼¼á ¼«-
- ªÑΓ «»αÑñѽ¿Γ∞ Σ¿º¿τÑ߬¿⌐ áñαÑß. é ºáΘ¿ΘÑ¡¡«¼ αѪ¿¼Ñ φΓ« «íδτ¡«
- ¡Ñ Γá¬, »«ß¬«½∞¬π ßÑ½Ñ¬Γ«α¡á∩ τáßΓ∞ ½«ú¿τÑ߬«ú« áñαÑßá ∩ó½∩ÑΓß∩
- ¿¡ñѬ߫¼ ó Γáí½¿µÑ ñÑß¬α¿»Γ«α«ó, ¿ ßá¼ ßÑ½Ñ¬Γ«α ¡Ñ ¿¼ÑÑΓ »α∩¼«ú«
- «Γ¡«ΦÑ¡¿∩ ¬ óδτ¿ß½Ñ¡¿ε Σ¿º¿τÑ߬«ú« áñαÑßá. ¥Γ« ñáÑΓ Γ« »αÑ¿¼π-
- ΘÑßΓó«, τΓ« π»αáó½Ñ¡¿Ñ ó¿αΓπá½∞¡«⌐ »á¼∩Γ∞ε ¼«ª¡« αÑ὿º«óáΓ∞, ¡Ñ
- ó½¿∩∩ ¡á »α¿¬½áñ¡πε »α«úαá¼¼π. ìá»α¿¼Ñα, »πΓѼ »α«ßΓ«ú« «í¡«ó½Ñ-
- ¡¿∩ »«½∩ íẫó«ú« áñαÑßá ñÑß¬α¿»Γ«αá ßÑú¼Ñ¡Γá, «»Ñαᵿ«¡¡á∩ ß¿ß-
- ΓÑ¼á ¼«ªÑΓ »ÑαѼÑΘáΓ∞ ßÑú¼Ñ¡Γ ó Σ¿º¿τÑ߬«⌐ »á¼∩Γ¿ íѺ ó½¿∩¡¿∩ ¡á
- ¿ß»«½∞ºπεΘπε ßÑú¼Ñ¡Γ »α¿¬½áñ¡πε »α«úαá¼¼π. Åਪ½áñ¡á∩ »α«úαá¼¼á
- ßßδ½áÑΓß∩ Γ«½∞¬« ¡á ßÑ½Ñ¬Γ«α ßÑú¼Ñ¡Γá, ¿ ¡á ßÑ½Ñ¬Γ«α ¡Ñ ó½¿∩εΓ
- ¿º¼Ñ¡Ñ¡¿∩ ó ñÑß¬α¿»Γ«αÑ.
-
- Åਪ½áñ¡á∩ »α«úαá¼¼á αÑñ¬« ¿¼ÑÑΓ ñѽ« ß ñÑß¬α¿»Γ«αἿ. Åα¿
- ¡Ñ«íσ«ñ¿¼«ßΓ¿ ñÑß¬α¿»Γ«αδ ß«ºñáεΓß∩ ¿ π¡¿τΓ«ªáεΓß∩ «»Ñαᵿ«¡¡«⌐
- ß¿ßΓѼ«⌐ ¿ áñ¼¿¡¿ßΓαáΓ«α«¼ »á¼∩Γ¿, á »α¿¬½áñ¡á∩ »α«úαá¼¼á º¡áÑΓ «
- ß««ΓóÑΓßΓóπεΘ¿σ ßÑ½Ñ¬Γ«αáσ. æÑ½Ñ¬Γ«αδ á¡á½«ú¿τ¡δ «»¿ßáΓѽ∩¼ Σá⌐-
- ½«ó - ß Γ«τ¬¿ ºαÑ¡¿∩ »α¿¬½áñ¡«⌐ »α«úαá¼¼δ φΓ« Γ«, τΓ« «íß½πª¿óá-
- ÑΓß∩ «»Ñαᵿ«¡¡«⌐ ß¿ßΓѼ«⌐, ¡« ó «»Ñαᵿ«¡¡«⌐ ß¿ßΓÑ¼Ñ «¡¿ αáí«Γá-
- εΓ ¬á¬ ¿¡ñѬßδ ß«ñÑαªáΘ¿σ ñ«»«½¡¿Γѽ∞¡πε ¿¡Σ«α¼áµ¿ε Γáí½¿µ.
-
-
-
- B.Pascal 7 & Objects/LR - 274 -
-
- ÉáßΦ¿αÑ¡¿∩ Borland ºáΘ¿ΘÑ¡¡«ú« αѪ¿¼á DOS
- ─────────────────────────────────────────────────────────────────
-
- ÉáßΦ¿αÑ¡¿∩ ºáΘ¿ΘÑ¡¡«ú« αѪ¿¼á Borland Pascal αÑ὿º«óá¡δ τÑ-
- αѺ ñóá ¬«¼»«¡Ñ¡Γá: DPMI-ßÑαóÑα (Σá⌐½ DPMI16BI.OVL) ¿ áñ¼¿¡¿ßΓαá-
- Γ«α φΓá»á óδ»«½¡Ñ¡¿∩ (Σá⌐½ RTM.EXE).
-
- DPMI-ßÑαóÑα
- ─────────────────────────────────────────────────────────────────
-
- ê¡ΓÑαΣÑ⌐ß ºáΘ¿ΘÑ¡¡«ú« αѪ¿¼á DOS (DPMI) - φΓ« «Γαáß½Ñó«⌐
- ßΓá¡ñáαΓ, »«ºó«½∩εΘ¿⌐ »α«úαἼἠDOS á»»áαáΓ¡«-¡Ñºáó¿ß¿¼δ¼ »πΓѼ
- »«½πτ¿Γ∞ ñ«ßΓπ» ¬ αáºó¿Γδ¼ ßαÑñßΓóá¼ »Ñαß«¡á½∞¡δσ ¬«¼»∞εΓÑα«ó,
- αÑ὿º«óá¡¡δσ ¡á »α«µÑßß«αáσ 80286, 80386 ¿ 80486. Ä»αÑñѽѡδ
- Σπ¡¬µ¿¿ DPMI ñ½∩ «íß½πª¿óá¡¿∩ Γáí½¿µ ñÑß¬α¿»Γ«α«ó, »ÑαѬ½ετÑ¡¿∩
- αѪ¿¼á, αáß»αÑñѽѡ¿∩ αáßΦ¿αÑ¡¡«⌐ »á¼∩Γ¿, óδñѽѡ¿∩ »á¼∩Γ¿ DOS,
- π»αáó½Ñ¡¿∩ »«ñß¿ßΓѼ«⌐ »αÑαδóá¡¿⌐ ¿ óºá¿¼«ñÑ⌐ßΓó¿∩ ß »α«úαἼἿ
- αÑá½∞¡«ú« αѪ¿¼á.
-
- ÉáßΦ¿αÑ¡¿∩ ºáΘ¿ΘÑ¡¡«ú« αѪ¿¼á Borland Pascal «ß¡«óá¡δ ¡á
- ߻ѵ¿Σ¿¬áµ¿¿ DPMI 0.9. ò«Γ∩ ߻ѵ¿Σ¿¬áµ¿∩ DPMI ¡Ñ »«ññÑনóáÑΓ óδ-
- º«óδ DOS ¿º »α¿¬½áñ¡δσ »α«úαá¼¼ ºáΘ¿ΘÑ¡¡«ú« αѪ¿¼á, DPMI-ßÑαóÑα
- Borland ¿ ßÑαóÑαδ ¼¡«ú¿σ ñαπú¿σ Σ¿α¼, ó¬½ετá∩ π½πτΦÑ¡¡δ⌐ αѪ¿¼
- Windows 3.x, »«ññÑনóáεΓ »αÑαδóá¡¿Ñ INT 21H ¿ ñαπú¿Ñ ßΓá¡ñáαΓ¡δÑ
- »αÑαδóá¡¿∩ DOS ¿ BIOS, ¿ß»«½∞ºπѼδÑ «íδτ¡« ó »α¿½«ªÑ¡¿∩σ DOS ºá-
- Θ¿ΘÑ¡¡«ú« αѪ¿¼á.
-
- Çñ¼¿¡¿ßΓαáΓ«α φΓá»á óδ»«½¡Ñ¡¿∩
- ─────────────────────────────────────────────────────────────────
-
- Çñ¼¿¡¿ßΓαáΓ«α φΓá»á óδ»«½¡Ñ¡¿∩ (RTM.EXE) ∩ó½∩ÑΓß∩ ¡áñßΓα«⌐-
- ¬«⌐ DPMI-ßÑαóÑαá ¿ «íÑß»Ñτ¿óáΓ∞ ñ½∩ »α¿¬½áñ¡δσ »α«úαá¼¼ ºáΘ¿ΘÑ¡-
- ¡«ú« αѪ¿¼á ¡Ñ߬«½∞¬« ß½πªÑí¡δσ Σπ¡¬µ¿⌐. Çñ¼¿¡¿ßΓαáΓ«α φΓá»á óδ-
- »«½¡Ñ¡¿∩ ß«ñÑαª¿Γ ºáúαπºτ¿¬ ºáΘ¿ΘÑ¡¡«ú« αѪ¿¼á ¿ áñ¼¿¡¿ßΓαáΓ«α
- »á¼∩Γ¿ ºáΘ¿ΘÑ¡¡«ú« αѪ¿¼á ¿ »«ºó«½∩ÑΓ »«ñ DPMI ß«ßπΘÑßΓó«óáΓ∞
- ¡Ñ߬«½∞¬¿¼ ¬½¿Ñ¡Γá¼ ºáΘ¿ΘÑ¡¡«ú« αѪ¿¼á.
-
- Åα¿½«ªÑ¡¿∩ ºáΘ¿ΘÑ¡¡«ú« αѪ¿¼á Borland ¿ß»«½∞ºπεΓ ΓÑ ªÑ Σ«α-
- ¼áΓδ óδ»«½¡∩Ѽδσ Σá⌐½«ó, τΓ« ¿ Windows 3.x ¿ OS/2 1.x. Åα«úαá¼¼-
- ¡δ⌐ ºáúαπºτ¿¬ áñ¼¿¡¿ßΓαáΓ«αá φΓá»á óδ»«½¡Ñ¡¿∩ ¼«ªÑΓ ºáúαπªáΓ∞ ¬á¬
- óδ»«½¡∩ѼδÑ Σá⌐½δ (.EXE), Γᬠ¿ ñ¿¡á¼¿τÑ߬¿ ¬«¼»«¡πѼδÑ í¿í½¿«ΓÑ-
- ¬¿ (.DLL).
-
- Çñ¼¿¡¿ßΓαáΓ«α »á¼∩Γ¿ ºáΘ¿ΘÑ¡¡«ú« αѪ¿¼á »«ºó«½∩ÑΓ »α¿¬½áñ¡δ¼
- »α«úαἼἠºáΘ¿ΘÑ¡¡«ú« αѪ¿¼á αáß»αÑñѽ∩Γ∞ í½«¬¿ ñ¿¡á¼¿τÑ߬«⌐ »á-
- ¼∩Γ¿. Çñ¼¿¡¿ßΓαáΓ«α »á¼∩Γ¿ »«ññÑনóáÑΓ Σ¿¬ß¿α«óá¡¡δÑ, »ÑαѼÑΘáÑ-
- ¼δÑ ¿ óδúαπªáѼδÑ í½«¬¿, á Γá¬ªÑ «íß½πª¿óáÑΓ ¬«ñ ¿ ßÑú¼Ñ¡Γδ ñá¡-
- ¡δσ »α¿¬½áñ¡«⌐ »α«úαá¼¼δ. êß»«½∞ºπ∩ π¡¿¬á½∞¡δÑ ñ½∩ ºáΘ¿ΘÑ¡¡«ú«
- αѪ¿¼á ßαÑñßΓóá, áñ¼¿¡¿ßΓαáΓ«α »á¼∩Γ¿ Σπ¡¬µ¿«¡¿απÑΓ Γá¬ªÑ ó ¬á-
- τÑßΓóÑ áñ¼¿¡¿ßΓαáΓ«αá «óÑα½ÑÑó, áóΓ«¼áΓ¿τÑ߬¿ ºáúαπªá∩ ¿ óδúαπªá∩
- ßÑú¼Ñ¡Γδ ¬«ñá (»« φΓ«⌐ »α¿τ¿¡Ñ »α¿¬½áñ¡«⌐ »α«úαá¼¼Ñ ºáΘ¿ΘÑ¡¡«ú«
- αѪ¿¼á ¡Ñ ΓαÑíπÑΓß∩ ¼«ñπ½∞ Overlay).
-
-
- B.Pascal 7 & Objects/LR - 275 -
-
- Åਪ½áñ¡δÑ »α«úαá¼¼δ ¼«úπΓ »«½πτ¿Γ∞ ñ«ßΓπ» ¬ »α«úαἼἠºá-
- Θ¿ΘÑ¡¡«ú« αѪ¿¼á τÑαѺ ¼«ñπ½∞ WinAPI. î«ñπ½∞ WinAPI, «»¿ßá¡¡δ⌐ ó
- ß½ÑñπεΘѼ αáºñѽÑ, αÑ὿ºπÑΓ »«ñ¼¡«ªÑßΓó« Σπ¡¬µ¿⌐ API (»α¿¬½áñ¡«-
- ú« »α«úαá¼¼¡«ú« ¿¡ΓÑαΣÑ⌐ßá) Windows, «íÑß»Ñτ¿óá∩ π»αáó½Ñ¡¿Ñ »á-
- ¼∩Γ∞ε, «íß½πª¿óá¡¿Ñ »α«úαá¼¼¡δσ ¼«ñπ½Ñ⌐, π»αáó½Ñ¡¿Ñ αÑßπαßἿ,
- ºáúαπº¬π ñ¿¡á¼¿τÑ߬¿ ¬«¼»«¡πѼδσ í¿í½¿«ΓѬ ¿ ñ«ßΓπ» ¬ ßÑ½Ñ¬Γ«αá¼
- ¡á ¡¿ª¡Ñ¼ πα«ó¡Ñ. ū߬«½∞¬π áñ¼¿¡¿ßΓαáΓ«α φΓá»á óδ»«½¡Ñ¡¿∩ API
- ∩ó½∩ÑΓß∩ »«ñ¼¡«ªÑßΓó«¼ API Windows, óδ ¼«ªÑΓÑ ¡á»¿ßáΓ∞ ß«ó¼ÑßΓ¿-
- ¼δÑ ¡á πα«ó¡Ñ ñó«¿τ¡«ú« ¬«ñá ñ¿¡á¼¿τÑ߬¿ ¬«¼»«¡πѼδÑ í¿í½¿«ΓѬ¿,
- ¬«Γ«αδÑ ¼«ª¡« ¿ß»«½∞º«óáΓ∞ ¿ ó ºáΘ¿ΘÑ¡¡«¼ αѪ¿¼Ñ DOS, ¿ ó
- Windows.
-
-
-
- B.Pascal 7 & Objects/LR - 276 -
-
- Éáºαáí«Γ¬á »α¿¬½áñ¡δσ »α«úαá¼¼ DOS ºáΘ¿ΘÑ¡¡«ú« αѪ¿¼á
- ─────────────────────────────────────────────────────────────────
-
- ìỿßá¡¿Ñ »α¿¬½áñ¡«⌐ »α«úαá¼¼δ ºáΘ¿ΘÑ¡¡«ú« αѪ¿¼á ¡Ñ »αÑñß-
- Γáó½∩ÑΓ ß«í«⌐ ß½«ª¡«⌐ ºáñáτ¿. éá¼ ¡Ñ ¡πª¡« íÑß»«¬«¿Γ∞ß∩ « ßѽѬ-
- Γ«αáσ ¿ áñαÑßáσ »á¼∩Γ¿. Ä»Ñαᵿ«¡¡á∩ ß¿ßΓѼá ß αáßΦ¿αÑ¡¿∩¼¿
- Borland óßÑ ñѽáÑΓ ºá óáß. öá¬Γ¿τÑ߬¿, í«½∞Φ¿¡ßΓó« óáΦ¿σ »α«úαá¼¼
- αÑá½∞¡«ú« αѪ¿¼á ¼«ªÑΓ »αѬαáß¡« αáí«ΓáΓ∞ ó ºáΘ¿ΘÑ¡¡«¼ αѪ¿¼Ñ. é
- ß½ÑñπεΘ¿σ αáºñѽáσ «»¿ßδóáÑΓß∩ ¡Ñ¬«Γ«αá∩ αạ¿µá ¼Ñªñπ αÑá½∞¡δ¼ ¿
- ºáΘ¿ΘÑ¡¡δ¼ αѪ¿¼«¼, « ¬«Γ«αδσ óδ ñ«½ª¡δ º¡áΓ∞ »α¿ αáºαáí«Γ¬Ñ
- »α¿¬½áñ¡«⌐ »α«úαá¼¼δ ºáΘ¿ΘÑ¡¡«ú« αѪ¿¼á.
-
-
- ìáñѪ¡«Ñ »α«úαá¼¼¿α«óá¡¿Ñ ó ºáΘ¿ΘÑ¡¡«¼ αѪ¿¼Ñ
- ─────────────────────────────────────────────────────────────────
-
- æπΘÑßΓóπÑΓ ¡Ñ߬«½∞¬« »α¿Ñ¼«ó, ¿ß»«½∞ºπѼδσ «íδτ¡« ó »α«úαá¼-
- ¼áσ αÑá½∞¡«ú« αѪ¿¼á, ¬«Γ«αδÑ ó »α«úαá¼¼áσ ºáΘ¿ΘÑ¡¡«ú« αѪ¿¼á íπ-
- ñπΓ »α¿ó«ñ¿Γ∞ ¬ «íΘѼπ ¡áαπΦÑ¡¿ε ºáΘ¿Γδ (ßí«⌐ GP). Borland Pascal
- »α¿ ßí«Ñ GP óδó«ñ¿Γ «Φ¿í¬π φΓá»á óδ»«½¡Ñ¡¿∩ 216. æí«⌐ GP »α«¿ßσ«-
- ñ¿Γ, ¬«úñá óδ »δΓáÑΓÑß∞ »«½πτ¿Γ∞ ñ«ßΓπ» ¬ »á¼∩Γ¿, ¬ ¬«Γ«α«⌐ óáΦá
- »α¿¬½áñ¡á∩ »α«úαá¼¼á «íαáΘáΓ∞ß∩ ¡Ñ ¼«ªÑΓ. Ä»Ñαᵿ«¡¡á∩ ß¿ßΓѼá
- «ßΓá¡áó½¿óáÑΓ »α¿¬½áñ¡πε »α«úαá¼¼π, ¡« ßí«∩ ß¿ßΓÑ¼δ ¡Ñ »α«¿ßσ«-
- ñ¿Γ. ò«Γ∩ ßí«¿ GP ¿ »αѬαáΘáεΓ αáí«Γπ óáΦÑ⌐ »α«úαá¼¼δ, ß¿ßΓѼá
- "ºáΘ¿ΘÑ¡á" «Γ ßí«∩. è ßí«ε GP »α¿ó«ñ¿Γ ß½ÑñπεΘÑÑ:
-
- * ºáúαπº¬á ó ßÑú¼Ñ¡Γ¡δÑ αÑú¿ßΓαδ ¡Ññ«»πßΓ¿¼δσ º¡áτÑ¡¿⌐;
-
- * «íαáΘÑ¡¿Ñ ¬ »á¼∩Γ¿ ó¡Ñ úαá¡¿µδ ßÑú¼Ñ¡Γá;
-
- * ºá»¿ß∞ ó ßÑú¼Ñ¡Γ ¬«ñá;
-
- * αáºδ¼Ñ¡«óá¡¿Ñ π¬áºáΓѽÑ⌐ nil.
-
- Åα¿¼Ñτá¡¿Ñ: æí«¿ »« ¡áαπΦÑ¡¿ε ºáΘ¿Γδ »αÑñ«σαá¡∩εΓ óáΦπ
- ß¿ßΓѼπ «Γ »½«σ«⌐ »αá¬Γ¿¬¿ »α«úαá¼¼¿α«óá¡¿∩.
-
-
-
- B.Pascal 7 & Objects/LR - 277 -
-
- çáúαπº¬á ó ßÑú¼Ñ¡Γ¡δÑ
- αÑú¿ßΓαδ ¡Ññ«»πßΓ¿¼δσ º¡áτÑ¡¿⌐
- ─────────────────────────────────────────────────────────────────
-
- è«úñá »α«µÑßß«α αáí«ΓáÑΓ ó ºáΘ¿ΘÑ¡¡«¼ αѪ¿¼Ñ, ßÑú¼Ñ¡Γ¡δÑ αÑ-
- ú¿ßΓαδ (CS, DS, ES ¿ SS) ¼«úπΓ ß«ñÑαªáΓ∞ Γ«½∞¬« ßÑ½Ñ¬Γ«αδ. Å«ß-
- ¬«½∞¬π ßÑ½Ñ¬Γ«αδ ∩ó½∩εΓß∩ ¿¡ñѬßἿ ó Γáí½¿µÑ ñÑß¬α¿»Γ«α«ó, «¡¿
- ¡Ñ ¿¼ÑεΓ Σ¿º¿τÑ߬«ú« «Γ¡«ΦÑ¡¿∩ ¬ »á¼∩Γ¿, ¡á ¬«Γ«απε ßßδ½áÑΓß∩.
- àß½¿ óδ »δΓáÑΓÑß∞ ºáúαπº¿Γ∞ ó ßÑú¼Ñ¡Γ¡δ⌐ αÑú¿ßΓα »α«¿ºó«½∞¡«Ñ
- º¡áτÑ¡¿Ñ, Γ« 󫺼«ª¡« »«½πτ¿ΓÑ ßí«⌐ GP, »«ß¬«½∞¬π φΓ« º¡áτÑ¡¿Ñ
- ¼«ªÑΓ ¡Ñ »αÑñßΓáó½∩Γ∞ ñ«»πßΓ¿¼«ú« ñÑß¬α¿»Γ«αá.
-
- öπ¡¬µ¿∩ Ptr ¿ ¼áßß¿óδ Mem
- ─────────────────────────────────────────────────────────────────
-
- Åα¿ αáºδ¼Ñ¡«óá¡¿¿ π¬áºáΓѽÑ⌐ ¬«¼»¿½∩Γ«α úÑ¡Ñα¿απÑΓ ¬«ñ ñ½∩
- ºáúαπº¬¿ ßÑú¼Ñ¡Γ¡«ú« αÑú¿ßΓαá. àß½¿ óδ ßΓα«¿ΓÑ π¬áºáΓѽ¿ ß »«-
- ¼«Θ∞ε ßΓá¡ñáαΓ¡«⌐ Σπ¡¬µ¿¿ Ptr, Γ« ¡πª¡« «íÑß»Ñτ¿Γ∞, τΓ«íδ ßÑú-
- ¼Ñ¡Γ¡á∩ τáßΓ∞ π¬áºáΓѽ∩ íδ½á ñ«»πßΓ¿¼δ¼ ßÑ½Ñ¬Γ«α«¼. ǡὫú¿τ¡«,
- »α¿ αáí«ΓÑ ß ¼áßß¿óἿ Mem, MemW ¿ MemL óδ ó¼ÑßΓ« Σ¿º¿τÑ߬¿σ áñ-
- αÑß«ó ñ«½ª¡δ ¿ß»«½∞º«óáΓ∞ß∩ ßÑ½Ñ¬Γ«αδ. ìá»α¿¼Ñα, »α¿ ñ«ßΓπ»Ñ ¬
- αáí«τÑ⌐ «í½áßΓ¿ ROM BIOS (ßÑú¼Ñ¡Γ $0040) ¿½¿ ¬ «í½áßΓ∩¼ ó¿ñÑ«»á-
- ¼∩Γ¿ (ßÑú¼Ñ¡Γδ $A000, $B000 ¿ $B800) ß½ÑñπÑΓ ¿ß»«½∞º«óáΓ∞ ó¼ÑßΓ«
- áíß«½εΓ¡δσ º¡áτÑ¡¿⌐ »ÑαѼѡ¡δÑ SegXXXX. (ÅÑαѼѡ¡δÑ SegXXXX «»¿-
- ßδóáεΓß∩ ¡¿ªÑ.)
-
- Çíß«½εΓ¡δÑ »ÑαѼѡ¡δÑ
- ─────────────────────────────────────────────────────────────────
-
- é ºáΘ¿ΘÑ¡¡«¼ αѪ¿¼Ñ óδ ¡Ñ ¼«ªÑΓÑ ºáñáóáΓ∞ áíß«½εΓ¡δ⌐ áñαÑß
- »ÑαѼѡ¡«⌐. ïεí«⌐ ¿ßσ«ñ¡δσ ¬«ñ, úñÑ ßÑú¼Ñ¡Γ ¿ ß¼ÑΘÑ¡¿Ñ ºáñáεΓß∩ ó
- «»ÑαáΓ«αÑ absolute, ¡πª¡« »ÑαÑ»¿ßáΓ∞. ìá»α¿¼Ñα, óá¼ ¼«ªÑΓ »«ΓαÑ-
- í«óáΓ∞ß∩ »«ßΓα«¿Γ∞ π¬áºáΓѽ∞, ¿ß»«½∞ºπ∩ »ÑαѼѡ¡δÑ SegXXXX.
-
-
-
- B.Pascal 7 & Objects/LR - 278 -
-
- Ä»Ñαᵿ¿ ß ßÑú¼Ñ¡ΓἿ
- ─────────────────────────────────────────────────────────────────
-
- ä«íáó½Ñ¡¿Ñ ¿½¿ óδτ¿Γá¡¿Ñ º¡áτÑ¡¿⌐ ¿º ßÑ½Ñ¬Γ«α¡«⌐ τáßΓ¿ π¬á-
- ºáΓѽ∩ «íδτ¡« ¡Ñ ñ«»π߬áÑΓß∩. ìá»α¿¼Ñα, ñ«íáó½Ñ¡¿Ñ ¬ ßÑ½Ñ¬Γ«α¡«⌐
- τáßΓ¿ π¬áºáΓѽ∩ $1000 ó αÑá½∞¡«¼ αѪ¿¼Ñ πóѽ¿τ¿óáÑΓ π¬áºáΓѽ∞ ¡á
- 64è, ¡« ó ºáΘ¿ΘÑ¡¡«¼ αѪ¿¼Ñ αѺπ½∞Γ¿απεΘ¿⌐ π¬áºáΓѽ∞ íπñÑΓ ¡Ññ«-
- »πßΓ¿¼δ¼. é¼ÑßΓ« φΓ«ú« ñ½∩ óδñѽѡ¿∩ ¿ π»αáó½Ñ¡¿∩ í½«¬á¼¿ »á¼∩Γ¿
- ß½ÑñπÑΓ ¿ß»«½∞º«óáΓ∞ Σπ¡¬µ¿ε GlobalXXXX ¼«ñπ½∩ WinAPI.
-
- é Borland Pascal ßπΘÑßΓóπÑΓ ß»«ß«í óδ»«½¡Ñ¡¿∩ áα¿Σ¼ÑΓ¿τÑ߬¿σ
- «»Ñαᵿ⌐ ß ßÑ½Ñ¬Γ«αἿ ß »«¼«Θ∞ε »ÑαѼѡ¡«⌐ SelectorInc (ß¼. ¡¿-
- ªÑ).
-
- êß»«½∞º«óá¡¿Ñ ßÑú¼Ñ¡Γ¡δσ
- αÑú¿ßΓα«ó ó ¬áτÑßΓóÑ óαѼѡ¡δσ »ÑαѼѡ¡δσ
- ─────────────────────────────────────────────────────────────────
-
- é αÑá½∞¡«¼ αѪ¿¼Ñ ¡Ñ¬«Γ«αδÑ ßΓáαδÑ »α«úαá¼¼δ ¡á áßßѼí½ÑαÑ
- ¿ß»«½∞ºπεΓ ßÑú¼Ñ¡Γ¡δÑ αÑú¿ßΓαδ ñ½∩ σαá¡Ñ¡¿∩ óαѼѡ¡δσ »ÑαѼѡ¡δσ.
- é ºáΘ¿ΘÑ¡¡«¼ αѪ¿¼Ñ φΓ« αáí«ΓáΓ∞ ¡Ñ íπñÑΓ, Γᬠ¬á¬ «íδτ¡« ß«σαá-
- ¡∩ѼδÑ ó ßÑú¼Ñ¡Γ¡δσ αÑú¿ßΓαáσ óαѼѡ¡δÑ º¡áτÑ¡¿∩ ¡Ñ ∩ó½∩εΓß∩ ñ«-
- »πßΓ¿¼δ¼¿ ßÑ½Ñ¬Γ«αἿ.
-
- ä«ßΓπ» ¬ »á¼∩Γ¿ ó¡Ñ úαá¡¿µ ßÑú¼Ñ¡Γá
- ─────────────────────────────────────────────────────────────────
-
- é αÑá½∞¡«¼ αѪ¿¼Ñ ¬áªñδ⌐ ßÑú¼Ñ¡Γ ¿¼ÑÑΓ αẼÑα 64è. é ºáΘ¿-
- ΘÑ¡¡«¼ αѪ¿¼Ñ ñÑß¬α¿»Γ«α ßÑú¼Ñ¡Γá ß«ñÑαª¿Γ »«½Ñ, ߻ѵ¿Σ¿µ¿απεΘÑÑ
- »αÑñѽ∞¡δ⌐ αẼÑα ßÑú¼Ñ¡Γá, ¿ Ñß½¿ óδ »δΓáÑΓÑß∞ «íαáΓ¿Γ∞ß∩ ¬ ñá¡-
- ¡δ¼ ó¡Ñ úαá¡¿µ ßÑú¼Ñ¡Γá, »« »«½πτ¿ΓÑ ßí«⌐ GP. Åα¿ ºáúαπº¬Ñ »α¿¬-
- ½áñ¡«⌐ »α«úαá¼¼δ áñ¼¿¡¿ßΓαáΓ«α φΓá»á óδ»«½¡Ñ¡¿∩ πßΓá¡áó½¿óáÑΓ ß«-
- «ΓóÑΓßΓóπεΘ¿Ñ »αÑñѽ∞¡δÑ º¡áτÑ¡¿∩ ñ½∩ ßÑú¼Ñ¡Γ«ó ¬«ñá, ñá¡¡δσ ¿
- ßΓѬá. èα«¼Ñ Γ«ú«, í½«¬ »á¼∩Γ¿, αáß»αÑñѽ∩Ѽδ⌐ ß »«¼«Θ∞ε Σπ¡¬µ¿¿
- GlobalAlloc ¼«ñπ½∩ WinAPI, ¿¼ÑÑΓ »αÑñѽ∞¡«Ñ º¡áτÑ¡¿Ñ ßÑú¼Ñ¡Γá,
- ß««ΓóÑΓßΓóπεΘÑÑ αẼÑαπ í½«¬á »á¼∩Γ¿.
-
-
-
- B.Pascal 7 & Objects/LR - 279 -
-
- çỿß∞ ó ßÑú¼Ñ¡Γ ¬«ñá
- ─────────────────────────────────────────────────────────────────
-
- é αÑá½∞¡«¼ αѪ¿¼Ñ ¼«ª¡« ºá»¿ßδóáΓ∞ »ÑαѼѡ¡δÑ ó ßÑú¼Ñ¡Γ ¬«-
- ñá, »«ß¬«½∞¬π αÑá½∞¡δÑ αѪ¿¼ ¡Ñ «»αÑñѽ∩ÑΓ, τΓ« ¼«ªÑΓ ¿ τΓ« ¡Ñ
- ¼«ªÑΓ ßπΘÑßΓó«óáΓ∞ ó ßÑú¼Ñ¡ΓÑ. é ºáΘ¿ΘÑ¡¡«¼ αѪ¿¼Ñ φΓ« ¡Ñ Γá¬.
- æÑ½Ñ¬Γ«α ºáΘ¿ΘÑ¡¡«ú« αѪ¿¼á ¿¼ÑÑΓ Σ½áú τΓÑ¡¿∩/ºá»¿ß¿ ¿½¿ ñ«ßΓπ»á
- Γ«½∞¬« »« τΓÑ¡¿ε, á ßÑ½Ñ¬Γ«αδ ¬«ñá óßÑúñá «Γ¼ÑτÑ¡δ ¬á¬ ñ«ßΓπ»¡δÑ
- Γ«½∞¬« »« τΓÑ¡¿ε. àß½¿ óδ »δΓáÑΓÑß∞ ºá»¿ßδóáΓ∞ ó ßÑ½Ñ¬Γ«α ßÑú¼Ñ¡-
- Γá ¬«ñá, »α«¿ßσ«ñ¿Γ ßí«⌐ GP. Äñ¡á¬« óδ ¼«ªÑΓÑ ¿ß»«½∞º«óáΓ∞ »ßÑó-
- ñ«¡¿¼ ¿ ¡á»¿ßáΓ∞ ßἫ¼«ñ¿Σ¿µ¿απεΘ¿⌐ß∩ ¬«ñ (ß¼. ¡¿ªÑ).
-
- Éáºδ¼Ñ¡«óá¡¿Ñ π¬áºáΓѽÑ⌐ nil
- ─────────────────────────────────────────────────────────────────
-
- Åα¿ »αÑ«íαẫóá¡¿¿ »α¿¬½áñ¡«⌐ »α«úαá¼¼δ αÑá½∞¡«ú« αѪ¿¼á ó
- ºáΘ¿ΘÑ¡¡δ⌐ αѪ¿¼, ó »α«úαá¼¼Ñ, ¬«Γ«αá∩ πªÑ ú«ñδ αáí«Γá½á íѺ «Φ¿-
- í«¬, 󫺼«ª¡« ó¡Ñºá»¡«Ñ »«∩ó½Ñ¡¿Ñ «»αÑñѽѡ¡δσ «Φ¿í«¬. ìá»α¿¼Ñα,
- óδ ¼«ªÑΓÑ ß½πτá⌐¡« αáºδ¼Ñ¡«óδóáΓ∞ π¬áºáΓѽ∞ nil, ¿½¿ «í¡áαπª¿ΓÑ,
- τΓ« óáΦá »α«úαá¼¼á ß«ñÑαª¿Γ "»«ΓÑα∩¡¡δÑ" π¬áºáΓѽ¿, ¬«Γ«αδÑ αáºδ-
- ¼Ñ¡«óδóáεΓß∩ »«ß½Ñ ¿σ «ßó«í«ªñÑ¡¿∩. é αÑá½∞¡«¼ αѪ¿¼Ñ Γá¬¿Ñ «Φ¿í-
- ¬¿ ¡Ñ «í∩ºáΓѽ∞¡« »α«∩ó½∩εΓß∩, ¡« ó ºáΘ¿ΘÑ¡¡«¼ αѪ¿¼Ñ «¡¿ «íδτ¡«
- »α¿ó«ñ∩Γ ¬ ßí«ε GP. æ«ú½áß¡« ßó«Ñ¼π ¡áºóá¡¿ε, ºáΘ¿ΘÑ¡¡δ⌐ αѪ¿¼
- º¡áτ¿Γѽ∞¡« ½πτΦÑ »αÑñ«σαá¡∩ÑΓ óáß «Γ «Φ¿í«¬, ßó∩ºá¡¡δσ ß π¬áºá-
- ⥫ﬨ.
-
- æÑú¼Ñ¡Γδ ¬«ñá ¿ ñá¡¡δσ
- ─────────────────────────────────────────────────────────────────
-
- ǡὫú¿τ¡« »α«úαá¼¼Ñ Borland Pascal αÑá½∞¡«ú« αѪ¿¼á, »α«ú-
- αá¼¼á ºáΘ¿ΘÑ¡¡«ú« αѪ¿¼á ß«ñÑαª¿Γ ¡Ñ߬«½∞¬« ßÑú¼Ñ¡Γ«ó ¬«ñá, ßÑú-
- ¼Ñ¡Γ ñá¡¡δσ ¿ ßÑú¼Ñ¡Γ ßΓѬá. Åα¿ ºáúαπº¬Ñ »α«úαá¼¼δ ºáΘ¿ΘÑ¡¡«ú«
- αѪ¿¼á áñ¼¿¡¿ßΓαáΓ«α φΓá»á óδ»«½¡Ñ¡¿∩ áóΓ«¼áΓ¿τÑ߬¿ óδñѽ∩ÑΓ ßÑ-
- ½Ñ¬Γ«αδ ñ½∩ ßÑú¼Ñ¡Γ«ó ¬«ñá, ñá¡¡δσ ¿ ßΓѬá. ä½∩ ßÑú¼Ñ¡Γ«ó ¬«ñá
- ß »«¼«Θ∞ε ñ¿αÑ¬Γ¿óδ ¬«¼»¿½∩Γ«αá $C ¼«ª¡« π»αáó½∩Γ∞ «Γñѽ∞¡δ¼¿ áΓ-
- α¿íπΓἿ. é τáßΓ¡«ßΓ¿, ßÑú¼Ñ¡Γδ ¬«ñá ¼«ª¡« ßñѽáΓ∞ »ÑαѼÑΘáÑ¼δ¼¿
- ¿½¿ Σ¿¬ß¿α«óá¡¡δ¼¿ ó Σ¿º¿τÑ߬«⌐ »á¼∩Γ¿, «¡¿ ¼«úπΓ ºáúαπªáΓ∞ß∩
- »αÑñóáα¿Γѽ∞¡« ¿½¿ »« ºá»α«ßπ, á Γá¬ªÑ ¼«úπΓ íδΓ∞ óδúαπªáÑ¼δ¼¿
- ¿½¿ »«ßΓ«∩¡¡δ¼¿.
-
- Åα¿¼Ñτá¡¿Ñ: Å«ñα«í¡ÑÑ « ñ¿αÑ¬Γ¿óÑ ¬«¼»¿½∩Γ«αá $C αáßß-
- ¬áºδóáÑΓß∩ ó â½áóÑ 21 ñá¡¡«ú« απ¬«ó«ñßΓóá ¿ ó â½áóÑ 2 ("ä¿-
- αÑ¬Γ¿óδ ¬«¼»¿½∩Γ«αá") "æ»αáó«τ¡«ú« απ¬«ó«ñßΓóá »α«úαá¼¼¿ß-
- Γá".
-
- ÇΓα¿íπΓδ ßÑú¼Ñ¡Γá ¬«ñá »«ºó«½∩εΓ óá¼ «í«º¡áτáΓ∞ ßÑú¼Ñ¡Γ ¬á¬
- ßΓáΓ¿τÑ߬¿⌐ (»ÑαѼÑΘáѼδ⌐, »αÑñóáα¿Γѽ∞¡« ºáúαπªáѼδ⌐, »«ßΓ«∩¡-
- ¡δ⌐) ¿½¿ ñ¿¡á¼¿τÑ߬¿⌐ (»ÑαѼÑΘáѼδ⌐, ºáúαπªáѼδ⌐ »« ºá»α«ßπ, óδú-
- απªáѼδ⌐). Æá¬¿¼ «íαẫ¼, ó ºáΘ¿ΘÑ¡¡«¼ αѪ¿¼Ñ óá¼ ¡Ñ ¡πª¡« ¿ß-
- »«½∞º«óáΓ∞ ¼«ñπ½∞ Overlay ¿ ñ¿αÑ¬Γ¿ó𠬫¼»¿½∩Γ«αá $O, ¿ ó óÑαß¿¿
- ¼«ñπ½∩ System ñ½∩ ºáΘ¿ΘÑ¡¡«ú« αѪ¿¼á »ÑαѼѡ¡δÑ OvrXXXXXX «ΓßπΓß-
- ΓóπεΓ.
-
-
- B.Pascal 7 & Objects/LR - 280 -
-
- ô»αáó½Ñ¡¿Ñ ñ¿¡á¼¿τÑ߬¿ αáß»αÑñѽ∩Ѽ«⌐ »á¼∩Γ∞ε
- ─────────────────────────────────────────────────────────────────
-
- Çñ¼¿¡¿ßΓαáΓ«α ñ¿¡á¼¿τÑ߬¿ αáß»αÑñѽ∩Ѽ«⌐ «í½áßΓ¿ »á¼∩Γ¿
- Borland Pascal ºáΘ¿ΘÑ¡¡«ú« αѪ¿¼á ñ«ó«½∞¡« ßπΘÑßΓóÑ¡¡« «Γ½¿τáÑΓß∩
- «Γ áñ¼¿¡¿ßΓαáΓ«αá ñ¿¡á¼¿τÑ߬¿ αáß»αÑñѽ∩Ѽ«⌐ »á¼∩Γ¿ Borland
- Pascal αÑá½∞¡«ú« αѪ¿¼á. é τáßΓ¡«ßΓ¿, »ÑαѼѡ¡δÑ HeapOrg,
- HeapEnd, HeapPtr ¿ FreeList ó óÑαß¿¿ ¼«ñπ½∩ System ñ½∩ ºáΘ¿ΘÑ¡¡«-
- ú« αѪ¿¼á ¡Ñ «»αÑñѽѡδ. Çñ¼¿¡¿ßΓαáΓ«α φΓá»á óδ»«½¡Ñ¡¿∩ ñ¿¡á¼¿-
- τÑ߬¿ αáß»αÑñѽ∩Ѽ«⌐ «í½áßΓ¿ »á¼∩Γ¿ Borland Pascal ºáΘ¿ΘÑ¡¡«ú«
- αѪ¿¼á (¬«Γ«αδ⌐ ¿ñÑ¡Γ¿τÑ¡ áñ¼¿¡¿ßΓαáΓ«απ φΓá»á óδ»«½¡Ñ¡¿∩ ñ¿¡á¼¿-
- τÑ߬¿ αáß»αÑñѽ∩Ѽ«⌐ «í½áßΓ¿ »á¼∩Γ¿ Borland Pascal ñ½∩ Windows)
- ñ½∩ óδ»«½¡Ñ¡¿∩ «ß¡«ó¡δσ «»Ñαᵿ⌐ »« óδñѽѡ¿ε ¿ «ßó«í«ªñÑ¡¿ε »á-
- ¼∩Γ¿ ¿ß»«½∞ºπÑΓ áñ¼¿¡¿ßΓαáΓ«α φΓá»á óδ»«½¡Ñ¡¿∩, á ñ½∩ «»Γ¿¼¿ºáµ¿¿
- αáß»αÑñѽѡ¿∩ ¡Ñí«½∞Φ¿σ í½«¬«ó »á¼∩Γ¿ ó¬½ετáÑΓ ó ßÑí∩ »«ñß¿ßΓѼπ
- óΓ«α¿τ¡«ú« αáß»αÑñѽѡ¿∩ ßÑú¼Ñ¡Γá. Å«ñα«í¡ÑÑ «í áñ¼¿¡¿ßΓαáΓ«αÑ
- ñ¿¡á¼¿τÑ߬¿ αáß»αÑñѽ∩Ѽ«⌐ «í½áßΓ¿ »á¼∩Γ¿ φΓá»á óδ»«½¡Ñ¡¿∩ αáßß-
- ¬áºδóáÑΓß∩ ó â½áóÑ 21.
-
- ÅαÑñ«»αÑñѽѡ¡δÑ ßÑ½Ñ¬Γ«αδ
- ─────────────────────────────────────────────────────────────────
-
- é ¼«ñπ½Ñ System ñ½∩ «íδτ¡« ¿ß»«½∞ºπѼδσ áñαÑß«ó αÑá½∞¡«ú«
- αѪ¿¼á »αÑñπß¼«ΓαÑ¡« ¡Ñ߬«½∞¬« »αÑñ«»αÑñѽѡ¡δσ ßÑ½Ñ¬Γ«α«ó. Ä¡¿
- ¿¼Ñ¡πεΓß∩ »« Σ¿º¿τÑ߬«¼π ßÑú¼Ñ¡Γπ, ¬«Γ«α«¼π ñá¡¡δÑ ßÑ½Ñ¬Γ«αδ
- »α¿ßó«Ñ¡δ, ¿ ¿ß»«½∞ºπεΓß∩ ñ½∩ ß«ó¼ÑßΓ¿¼«ßΓ¿ ¼Ñªñπ αÑá½∞¡δ¼ ¿ ºá-
- Θ¿ΘÑ¡¡δ¼ αѪ¿¼«¼ DOS.
-
- ÅαÑñ«»αÑñѽѡ¡δÑ ßÑ½Ñ¬Γ«αδ Æáí½¿µá 17.1
- ┌──────────────────┬────────────────────────────────────────────┐
- │ æÑ½Ñ¬Γ«α │ Ä»¿ßá¡¿Ñ │
- ├──────────────────┼────────────────────────────────────────────┤
- │ Seg0040 │ êß»«½∞ºπÑΓß∩ ñ½∩ ñ«ßΓπ»á ¬ «í½áßΓ¿ ñá¡¡δσ│
- │ │ BIOS $40 ó ¼½áñΦ¿σ áñαÑßáσ. │
- ├──────────────────┼────────────────────────────────────────────┤
- │ SegA000 │ êß»«½∞ºπÑΓß∩ ñ½∩ ñ«ßΓπ»á ¬ úαáΣ¿τÑ߬«⌐ »á-│
- │ │ ¼∩Γ¿ EGA ¿ VGA »« áñαÑßπ ßÑú¼Ñ¡Γá $A000. │
- ├──────────────────┼────────────────────────────────────────────┤
- │ SegB000 │ êß»«½∞ºπÑΓß∩ ñ½∩ ñ«ßΓπ»á ¬ ó¿ñÑ«»á¼∩Γ¿ ¼«-│
- │ │ ¡«σα«¼¡«ú« áñá»ΓÑαá »« áñαÑßπ ßÑú¼Ñ¡Γá│
- │ │ $A000. │
- ├──────────────────┼────────────────────────────────────────────┤
- │ SegB800 │ êß»«½∞ºπÑΓß∩ ñ½∩ ñ«ßΓπ»á ¬ ó¿ñÑ«»á¼∩Γ¿│
- │ │ µóÑΓ¡«ú« úαáΣ¿τÑ߬«ú« áñá»ΓÑαá »« áñαÑßπ│
- │ │ ßÑú¼Ñ¡Γá $A000. │
- └──────────────────┴────────────────────────────────────────────┘
-
- é αÑá½∞¡«¼ αѪ¿¼Ñ »ÑαѼѡ¡δÑ SegXXXX óßÑúñá ß«ñÑαªáΓ º¡áτÑ-
- ¡¿∩ $0040, $A000, $B000 ¿ $B800 ß««ΓóÑΓßΓóÑ¡¡«. é ºáΘ¿ΘÑ¡¡«¼ αÑ-
- ª¿¼Ñ ¬«ñ ºá»π߬á í¿í½¿«ΓѬ¿ ¿ß»«½¡∩εΘÑ⌐ ß¿ßΓѼδ ß«ºñáÑΓ τÑΓδαÑ
- ßÑ½Ñ¬Γ«αá, ßßδ½áεΘ¿σß∩ ¡á ¬«¡¬αÑΓ¡δÑ «í½áßΓ¿ »á¼∩Γ¿ αÑá½∞¡«ú« αÑ-
- ª¿¼á. Åα¿ ßßδ½¬Ñ ¡á φΓ¿ «í½áßΓ¿ »á¼∩Γ¿ óá¼ ß½ÑñπÑΓ ¿ß»«½∞º«óáΓ∞
- »ÑαѼѡ¡δÑ SegXXXX. ìá»α¿¼Ñα, Ñß½¿ π óáß íδ½ ¬«ñ ß½ÑñπεΘÑú« ó¿ñá:
-
- B.Pascal 7 & Objects/LR - 281 -
-
-
- CtrMode := Mem[$40: $49];
-
- Γ« ó¼ÑßΓ« ¡Ñú« ß½ÑñπÑΓ ºá»¿ßáΓ∞:
-
- CtrMode := Mem[Seg0040: $49];
-
- êß»«½∞ºπ∩ »ÑαѼѡ¡δÑ SegXXXX, óδ ¼«ªÑΓÑ úáαá¡Γ¿α«óáΓ∞, τΓ«
- óáΦá »α«úαá¼¼á íѺ ¿º¼Ñ¡Ñ¡¿⌐ íπñÑΓ αáí«ΓáΓ∞ ó αÑá½∞¡«¼ ¿ ºáΘ¿ΘÑ¡-
- ¡«¼ αѪ¿¼áσ.
-
- ÅÑαѼѡ¡á∩ SelectorInc
- ─────────────────────────────────────────────────────────────────
-
- ÅÑαѼѡ¡á∩ SelectorInc ¼«ñπ½∩ System ß«ñÑαª¿Γ º¡áτÑ¡¿Ñ, ¬«-
- Γ«α«Ñ ñ«½ª¡« »α¿íáó½∩Γ∞ß∩ ¬ ßÑ½Ñ¬Γ«απ ¿½¿ óδτ¿ΓáΓ∞ß∩ ¿º ¡Ñú« ñ½∩
- »«½πτÑ¡¿∩ ß½ÑñπεΘÑú« ¿½¿ »αÑñδñπΘÑú« ßÑ½Ñ¬Γ«αá ó Γáí½¿µÑ ñÑß¬α¿»-
- Γ«α«ó. SelectorInc »«½Ñº¡« ¿ß»«½∞º«óáΓ∞ »α¿ αáí«ΓÑ ß í«½∞Φ¿¼¿
- í½«¬á¼¿ »á¼∩Γ¿ (»αÑóδΦáεΘ¿¼¿ 64è) ¿ »α¿ ñ«ßΓπ»Ñ ¬ »ßÑóñ«¡¿¼á¼
- ßÑú¼Ñ¡Γ«ó.
-
- ä½∩ óδñѽѡ¿∩ í½«¬«ó, »αÑóδΦáεΘ¿σ 64è (Γá¬¿Ñ í½«¬¿ ¡áºδóáεΓ
- Γá¬ªÑ í«½∞Φ¿¼¿ í½«¬á¼¿ »á¼∩Γ¿), ¼«ª¡« ¿ß»«½∞º«óáΓ∞ Σπ¡¬µ¿¿
- GlobalAlloc ¿ GlobalAllocPrt ó ¼«ñπ½Ñ WinAPI. ü«½∞Φ¿Ñ í½«¬¿ ¡Ñ»-
- αÑαδó¡δ ó Σ¿º¿τÑ߬«⌐ »á¼∩Γ¿, ¡« ¿º-ºá 16-αáºα∩ñ¡«⌐ áασ¿ΓѬΓπαδ
- »α«µÑßß«αá »α¿¬½áñ¡á∩ »α«úαá¼¼á ¡Ñ ¼«ªÑΓ »«½πτ¿Γ∞ ¬ ¡¿¼ ñ«ßΓπ»
- µÑ½¿¬«¼. ä½∩ í«½∞Φ«ú« í½«¬á »á¼∩Γ¿ áñ¼¿¡¿ßΓαáΓ«α »á¼∩Γ¿ óδñѽ∩ÑΓ
- ¡Ñ߬«½∞¬« ¡Ñ»αÑαδó¡δσ (ß½ÑñπεΘ¿σ »«ñα∩ñ) ßÑ½Ñ¬Γ«α«ó, ¬áªñδ⌐ ¿º
- ¬«Γ«αδσ (¬α«¼Ñ »«ß½Ññ¡Ñú«) ßßδ½áÑΓß∩ ¡á τáßΓ∞ í«½∞Φ«ú« í½«¬á »á-
- ¼∩Γ¿ αẼÑα«¼ 64è. ìá»α¿¼Ñα, τΓ«íδ óδñѽ¿Γ∞ í½«¬á »á¼∩Γ¿ αẼÑα«¼
- ó 220è, áñ¼¿¡¿ßΓαáΓ«α »á¼∩Γ¿ ß«ºñáÑΓ τÑΓδαÑ ßÑ½Ñ¬Γ«αá, »α¿ φΓ«¼
- »ÑαóδÑ Γα¿ ßÑ½Ñ¬Γ«αá ßßδ½áεΓß∩ ¡á í½«¬¿ »« 64è, á »«ß½Ññ¡¿⌐ ßÑ-
- ½Ñ¬Γ«α - ¡á í½«¬ αẼÑα«¼ 28è. Åα¿íáó½∩∩ SelectorInc ¬ ßÑ½Ñ¬Γ«απ,
- »α¿¡áñ½ÑªáΘѼπ í«½∞Φ«¼π í½«¬π, óδ ¼«ªÑΓÑ »«½πτ¿Γ∞ ßÑ½Ñ¬Γ«α ñ½∩
- ß½ÑñπεΘÑú« ßÑú¼Ñ¡Γá, á óδτ¿Γá∩ SelectorInc - ñ½∩ »αÑñδñπΘÑú«.
-
- Åα¿ αáß»αÑñѽѡ¿¿ í«½∞Φ«ú« í½«¬á Σπ¡¬µ¿∩ GlobalAlloc óßÑúñá
- ó«ºóαáΘáÑΓ «»¿ßáΓѽ∞ »Ñαó«ú« ßÑú¼Ñ¡Γá, á GlobalAllocPtr - π¬áºá-
- Γѽ∞ ¡á »Ñαóδ⌐ ßÑú¼Ñ¡Γ.
-
- Åα¿óÑñÑ¡¡á∩ ¡¿ªÑ Σπ¡¬µ¿∩ GetPtr ó«ß»α¿¡¿¼áÑΓ π¬áºáΓѽ∞ í«½∞-
- Φ«ú« í½«¬á (ó«ºóαáΘáѼδ⌐ Σπ¡¬µ¿Ñ⌐ GlobalAllocPtr) ¿ 32-αáºα∩ñ¡«Ñ
- ß¼ÑΘÑ¡¿Ñ ¿ ó«ºóαáΘáÑΓ π¬áºáΓѽ∞ ¡á ºáñá¡¡«Ñ ó¡πΓα¿ í½«¬á ß¼ÑΘÑ-
- ¡¿Ñ.
-
- function GetPtr(P: Pointer; Offset: Longint): Pointer;
- type
- Long = record
- Lo, Hi: Word;
- end;
-
- begin
- GetPtr := Ptr(
-
- B.Pascal 7 & Objects/LR - 282 -
-
- Long(P).Hi + Long(Offset).Hi * SelectorInc,
- Long(P).Lo + Long(Offset).Lo);
- end;
-
- çá¼ÑΓ¿¼, τΓ« ßΓáαΦÑÑ ß½«ó« »áαá¼ÑΓαá Offset ¿ß»«½∞ºπÑΓß∩ ñ½∩
- «»αÑñѽѡ¿∩ Γ«ú«, ߬«½∞¬« αẠ¡πª¡« πóѽ¿τ¿Γ∞ ßÑ½Ñ¬Γ«α¡πε τáßΓ∞ P
- ñ½∩ »«½πτÑ¡¿∩ ¬«ααÑ¬Γ¡«ú« ßÑú¼Ñ¡Γá. ìá»α¿¼Ñα, Ñß½¿ Offset αáó¡«
- $24000, Γ« ßÑ½Ñ¬Γ«α¡á∩ τáßΓ∞ P íπñÑΓ πóѽ¿τÑ¡á ¡á 2 *
- SelectorInc, á ß¼ÑΘÑ¡¿Ñ P - ¡á $4000.
-
- æ½ÑñπεΘá∩ Σπ¡¬µ¿∩ LoadFile ºáúαπªáÑΓ ó í½«¬ »á¼∩Γ¿ óÑß∞ Σá⌐½
- ¿ ó«ºóαáΘáÑΓ π¬áºáΓѽ∞ ¡á í½«¬. àß½¿ Σá⌐½ »αÑóδΦáÑΓ 64è, Γ« óδñÑ-
- ½∩ÑΓß∩ í«½∞Φ«⌐ í½«¬ »á¼∩Γ¿.
-
- function LoadFile(const FileName: string): Pointer;
- var
- Buffer: Pointer;
- Size, Offset, Count: Longint;
- F: file;
- begin
- Buffer := nil;
- Assign(F, FileName);
- Reset(F, 1);
- Size := FileSize(F);
- Buffer := GlobalAllocPtr(gmem_Moveable, Size);
- if Buffer <> nil then
- begin
- Offset := 0;
- while Offset < Size do
- begin
- Count := Size - Offset;
- if Count > $8000 then Count := $8000;
- BlockRead(F, GetPtr(Buffer, Offset)^, Count);
- Inc(Offset, Count);
- end;
- end;
- LoadFile := Buffer;
- end;
-
- ÅÑαѼѡ¡á∩ SelectorInc «»αÑñѽѡá Γá¬ªÑ ó óÑαß¿¿ ¼«ñπ½∩
- System ñ½∩ αÑá½∞¡«ú« αѪ¿¼á. é αÑá½∞¡«¼ αѪ¿¼Ñ «¡á óßÑúñá ß«ñÑα-
- ª¿Γ º¡áτÑ¡¿Ñ $1000, ¬«Γ«α«Ñ »α¿ ß½«ªÑ¡¿¿ Ñú« ß ßÑú¼Ñ¡Γ¡«⌐ τáßΓ∞ε
- π¬áºáΓѽ∩ αÑá½∞¡«ú« αѪ¿¼á πóѽ¿τ¿óáÑΓ π¬áºáΓѽ∞ ¡á 64è.
-
- äαπú¿¼ «íαẫ¼ óδ ¼«ªÑΓÑ ¿ß»«½∞º«óáΓ∞ »ÑαѼѡ¡πε SelectorInß
- Γ«½∞¬« ó »α«úαá¼¼áσ DOS ºáΘ¿ΘÑ¡¡«ú« αѪ¿¼á. êß»«½∞ºπ⌐ΓÑ »ÑαѼѡ-
- ¡πε SelectorInc ñ½∩ ñ«ßΓπ»á ¬ »ßÑóñ«¡¿¼á¼ ßÑú¼Ñ¡Γ«ó, óδñѽ∩Ѽδσ
- áñ¼¿¡¿ßΓαáΓ«α«¼ φΓá»á óδ»«½¡Ñ¡¿∩ »α¿ ºáúαπº¬Ñ »α¿¬½áñ¡«⌐ »α«úαá¼-
- ¼δ. ä½∩ ¬áªñ«ú« ßÑú¼Ñ¡Γá ¬«ñá »α¿¬½áñ¡«⌐ »α«úαá¼¼δ áñ¼¿¡¿ßΓαáΓ«α
- φΓá»á óδ»«½¡Ñ¡¿∩ ß«ºñáÑΓ ßÑ½Ñ¬Γ«α-»ßÑóñ«¡¿¼, ßßδ½áεΘ¿⌐ß∩ ¡á Γ«Γ
- ªÑ ßÑú¼Ñ¡Γ, ¡« ¿¼ÑεΘ¿⌐ »«½¡«¼«τ¿∩ ßÑ½Ñ¬Γ«αá ñá¡¡δσ. ä½∩ ßÑú¼Ñ¡Γ«ó
- ßΓÑ¬á ¿ ñá¡¡δσ ßÑ½Ñ¬Γ«αδ-»ßÑóñ«¡¿¼δ ¡Ñ ß«ºñáεΓß∩.
-
-
- B.Pascal 7 & Objects/LR - 283 -
-
- ùΓ«íδ »«½πτ¿Γ∞ ñ«ßΓπ» ¬ ßÑ½Ñ¬Γ«απ-»ßÑóñ«¡¿¼π ñ½∩ ¬«¡¬αÑΓ¡«ú«
- ßÑú¼Ñ¡Γá, ñ«íáó∞ΓÑ ¬ ßÑ½Ñ¬Γ«απ ßÑú¼Ñ¡Γá SelectorInc. ÅαÑñ»«½«ª¿¼,
- ¡á»α¿¼Ñα, τΓ« P - φΓ« »ÑαѼѡ¡á∩ Γ¿»á Pointer, á Foo - »α«µÑñπαá
- ¿½¿ Σπ¡¬µ¿∩. Æ«úñá »α¿ßóá¿óá¡¿Ñ ó¿ñá:
-
- P := Addr(Foo)
-
- »α¿ó«ñ¿Γ ¬ Γ«¼π, τΓ« P íπñÑΓ π¬áºδóáΓ∞ ¡á óδ»«½¡∩Ѽπε ñ«ßΓπ»¡πε
- Γ«½∞¬« »« τΓÑ¡¿ε Γ«τ¬π óσ«ñá Foo, á »«ß½Ñ «»ÑαáΓ«αá:
-
- P := Ptr(Seg(Foo) + SelectorInc, Ofs(Foo));
-
- P íπñÑΓ ßßδ½áΓ∞ß∩ ¡á ëà ªÑ áñαÑß, ¡« ß »«½¡«¼«τ¿∩¼¿ ¡á τΓÑ-
- ¡¿Ñ/ºá»¿ß∞.
-
-
-
- B.Pascal 7 & Objects/LR - 284 -
-
- î«ñπ½∞ WinAPI
- ─────────────────────────────────────────────────────────────────
-
- î«ñπ½∞ WinAPI ñáÑΓ óá¼ ¡Ñ»«ßαÑñßΓóÑ¡¡δ⌐ ñ«ßΓπ» ¬ αáßΦ¿αÑ¡¿∩¼
- Borland ºáΘ¿ΘÑ¡¡«ú« αѪ¿¼á DOS. ùΓ«íδ «í½Ñúτ¿Γ∞ ¡á»¿ßá¡¿Ñ »ÑαÑ¡«-
- ß¿¼δσ »α¿¬½áñ¡δσ »α«úαá¼¼ ¿ ß«ó¼ÑßΓ¿¼δσ ¡á πα«ó¡Ñ ñó«¿τ¡«ú« ¬«ñá
- DLL, αáºαáí«Γá¡ ¿¡ΓÑαΣÑ⌐ß WinAPI, ∩ó½∩εΘ¿⌐ß∩ »«ñ¼¡«ªÑßΓó«¼ ¿¡ΓÑα-
- ΣÑ⌐ßá API Windows.
-
- î«ñπ½∞ WinAPI »«ºó«½∩ÑΓ óá¼ ¿ß»«½∞º«óáΓ∞ Σπ¡¬µ¿¿ π»αáó½Ñ¡¿∩
- »á¼∩Γ∞ε, π»αáó½Ñ¡¿∩ αÑßπαßἿ, ¼«ñπ½∩¼¿, ßÑ½Ñ¬Γ«αἿ ¿ ¼¡«ú¿Ñ
- ñαπú¿Ñ Σπ¡¬µ¿¿ API. ì¿ªÑ »α¿óÑñÑ¡« ¿σ ¬αáΓ¬«Ñ «»¿ßá¡¿Ñ. Å«½¡«Ñ
- «»¿ßá¡¿Ñ ¬«¡ßΓá¡Γ, Γ¿»«ó, »α«µÑñπα ¿ Σπ¡¬µ¿⌐ ¼«ñπ½∩ WinAPI óδ ¼«-
- ªÑΓÑ ¡á⌐Γ¿ ó "æ»αáó«τ¡«¼ απ¬«ó«ñßΓóÑ »α«úαá¼¼¿ßΓá".
-
- Åα¿ αáí«ΓÑ »«ñ Windows »«ñ»α«úαá¼¼δ API, »«ññÑনóáѼδÑ ß
- »«¼«Θ∞ε ¼«ñπ½∩ WinAPI, ¡áσ«ñ∩Γß∩ ó ñ¿¡á¼¿τÑ߬¿ ¬«¼»«¡πѼδσ í¿í½¿-
- «ΓѬáσ KERNEL.DLL ¿ USER.DLL. é ºáΘ¿ΘÑ¡¡«¼ αѪ¿¼Ñ DOS φΓ¿ DLL ¡Ñ
- ΓαÑíπεΓß∩, Γᬠ¬á¬ áñ¼¿¡¿ßΓαáΓ«α φΓá»á óδ»«½¡Ñ¡¿∩ ºáΘ¿ΘÑ¡¡«ú« αÑ-
- ª¿¼á ß«ñÑαª¿Γ αÑ὿ºáµ¿ε »«ñ»α«úαá¼¼ KERNEL ¿ USER, áóΓ«¼áΓ¿τÑß-
- ¬¿ »ÑαÑ¡á»αáó½∩∩ ¿σ ó맮óδ áñ¼¿¡¿ßΓαáΓ«απ.
-
- ô»αáó½Ñ¡¿Ñ »á¼∩Γ∞ε
- ─────────────────────────────────────────────────────────────────
-
- Åα¿ αáºαáí«Γ¬Ñ »α«úαá¼¼, αáí«ΓáεΘ¿σ ß ñ¿¡á¼¿τÑ߬«⌐ »á¼∩Γ∞ε,
- «íδτ¡« ¿ß»«½∞ºπεΓß∩ ßΓá¡ñáαΓ¡δÑ »α«µÑñπαδ New, Dispose, GetMem ¿
- FreeMem. Äñ¡á¬« »«½πτ¿Γ∞ ñ«ßΓπ» ¬ áñ¼¿¡¿ßΓαáΓ«απ »á¼∩Γ¿ ºáΘ¿ΘÑ¡-
- ¡«ú« αѪ¿¼á Borland óδ ¼«ªÑΓÑ ß »«¼«Θ∞ε Σπ¡¬µ¿⌐ GlobalXXXX ó ¼«-
- ñπ½Ñ WinAPI.
-
- çá¼ÑΓ¿¼, τΓ« Σπ¡¬µ¿¿ GlobalXXXXPtr ¬«¼í¿¡¿απεΓ ó «ñ¡«⌐ »«ñ»-
- α«úαá¼¼Ñ «íΘ¿Ñ »«ß½Ññ«óáΓѽ∞¡«ßΓ¿ ó맮ó«ó Σπ¡¬µ¿⌐, Γá¬¿Ñ ¬á¬
- GlobalAlloc, ºá ¬«Γ«α묨 ß½ÑñπεΓ ó맮óδ GlobalLock, GlobalUnlock
- ¿½¿ GlobalFree.
-
-
-
- B.Pascal 7 & Objects/LR - 285 -
-
- Å«ñ»α«úαá¼¼δ π»αáó½Ñ¡¿∩ »á¼∩Γ∞ε API
- Æáí½¿µá 17.2
- ┌─────────────────────┬─────────────────────────────────────────┐
- │ öπ¡¬µ¿∩ │ Ä»¿ßá¡¿Ñ │
- ├─────────────────────┼─────────────────────────────────────────┤
- │ GetFreeSpace │ Ä»αÑñѽ∩ÑΓ «íΩѼ ßó«í«ñ¡«⌐ »á¼∩Γ¿ ó ñ¿-│
- │ │ ¡á¼¿τÑ߬¿ αáß»αÑñѽ∩Ѽ«⌐ «í½áßΓ¿. │
- ├─────────────────────┼─────────────────────────────────────────┤
- │ GlobalAlloc │ éδñѽ∩ÑΓ í½«¬ »á¼∩Γ¿ ó ñ¿¡á¼¿τÑ߬¿ αáß»-│
- │ │ αÑñѽ∩Ѽ«⌐ «í½áßΓ¿. │
- ├─────────────────────┼─────────────────────────────────────────┤
- │ GlobalAllocPtr │ éδñѽ∩ÑΓ ¿ í½«¬¿απÑΓ í½«¬ »á¼∩Γ¿ (ß »«-│
- │ │ ¼«Θ∞ε ó맮ó«ó GlobalAlloc ¿ GlobalLock).│
- │ │ │
- ├─────────────────────┼─────────────────────────────────────────┤
- │ GlobalCompact │ ÅÑαÑπ»«α∩ñ«τ¿óáÑΓ »á¼∩Γ∞, αáß»αÑñѽѡ-│
- │ │ ¡πε ó ñ¿¡á¼¿τÑ߬«⌐ «í½áßΓ¿, ΓᬠτΓ« «ß-│
- │ │ ó«í«ªñáÑΓß∩ ºáñá¡¡δ⌐ «íΩѼ »á¼∩Γ¿. │
- ├─────────────────────┼─────────────────────────────────────────┤
- │ GlobalDiscard │ éδúαπªáÑΓ ºáñá¡¡δ⌐ «íΩÑ¬Γ »á¼∩Γ¿. │
- ├─────────────────────┼─────────────────────────────────────────┤
- │ GlobalDosAlloc │ Éáß»αÑñѽ∩ÑΓ »á¼∩Γ∞, ¬ ¬«Γ«α«⌐ ¼«ª¡« »«-│
- │ │ ½πτ¿Γ∞ ñ«ßΓπ» ó αÑá½∞¡«¼ αѪ¿¼Ñ DOS. ¥Γá│
- │ │ »á¼∩Γ∞ íπñÑΓ ßπΘÑßΓó«óáΓ∞ ó »Ñαó«¼ ¼Ñúá-│
- │ │ íá⌐ΓÑ ½¿¡Ñ⌐¡«ú« áñαÑß¡«ú« »α«ßΓαá¡ßΓóá. │
- ├─────────────────────┼─────────────────────────────────────────┤
- │ GlobalDosFree │ Äßó«í«ªñáÑΓ »á¼∩Γ∞, óδñѽѡ¡πε αá¡ÑÑ ß│
- │ │ »«¼«Θ∞ε GlobalDosAlloc. │
- ├─────────────────────┼─────────────────────────────────────────┤
- │ GlobalFlags │ Å«½πτáÑΓ ¿¡Σ«α¼áµ¿ε « í½«¬Ñ »á¼∩Γ¿. │
- ├─────────────────────┼─────────────────────────────────────────┤
- │ GlobalFree │ Äßó«í«ªñáÑΓ αáºí½«¬¿α«óá¡¡δ⌐ í½«¬ »á¼∩Γ¿│
- │ │ ¿ ñѽáÑΓ Ñú« «»¿ßáΓѽ∞ ¡ÑñÑ⌐ßΓó¿Γѽ∞¡δ¼.│
- ├─────────────────────┼─────────────────────────────────────────┤
- │ GlobalFreePtr │ Éáºí½«¬¿απÑΓ ¿ «ßó«í«ªñáÑΓ í½«¬ »á¼∩Γ¿│
- │ │ ß »«¼«Θ∞ε GlobalUnlock ¿ GlobalFree. │
- ├─────────────────────┼─────────────────────────────────────────┤
- │ GlobalHandle │ Å«½πτáÑΓ «»¿ßáΓѽ∞ «íΩѬΓá ó »á¼∩Γ¿ »«│
- │ │ ºáñá¡¡«¼π áñαÑßπ ßÑú¼Ñ¡Γá. │
- ├─────────────────────┼─────────────────────────────────────────┤
- │ GlobalLock │ ôóѽ¿τ¿óáÑΓ ßτÑΓτ¿¬ ßß佬¿ í½«¬á »á¼∩Γ¿│
- │ │ ¿ ó«ºóαáΘáÑΓ π¬áºáΓѽ∞ ¡á ¡Ñú«. │
- ├─────────────────────┼─────────────────────────────────────────┤
- │ GlobalLockPtr │ Æ« ªÑ, τΓ« ¿ GlobalLock, ¡« ó¼ÑßΓ« «»¿-│
- │ │ ßáΓѽ∩ ó«ß»α¿¡¿¼áÑΓ π¬áºáΓѽ∞. │
- ├─────────────────────┼─────────────────────────────────────────┤
- │ GlobalLRUNewest │ ÅÑαѼÑΘáÑΓ «íΩÑ¬Γ ó »á¼∩Γ¿ ¡á ¡«óπε ¡Ñ-│
- │ │ ñáó¡« ¿ß»«½∞ºπѼπε »«º¿µ¿ε, ¼¿¡¿¼¿º¿απ∩,│
- │ │ Γᬿ¼ «íαẫ¼, óÑα«∩Γ¡«ßΓ∞ óδúαπº¬¿│
- │ │ «íΩѬΓá. │
- ├─────────────────────┼─────────────────────────────────────────┤
- │ GlobalLRUOldest │ ÅÑαѼÑΘáÑΓ «íΩÑ¬Γ ó »á¼∩Γ¿ ¡á ßá¼πε│
- │ │ "ßΓáαπε" ¡Ññáó¡« ¿ß»«½∞ºπѼπε »«º¿µ¿ε,│
-
- B.Pascal 7 & Objects/LR - 286 -
-
- │ │ ¼á¬ß¿¼¿º¿απε óÑα«∩Γ¡«ßΓ∞ óδúαπº¬¿ «íΩ-│
- │ │ ѬΓá. │
- ├─────────────────────┼─────────────────────────────────────────┤
- │ GlobalNorify │ éδºδóáÑΓ áñαÑß φ¬ºÑ¼»½∩αá »α«µÑñπαδ πóÑ-│
- │ │ ñ«¼½Ñ¡¿∩, »ÑαÑñáóá∩ «»¿ßáΓѽ∞ í½«¬á, ¬«-│
- │ │ Γ«αδ⌐ ¡πª¡« óδúαπº¿Γ∞. │
- ├─────────────────────┼─────────────────────────────────────────┤
- │ GlobalPageLock │ ôóѽ¿τ¿óáÑΓ º¡áτÑ¡¿Ñ ßτÑΓτ¿¬á í½«¬¿α«ó-│
- │ │ ¬¿ ñ½∩ »á¼∩Γ¿, ßó∩ºá¡¡«⌐ ß ñá¡¡δ¼ ßѽѬ-│
- │ │ Γ«α«¼. │
- ├─────────────────────┼─────────────────────────────────────────┤
- │ GlobalPageUnlock │ ô¼Ñ¡∞ΦáÑΓ º¡áτÑ¡¿Ñ ßτÑΓτ¿¬á í½«¬¿α«ó¬¿│
- │ │ ñ½∩ »á¼∩Γ¿, ßó∩ºá¡¡«⌐ ß ñá¡¡δ¼ ßÑ½Ñ¬Γ«-│
- │ │ α«¼. │
- ├─────────────────────┼─────────────────────────────────────────┤
- │ GlobalPtrHandle │ Å« ºáñá¡¡«¼π π¬áºáΓÑ½ε ¡á í½«¬ »á¼∩Γ¿│
- │ │ ó«ºóαáΘáÑΓ «»¿ßáΓѽ∞ φΓ«ú« í½«¬á. │
- ├─────────────────────┼─────────────────────────────────────────┤
- │ GlobalReAlloc │ ÅÑαÑαáß»αÑñѽ∩ÑΓ í½«¬ »á¼∩Γ¿. │
- ├─────────────────────┼─────────────────────────────────────────┤
- │ GlobalReAllocPtr │ Éáºí½«¬¿απÑΓ, »ÑαÑαáß»αÑñѽ∩ÑΓ ¿ í½«¬¿-│
- │ │ απÑΓ í½«¬ »á¼∩Γ¿ (¿ß»«½∞ºπ∩ Σπ¡¬µ¿¿│
- │ │ GlobalUnlock, GlobalReAlloc ¿│
- │ │ GlobalLock). │
- ├─────────────────────┼─────────────────────────────────────────┤
- │ GlobalSize │ Ä»αÑñѽ∩ÑΓ ΓѬπΘ¿⌐ αẼÑα í½«¬á »á¼∩Γ¿. │
- ├─────────────────────┼─────────────────────────────────────────┤
- │ GlobalUnfix │ Éáºí½«¬¿απÑΓ í½«¬ »á¼∩Γ¿, í½«¬¿α«óá¡¡δ⌐│
- │ │ αá¡ÑÑ ß »«¼«Θ∞ε GlobalLock. │
- ├─────────────────────┼─────────────────────────────────────────┤
- │ GlobalUnockPtr │ Æ« ªÑ, τΓ« ¿ GlobalUnlock, ¡« ó¼ÑßΓ«│
- │ │ «»¿ßáΓѽ∩ ó«ß»α¿¡¿¼áÑΓ π¬áºáΓѽ∞. │
- ├─────────────────────┼─────────────────────────────────────────┤
- │ LockSegment │ ü½«¬¿απÑΓ ºáñá¡¡δ⌐ óδúαπªáѼδ⌐ ßÑú¼Ñ¡Γ. │
- ├─────────────────────┼─────────────────────────────────────────┤
- │ UnlockSegment │ Éáºí½«¬¿απÑΓ ßÑú¼Ñ¡Γ. │
- └─────────────────────┴─────────────────────────────────────────┘
-
- öπ¡¬µ¿∩ GlobalAlloc ¿ß»«½∞ºπÑΓß∩ ñ½∩ αáß»αÑñѽѡ¿∩ í½«¬«ó
- »á¼∩Γ¿. ä½∩ ¿σ «ßó«í«ªñÑ¡¿∩ »α¿¼Ñ¡∩ÑΓß∩ Σπ¡¬µ¿∩ GlobalFree. Çñ¼¿-
- ¡¿ßΓαáΓ«α »á¼∩Γ¿ »«ññÑনóáÑΓ Γα¿ Γ¿»á í½«¬«ó »á¼∩Γ¿: Σ¿¬ß¿α«óá¡-
- ¡δ⌐, »ÑαѼÑΘáѼδ⌐ ¿ óδúαπªáѼδ⌐. ö¿¬ß¿α«óá¡¡δ⌐ í½«¬ «ßΓáÑΓß∩ ó
- «ñ¡¿σ ¿ ΓÑσ ªÑ áñαÑßáσ Σ¿º¿τÑ߬«⌐ »á¼∩Γ¿. ÅÑαѼÑΘáѼδ⌐ í½«¬ ¼«ªÑΓ
- »ÑαѼÑΘáΓ∞ß∩ ó Σ¿º¿τÑ߬«⌐ »á¼∩Γ¿ ¿ «ßó«í«ªñáΓ∞ ¼ÑßΓ« ñ½∩ ñαπú¿σ
- ºá»α«ß«ó ¡á óδñѽѡ¿Ñ »á¼∩Γ¿, á óδúαπªáѼδÑ í½«¬¿ ¼«úπΓ óδúαπ-
- ªáΓ∞ß∩ ¿º »á¼∩Γ¿, «ßó«í«ªñá∩ ¼ÑßΓ« ñ½∩ ñαπú¿σ í½«¬«ó. æ »«¼«Θ∞ε
- »ÑαÑñáóáѼδσ GlobalAlloc Σ½áú«ó óδ ¼«ªÑΓÑ óδíαáΓ∞ «ñ¿¡ ¿º φΓ¿σ
- ΓαÑσ Γ¿»«ó:
-
- * gmem_Fixed (Σ¿¬ß¿α«óá¡¡δ⌐)
- * gmem_Moveable (»ÑαѼÑΘáѼδ⌐)
- * gmem_Moveable + gmem_Discardable (óδúαπªáѼδ⌐)
-
-
- B.Pascal 7 & Objects/LR - 287 -
-
- Åਪ½áñ¡á∩ »α«úαá¼¼á «íδτ¡« óδñѽ∩ÑΓ Γ«½∞¬« »ÑαѼÑΘáѼδÑ
- í½«¬¿ »á¼∩Γ¿, ¬«Γ«αδÑ »αÑñßΓáó½∩εΓß∩ Γ¿»«¼ THandle ó ¼«ñπ½Ñ
- WinAPI. Ä»¿ßáΓѽ∞ »á¼∩Γ¿ - φΓ« º¡áτÑ¡¿Ñ αẼÑα«¼ ó ß½«ó«, ¬«Γ«α«Ñ
- ¿ñÑ¡Γ¿Σ¿µ¿απÑΓ í½«¬ »á¼∩Γ¿ á¡á½«ú¿τ¡« Γ«¼π, ¬á¬ «»¿ßáΓѽ∞ Σá⌐½á -
- φΓ« º¡áτÑ¡¿Ñ αẼÑα«¼ ó ß½«ó«, ¿ñÑ¡Γ¿Σ¿µ¿απεΘÑÑ «Γ¬αδΓδ⌐ Σá⌐½.
-
- ÅÑαÑñ ΓѼ ¬á¬ óδ ß¼«ªÑΓÑ »«½πτ¿Γ∞ ñ«ßΓπ» ¬ »á¼∩Γ¿, Ñú« ¡πª¡«
- ºáí½«¬¿α«óáΓ∞ ß »«¼«Θ∞ε Σπ¡¬µ¿¿ GlobalAlloc, á ¬«úñá óδ ºá¬«¡τ¿ΓÑ
- ¬ ¡Ñ¼π «íαáΘáΓ∞ß∩, Ñú« ¡πª¡« αáºí½«¬¿α«óáΓ∞ ß »«¼«Θ∞ε Σπ¡¬µ¿¿
- GlobalUnlock. GlobalLock ó«ºóαáΘáÑΓ »«½¡δ⌐ 32-αáºα∩ñ¡δ⌐ π¬áºáΓѽ∞
- ¡á »Ñαóδ⌐ íá⌐Γ í½«¬á. æ¼ÑΘÑ¡¿Ñ π¬áºáΓѽ∩ óßÑúñá αáó¡« 0. é ºáΘ¿-
- ΘÑ¡¡«¼ αѪ¿¼Ñ DOS ßÑ½Ñ¬Γ«α π¬áºáΓѽ∩ - φΓ« Γ«ªÑ ßἫÑ, τΓ« «»¿ßá-
- Γѽ∞ í½«¬á, ¡« ó Windows φΓ« ¡Ñ óßÑúñá Γá¬.
-
- Åαáó¿½∞¡á∩ »«ß½Ññ«óáΓѽ∞¡«ßΓ∞ ó맮ó«ó ñ½∩ óδñѽѡ¿∩, í½«¬¿-
- α«ó¬¿, αáºí½«¬¿α«ó¬¿ ¿½¿ «ßó«í«ªñÑ¡¿∩ í½«¬á »«¬áºá¡á ó »α¿óÑñÑ¡-
- ¡«¼ ¡¿ªÑ »α¿¼ÑαÑ. é ñá¡¡«¼ »α¿¼ÑαÑ H - φΓ« »ÑαѼѡ¡á∩ Γ¿»á
- THandle, á P - π¬áºáΓѽ∞:
-
- H := GlobalAlloc(gmem_Moveable, 8192); { óδñѽѡ¿Ñ í½«¬á }
- if H <> then { Ñß½¿ »á¼∩Γ∞ óδñѽѡá }
- begin
- P := GlobalLock(H); { í½«¬¿α«ó¬á í½«¬á }
- .
- . { ñ«ßΓπ» ¬ í½«¬π τÑαѺ P }
- .
- GlobalUnlock(H); { αáºí½«¬¿α«óáΓ∞ í½«¬ }
- GlobalFree(H); { «ßó«í«ñ¿Γ∞ í½«¬ }
- end;
-
- ü½«¬¿α«ó¬á ¿ αáºí½«¬¿α«ó¬á í½«¬á »α¿ ¬áªñ«¼ «íαáΘÑ¡¿¿ ¬ ¡Ñ¼π
- ñ«ßΓáΓ«τ¡« πΓ«¼¿Γѽ∞¡á ¿ óÑñÑΓ ¬ «Φ¿í¬á¼, ¿ αÑá½∞¡« «¡á ¡Ñ«íσ«ñ¿-
- ¼á Γ«½∞¬« ñ½∩ óδúαπªáѼδσ í½«¬«ó ¿ ó »α¿¬½áñ¡δσ »α«úαá¼¼áσ
- Windows, αáí«ΓáεΘ¿σ ó αÑá½∞¡«¼ αѪ¿¼Ñ. é« óßÑσ ñαπú¿σ ß¿Γπᵿ∩σ
- ½πτΦ¿¼ αÑΦÑ¡¿Ñ¼ ∩ó½∩ÑΓß∩ í½«¬¿α«ó¬á í½«¬á ßαáºπ »«ß½Ñ Ñú« óδñѽÑ-
- ¡¿∩ ¿ ß«σαá¡Ñ¡¿Ñ φΓ«ú« ß«ßΓ«∩¡¿∩ ñ« «ßó«í«ªñÑ¡¿∩ í½«¬á. æ φΓ«⌐
- µÑ½∞ε ¼«ñπ½∞ WinAPI ó¬½ετáÑΓ ó ßÑí∩ ßѼÑ⌐ßΓó« »«ñ»α«úαá¼¼-"«í«½«-
- τѬ" GlobalXXXXPtr. Äß«íδ⌐ ¿¡ΓÑαÑß »αÑñßΓáó½∩ÑΓ Σπ¡¬µ¿∩
- GlobalAllocPtr, ¬«Γ«αá∩ óδñѽ∩ÑΓ ¿ í½«¬¿απÑΓ í½«¬ »á¼∩Γ¿, ¿ Σπ¡¬-
- µ¿∩ GlobalFreePtr, αáºí½«¬¿απεΘá∩ ¿ «ßó«í«ªñáεΘá∩ í½«¬ »á¼∩Γ¿. æ
- »«¼«Θ∞ε φΓ¿σ »«ñ»α«úαá¼¼ »α¿óÑñÑ¡¡δ⌐ óδΦÑ »α¿¼Ñα ¼«ª¡« π»α«ßΓ¿Γ∞:
-
- H := GlobalAlloc(gmem_Moveable, 8192); { óδñѽѡ¿Ñ í½«¬á }
- if H <> then { Ñß½¿ »á¼∩Γ∞ óδñѽѡá }
- begin
- .
- . { ñ«ßΓπ» ¬ í½«¬π }
- .
- GlobalFreePtr(P); { «ßó«í«ñ¿Γ∞ í½«¬ }
- end;
-
- éδºóáó Σπ¡¬µ¿ε GlobalReAlloc, óδ ¼«ªÑΓÑ ¿º¼Ñ¡¿Γ∞ αẼÑα ¿½¿
- áΓα¿íπΓδ í½«¬á »á¼∩Γ¿, ß«σαá¡¿ó Ñú« ß«ñÑন¼«Ñ. öπ¡¬µ¿∩
-
- B.Pascal 7 & Objects/LR - 288 -
-
- GlobalReAlloc ó«ºóαáΘáÑΓ ¡«óδ⌐ «»¿ßáΓѽ∞ í½«¬á, ¬«Γ«αδ⌐ ¼«ªÑΓ «Γ-
- ½¿τáΓ∞ß∩ «Γ »ÑαÑñáóáѼ«ú« Σπ¡¬µ¿¿ «»¿ßáΓѽ∩, Ñß½¿ ßΓáαδ⌐ αẼÑα
- ¿½¿ ¡«óδ⌐ αẼÑα í½«¬ »αÑóδΦáÑΓ 64è. çá¼ÑΓ¿¼, τΓ« ó ΓÑσ ß½πτá∩σ,
- ¬«úñá ßΓáαδ⌐ αẼÑα í½«¬á ¿ ¡«óδ⌐ Ñú« αẼÑα ¼Ñ¡∞ΦÑ 64è,
- GlobalReAlloc óßÑúñá ¼«ªÑΓ ¿º¼Ñ¡¿Γ∞ αẼÑα í½«¬á, ¡Ñ ¿º¼Ñ¡∩∩ Ñú«
- «»¿ßáΓѽ∩.
-
- öπ¡¬µ¿∩ GlobalReAlloc ¼«ª¡« Γá¬ªÑ ¿ß»«½∞º«óáΓ∞ß∩ ñ½∩ ¿º¼Ñ¡Ñ-
- ¡¿∩ áΓα¿íπΓ«ó í½«¬á. ¥Γ« ¼«ª¡« ßñѽáΓ∞, ºáñáó ¡áα∩ñπ ß
- gmem_Moveable ¿½¿ gmem_Discardable Σ½áú gmem_Modify.
-
- öπ¡¬µ¿∩ GlobalReAlloc óδ»«½¡∩ÑΓ ΓÑ ªÑ ñÑ⌐ßΓó¿∩, τΓ« ¿
- GlobalReAlloc, ¡« «íÑ «¡¿ ó¼ÑßΓ« «»¿ßáΓѽÑ⌐ ¿ß»«½∞ºπÑΓ π¬áºáΓѽ¿.
-
- ê¼ÑÑΓß∩ Γá¬ªÑ α∩ñ ñαπú¿σ, ¼Ñ¡ÑÑ τáßΓ« ¿ß»«½∞ºπѼδσ
- GlobalXXXX. éßÑ «¡¿ »«ñα«í¡« «»¿ßá¡δ ó â½áóÑ 1 ("æ»αáó«τ¡¿¬ »«
- í¿í½¿«ΓѬÑ") "æ»αáó«τ¡«ú« απ¬«ó«ñßΓóá »α«úαá¼¼¿ßΓá".
-
-
-
- B.Pascal 7 & Objects/LR - 289 -
-
- ô»αáó½Ñ¡¿Ñ ¼«ñπ½Ñ¼
- ─────────────────────────────────────────────────────────────────
-
- Çñ¼¿¡¿ßΓαáΓ«α φΓá»á óδ»«½¡Ñ¡¿∩ »«ññÑনóáÑΓ ß½ÑñπεΘ¿Ñ »«ñ»-
- α«úαá¼¼δ «íß½πª¿óá¡¿∩ ¼«ñπ½Ñ⌐:
-
- Å«ñ»α«úαá¼¼δ API «íß½πª¿óá¡¿∩ ¼«ñπ½Ñ⌐ Æáí½¿µá 17.3
- ┌───────────────────────────┬───────────────────────────────────┐
- │ Å«ñ»α«úαá¼¼á │ Ä»¿ßá¡¿Ñ │
- ├───────────────────────────┼───────────────────────────────────┤
- │ FreeLibrary │ äѽáÑΓ ¡ÑñÑ⌐ßΓó¿Γѽ∞¡δ¼ ºáúαπªÑ¡-│
- │ │ ¡δ⌐ ¼«ñπ½∞ í¿í½¿«ΓѬ¿, ¿ «ßó«í«ª-│
- │ │ ñáÑΓ ß««ΓóÑΓßΓóπεΘπε »á¼∩Γ∞, Ñß½¿│
- │ │ ßß佫¬ ¡á ¼«ñπ½∞ í«½∞ΦÑ ¡ÑΓ. │
- ├───────────────────────────┼───────────────────────────────────┤
- │ GetModuleFileName │ äáÑΓ »«½¡δ⌐ ¼áαΦαπΓ ¿ ¿¼∩ óδ»«½¡∩-│
- │ │ Ѽ«ú« Σá⌐½á, ºáñáεΘ¿⌐, «Γ¬πñá ºáú-│
- │ │ απªÑ¡ ¼«ñπ½∞. │
- ├───────────────────────────┼───────────────────────────────────┤
- │ GetModuleHandle │ Ä»αÑñѽ∩ÑΓ «»¿ßáΓѽ∞ ºáñá¡¡«ú« ¼«-│
- │ │ ñπ½∩. │
- ├───────────────────────────┼───────────────────────────────────┤
- │ GetModuleUsage │ Ä»αÑñѽ∩ÑΓ ßτÑΓτ¿¬ ßß佫¬ ¡á ¼«-│
- │ │ ñπ½∞. │
- ├───────────────────────────┼───────────────────────────────────┤
- │ GetProcAddress │ Ä»αÑñѽ∩ÑΓ áñαÑß φ¬ß»«αΓ¿απѼ«⌐│
- │ │ í¿í½¿«ΓÑτ¡«⌐ Σπ¡¬µ¿¿. │
- ├───────────────────────────┼───────────────────────────────────┤
- │ LoadLibrary │ çáúαπªáÑΓ π¬áºá¡¡δ⌐ í¿í½¿«ΓÑτ¡δ⌐│
- │ │ ¼«ñπ½∞. │
- └───────────────────────────┴───────────────────────────────────┘
-
- ìѬ«Γ«αδÑ ¿º φΓ¿σ »«ñ»α«úαá¼¼ ó«ß»α¿¡¿¼áεΓ ó ¬áτÑßΓóÑ »áαá-
- ¼ÑΓαá «»¿ßáΓѽ∞ ¼«ñπ½∩. Ä»¿ßáΓѽ∞ ¼«ñπ½∩ ßἫ⌐ »α¿¬½áñ¡«⌐ »α«ú-
- αá¼¼δ σαá¡¿Γß∩ ó »ÑαѼѡ¡«⌐ HInstance, «»¿ßá¡¡«⌐ ó ¼«ñπ½Ñ System.
-
-
-
- B.Pascal 7 & Objects/LR - 290 -
-
- ô»αáó½Ñ¡¿Ñ αÑßπαßἿ
- ─────────────────────────────────────────────────────────────────
-
- Çñ¼¿¡¿ßΓαáΓ«α φΓá»á óδ»«½¡Ñ¡¿∩ »«ññÑনóáÑΓ ß½ÑñπεΘ¿Ñ »«ñ»-
- α«úαá¼¼δ π»αáó½Ñ¡¿∩ αÑßπαßἿ:
-
- öπ¡¬µ¿¿ API π»αáó½Ñ¡¿∩ αÑßπαßἿ Æáí½¿µá 17.4
- ┌──────────────────────┬────────────────────────────────────────┐
- │ öπ¡¬µ¿∩ │ Ä»¿ßá¡¿Ñ │
- ├──────────────────────┼────────────────────────────────────────┤
- │ AccessResource │ ÄΓ¬αδóáÑΓ ºáñá¡¡δ⌐ óδ»«½¡∩Ѽδ⌐ Σá⌐½ ¿│
- │ │ »ÑαѼÑΘáÑΓ π¬áºáΓѽ∞ Σá⌐½á ¡á ¡áτὫ│
- │ │ ºáñá¡¡«ú« αÑßπαßá. │
- ├──────────────────────┼────────────────────────────────────────┤
- │ FindResource │ Ä»αÑñѽ∩ÑΓ áñαÑß αÑßπαßá ó ºáñá¡¡«¼│
- │ │ Σá⌐½Ñ αÑßπαßá. │
- ├──────────────────────┼────────────────────────────────────────┤
- │ FreeResource │ ô¼Ñ¡∞ΦáÑΓ ßτÑΓτ¿¬ ßß佫¬ ñ½∩ ºáúαπªÑ¡-│
- │ │ ¡«ú« αÑßπαßá. è«úñá º¡áτÑ¡¿Ñ φΓ«ú«│
- │ │ ßτÑΓτ¿¬á ßΓá¡«ó¿Γß∩ αáó¡δ¼ ¡π½ε, Γ« ¿ß-│
- │ │ »«½∞ºπѼá∩ αÑßπαß«¼ »á¼∩Γ∞ «ßó«í«ªñáÑΓ-│
- │ │ ß∩. │
- ├──────────────────────┼────────────────────────────────────────┤
- │ LoadResource │ çáúαπªáÑΓ ºáñá¡¡δ⌐ αÑßπαß ó »á¼∩Γ∞. │
- ├──────────────────────┼────────────────────────────────────────┤
- │ LoadString │ çáúαπªáÑΓ ºáñá¡¡πε ßΓ᫬π αÑßπαßá. │
- ├──────────────────────┼────────────────────────────────────────┤
- │ LockResource │ ü½«¬¿απÑΓ ºáñá¡¡δ⌐ αÑßπαß ó »á¼∩Γ¿ ¿│
- │ │ πóѽ¿τ¿óáÑΓ Ñú« ßτÑΓτ¿¬ ßß佫¬. │
- ├──────────────────────┼────────────────────────────────────────┤
- │ SizeOfResource │ 髺óαáΘáÑΓ αẼÑα (ó íá⌐Γáσ) ºáñá¡¡«ú«│
- │ │ αÑßπαßá. │
- ├──────────────────────┼────────────────────────────────────────┤
- │ UnlockResource │ Éáºí½«¬¿απÑΓ ºáñá¡¡δ⌐ αÑßπαß ¿ π¼Ñ¡∞Φá-│
- │ │ ÑΓ ¡á 1 ßτÑΓτ¿¬ ßß佫¬ ¡á αÑßπαß. │
- └──────────────────────┴────────────────────────────────────────┘
-
- ÉÑßπαßδ ¼«úπΓ ¬«¼»«¡«óáΓ∞ß∩ ß »α¿¬½áñ¡«⌐ »α«úαá¼¼«⌐ ß »«-
- ¼«Θ∞ε ñ¿αÑ¬Γ¿ó ¬«¼»¿½∩Γ«αá {$R ¿¼∩_Σá⌐½á}. ô¬áºá¡¡δÑ Σá⌐½δ ñ«½ª¡δ
- íδΓ∞ Σá⌐½á¼¿ αÑßπαß«ó Windows (.RES). Äíδτ¡« ß »α¿¬½áñ¡δ¼¿ »α«ú-
- αἼἿ ºáΘ¿ΘÑ¡¡«ú« αѪ¿¼á DOS ¬«¼»«¡πεΓß∩ Γ«½∞¬« ßΓ᫬«óδÑ αÑ-
- ßπαßδ ¿ αÑßπαßδ, «»αÑñѽѡ¡δÑ »«½∞º«óáΓѽѼ. äαπú¿Ñ Γ¿»δ αÑßπαß«ó
- Windows ¬ »α¿¬½áñ¡«⌐ »α«úαá¼¼Ñ DOS «íδτ¡« ¡Ñ»α¿¼Ñ¡¿¼δ.
-
- Åα¿¼Ñτá¡¿Ñ: ÉÑßπαßδ Turbo Vision ¡Ñ ß½ÑñπεΓ ΓѼ ªÑ
- ß«ú½áΦÑ¡¿∩¼, τΓ« αÑßπαßδ Windows, ¿ ¬ ¡¿¼ ¡Ñ½∞º∩ «íαáΘáΓ∞ß∩
- ß »«¼«Θ∞ε »«ñ»α«úαá¼¼ API.
-
- ìѬ«Γ«αδÑ »«ñ»α«úαá¼¼δ API π»αáó½Ñ¡¿∩ αÑßπαßἿ ΓαÑíπεΓ π¬á-
- ºá¡¿∩ «»¿ßáΓѽ∩ φ¬ºÑ¼»½∩αá, ¬«Γ«αδ¼ «íδτ¡« ∩ó½∩ÑΓß∩ π¬áºáΓѽ∞ φ¬-
- ºÑ¼»½∩αá »α¿¬½áñ¡«⌐ »α«úαá¼¼δ (¬«Γ«αδ⌐ ß«ñÑনΓß∩ ó »ÑαѼѡ¡«⌐
- HInstance ¼«ñπ½∩ System).
-
-
- B.Pascal 7 & Objects/LR - 291 -
-
- ô»αáó½Ñ¡¿Ñ ßÑ½Ñ¬Γ«α«¼
- ─────────────────────────────────────────────────────────────────
-
- Åਪ½áñ¡«⌐ »α«úαá¼¼Ñ «íδτ¡« ¡Ñ ΓαÑíπÑΓß∩ ¼á¡¿»π½¿α«óáΓ∞ ßÑ-
- ½Ñ¬Γ«αἿ, ¡« ó «Γñѽ∞¡δσ ß¿Γπᵿ∩σ »«½Ñº¡« ¿ß»«½∞º«óáΓ∞ ß½Ññπε-
- Θ¿Ñ »«ñ»α«úαá¼¼δ «íß½πª¿óá¡¿∩ ßÑ½Ñ¬Γ«αá:
-
- Å«ñ»α«úαá¼¼δ API π»αáó½Ñ¡¿∩ ßÑ½Ñ¬Γ«α«¼ Æáí½¿µá 17.5
- ┌───────────────────────┬───────────────────────────────────────┐
- │ öπ¡¬µ¿∩ │ Ä»¿ßá¡¿Ñ │
- ├───────────────────────┼───────────────────────────────────────┤
- │ AllocDStoCSAlias │ ÄΓ«íαáªáÑΓ ßÑ½Ñ¬Γ«α ßÑú¼Ñ¡Γá ñá¡¡δσ ¡á│
- │ │ ßÑ½Ñ¬Γ«α ßÑú¼Ñ¡Γá ¬«ñá. │
- ├───────────────────────┼───────────────────────────────────────┤
- │ AllocSelector │ éδñѽ∩ÑΓ ¡«óδ⌐ ßÑ½Ñ¬Γ«α. │
- ├───────────────────────┼───────────────────────────────────────┤
- │ ChangeSelector │ âÑ¡Ñα¿απÑΓ ßÑ½Ñ¬Γ«α ¬«ñá, ß««ΓóÑΓßΓóπ-│
- │ │ Θ¿⌐ ºáñá¡¡«¼π ßÑ½Ñ¬Γ«απ ñá¡¡δσ, ¿½¿│
- │ │ úÑ¡Ñα¿απÑΓ ºáñá¡¡δ⌐ ßÑ½Ñ¬Γ«α, ß««Γ-│
- │ │ óÑΓßΓóπεΘ¿⌐ ßÑ½Ñ¬Γ«α𠬫ñá. │
- ├───────────────────────┼───────────────────────────────────────┤
- │ FreeSelector │ Äßó«í«ªñáÑΓ ßÑ½Ñ¬Γ«α, »Ñαó«¡áτá½∞¡«│
- │ │ óδñѽѡ¡δ⌐ Σπ¡¬µ¿∩¼¿ AllocDStoCSAlias│
- │ │ ¿½¿ AllocSelector. │
- ├───────────────────────┼───────────────────────────────────────┤
- │ GetSelectorBase │ äáÑΓ íẫóδ⌐ áñαÑß ßÑ½Ñ¬Γ«αá. │
- ├───────────────────────┼───────────────────────────────────────┤
- │ GetSelectorLimit │ 髺óαáΘáÑΓ »αÑñѽ∞¡«Ñ º¡áτÑ¡¿Ñ ñ½∩ ºá-│
- │ │ ñá¡¡«ú« ßÑ½Ñ¬Γ«αá. │
- ├───────────────────────┼───────────────────────────────────────┤
- │ PrestoChangoSelector│ âÑ¡Ñα¿απÑΓ ßÑ½Ñ¬Γ«α ¬«ñá, ß««ΓóÑΓßΓóπ-│
- │ │ εΘ¿⌐ ºáñá¡¡«¼π ßÑ½Ñ¬Γ«απ ñá¡¡δσ, ½¿í«│
- │ │ úÑ¡Ñα¿απÑΓ ßÑ½Ñ¬Γ«α ñá¡¡δσ, ß««ΓóÑΓß-│
- │ │ ΓóπεΘ¿⌐ ßÑ½Ñ¬Γ«α𠬫ñá. │
- ├───────────────────────┼───────────────────────────────────────┤
- │ SetSelectorBase │ ôßΓá¡áó½¿óáÑΓ íẫóδ⌐ áñαÑß ßÑ½Ñ¬Γ«αá.│
- ├───────────────────────┼───────────────────────────────────────┤
- │ SetSelectorLomit │ ôßΓá¡áó½¿óáÑΓ »αÑñѽ∞¡«Ñ º¡áτÑ¡¿Ñ ßÑ-│
- │ │ ½Ñ¬Γ«αá. │
- └───────────────────────┴───────────────────────────────────────┘
-
-
-
- B.Pascal 7 & Objects/LR - 292 -
-
- äαπú¿Ñ »«ñ»α«úαá¼¼δ API
- ─────────────────────────────────────────────────────────────────
-
- Çñ¼¿¡¿ßΓαáΓ«α φΓá»á óδ»«½¡Ñ¡¿∩ »«ññÑনóáÑΓ ß½ÑñπεΘ¿Ñ ñ«»«½-
- ¡¿Γѽ∞¡δÑ »«ñ»α«úαá¼¼δ API:
-
- Åα«τ¿Ñ »«ñ»α«úαá¼¼δ API Æáí½¿µá 17.6
- ┌───────────────────┬───────────────────────────────────────────┐
- │ öπ¡¬µ¿∩ │ Ä»¿ßá¡¿Ñ │
- ├───────────────────┼───────────────────────────────────────────┤
- │ DOS3Call │ éδºδóáÑΓ Σπ¡¬µ¿ε »αÑαδóá¡¿∩ DOS 21h; óδºδ-│
- │ │ óáÑΓß∩ Γ«½∞¬« ¿º »«ñ»α«úαá¼¼ áßßѼí½Ñαá. │
- ├───────────────────┼───────────────────────────────────────────┤
- │ FatalExit │ ÅÑαÑñáÑΓ «Γ½áñτ¿¬π ΓѬπΘÑÑ ß«ßΓ«∩¡¿Ñ «»Ñ-│
- │ │ αᵿ«¡¡«⌐ ßαÑñδ ºáΘ¿ΘÑ¡¡«ú« αѪ¿¼á ¿ óδ-│
- │ │ óδó«ñ¿Γ »«ñ߬Ậπ ñ½∩ óó«ñá ¿¡ßΓαπ¬µ¿⌐ «│
- │ │ »α«ñ«½ªÑ¡¿¿ αáí«Γδ. │
- ├───────────────────┼───────────────────────────────────────────┤
- │ GetDOSEnviroment│ Ä»αÑñѽ∩ÑΓ ΓѬπΘπε ßΓ᫬𠫻Ñαᵿ«¡¡«⌐│
- │ │ ßαÑñδ ºáñáτ¿. │
- ├───────────────────┼───────────────────────────────────────────┤
- │ GetVersion │ äáÑΓ ΓѬπΘπε óÑαß¿ε «»Ñαᵿ«¡¡«⌐ ßαÑñδ│
- │ │ Windows ¿½¿ «»Ñαᵿ«¡¡«⌐ ß¿ßΓѼδ DOS. │
- ├───────────────────┼───────────────────────────────────────────┤
- │ GetWinFlags │ äáÑΓ ¿ß»«½∞ºπѼδÑ Windows Σ½áú¿ ¬«¡Σ¿úπαá-│
- │ │ µ¿¿ »á¼∩Γ¿. │
- ├───────────────────┼───────────────────────────────────────────┤
- │ MessageBox │ 櫺ñáÑΓ, óδó«ñ¿Γ ¡á φ¬αá¡ ¿ «íß½πª¿óáÑΓ│
- │ │ «¬¡« ß««íΘÑ¡¿⌐. │
- └───────────────────┴───────────────────────────────────────────┘
-
- æ«ó¼ÑßΓ¡« ¿ß»«½∞ºπѼá∩ DLL, τΓ«íδ «»αÑñѽ¿Γ∞, óδ»«½¡∩ÑΓß∩ ½¿
- «¡á ó ºáΘ¿ΘÑ¡¡«¼ αѪ¿¼Ñ DOS ¿½¿ »«ñ Windows, ¼«ªÑΓ ¿ß»«½∞º«óáΓ∞
- Σπ¡¬µ¿ε GetWinFlags, ¡á»α¿¼Ñα:
-
- if GetWinFlags and wf_DPMI <> 0 then
- Message('Éáí«Γá ó ºáΘ¿ΘÑ¡¡«¼ αѪ¿¼Ñ DOS')
- else
- Message('Éáí«Γá ó ßαÑñÑ Windows');
-
-
-
- B.Pascal 7 & Objects/LR - 293 -
-
- Åα∩¼«⌐ ñ«ßΓπ» ¬ DPMI-ßÑαóÑαπ
- ─────────────────────────────────────────────────────────────────
-
- Åα∩¼«⌐ ñ«ßΓπ» ¬ DPMI-ßÑαóÑαπ óδ ¼«ªÑΓÑ »«½πτ¿Γ∞ τÑαѺ »αÑαδ-
- óá¡¿Ñ $31, ¬«Γ«α«Ñ ¡Ñ»«ßαÑñßΓóÑ¡¡« óδºδóáÑΓ DPMI-ßÑαóÑα ó «íσ«ñ
- áñ¼¿¡¿ßΓαáΓ«αá φΓá»á óδ»«½¡Ñ¡¿∩. Äñ¡á¬« φΓ« «»áß¡δ⌐ »α¿Ñ¼. DPMI
- ¡Ñ »«ññÑনóáÑΓ «τ¿ßΓ¬π αÑßπαß«ó, Γᬿσ ¬á¬ óÑ¬Γ«αδ »αÑαδóá¡¿⌐
- »á¼∩Γ¿; ¬«ααÑ¬Γ¡« ß φΓ¿¼¿ »α«í½Ñ¼á¼¿ αáí«ΓáÑΓ áñ¼¿¡¿ßΓαáΓ«α φΓá»á
- óδ»«½¡Ñ¡¿∩. éδ ñ«½ª¡δ ú½πí«¬« »«¡¿¼áΓ∞ ¬«¡µÑ»µ¿¿ ºáΘ¿ΘÑ¡¡«ú« αÑ-
- ª¿¼á ¿ º¡áΓ∞ « ßπΘÑßΓóÑ¡¡«¼ α¿ß¬Ñ, ß ¬«Γ«αδ¼ ßó∩ºá¡« ¿ß»«½∞º«óá-
- ¡¿Ñ ñá¡¡«ú« ¼ÑΓ«ñá ñ«ßΓπ»á ºáΘ¿ΘÑ¡¡«ú« αѪ¿¼á.
-
- 諼»¿½∩µ¿∩ »α¿¬½áñ¡«⌐ »α«úαá¼¼δ ºáΘ¿ΘÑ¡¡«ú« αѪ¿¼á
- ─────────────────────────────────────────────────────────────────
-
- é í«½∞Φ¿¡ßΓóÑ ß½πτáÑó ñ½∩ »«½πτÑ¡¿∩ »α¿¬½áñ¡«⌐ »α«úαá¼¼δ ºá-
- Θ¿ΘÑ¡¡«ú« αѪ¿¼á óá¼ ¡Ñ ¡πª¡« ñѽáΓ∞ ¡¿τÑú« «ß«íÑ¡¡«ú«. Åα«ßΓ«
- ߬«¼»¿½¿απ⌐ΓÑ ßó«ε »α«úαá¼¼π, ºáñáó ó ¬áτÑßΓóÑ µÑ½Ñó«⌐ αáí«Γδ ºá-
- Θ¿ΘÑ¡¡δ⌐ αѪ¿¼ «ñ¡¿¼ ¿º ß½ÑñπεΘ¿σ ß»«ß«í«ó:
-
- * é IDE óδíÑα¿ΓÑ ¬«¼á¡ñπ Compile│Target ¿ ó ñ¿á½«ú«ó«¼ «¬¡Ñ
- Target Platform (ûѽÑóá∩ »½áΓΣ«α¼á) óδíÑα¿ΓÑ
- Protected-mode Application.
-
- * Åα¿ ¿ß»«½∞º«óá¡¿¿ ¬«¼»¿½∩Γ«αá, αáí«ΓáεΘÑú« ó αѪ¿¼Ñ ¬«-
- ¼á¡ñ¡«⌐ ßΓ᫬¿, π¬áª¿ΓÑ ñ½∩ óδí«αá ó ¬áτÑßΓóÑ µÑ½Ñó«⌐
- »½áΓΣ«α¼δ ºáΘ¿ΘÑ¡¡«ú« αѪ¿¼á »áαá¼ÑΓα /CP.
-
-
-
- B.Pascal 7 & Objects/LR - 294 -
-
- éδ»«½¡Ñ¡¿Ñ »α«úαá¼¼δ ºáΘ¿ΘÑ¡¡«ú« αѪ¿¼á DOS
- ─────────────────────────────────────────────────────────────────
-
- è«úñá óδ óδ»«½¡∩ÑΓÑ »α«úαá¼¼π DOS ºáΘ¿ΘÑ¡¡«ú« αѪ¿¼á, ¡πª¡«
- «íÑß»Ñτ¿Γ∞ ¡á½¿τ¿Ñ ó ΓѬπΘѼ ¬áΓὫúÑ ¿½¿ »« ¼áαΦαπΓπ DOS Σá⌐½«ó
- DPMI16BI.OVL (ßÑαóÑα DPMI), RTM.EXE (áñ¼¿¡¿ßΓαáΓ«α φΓá»á óδ»«½¡Ñ-
- ¡¿∩) ¿ óßÑσ DLL, ß ¬«Γ«α묨 αáí«ΓáÑΓ óáΦá »α«úαá¼¼á.
-
- Åα¿¼Ñτá¡¿Ñ: ￵ѡº¿«¡¡«Ñ ß«ú½áΦÑ¡¿Ñ »«ºó«½∩ÑΓ óá¼
- αáß»α«ßΓαá¡∩Γ∞ Σá⌐½δ DPMI16BI.OVL ¿ RTM.EXE ó¼ÑßΓÑ ß óáΦÑ⌐
- »α«úαá¼¼«⌐.
-
- é óδ»«½¡∩Ѽ«¼ Σá⌐½Ñ .EXE ºáΘ¿ΘÑ¡¡«ú« αѪ¿¼á DOS ¿ß»«½∞ºπÑΓß∩
- ëà ªÑ Σ«α¼áΓ Σá⌐½á, τΓ« ¿ ó Windows 3.x ¿ OS/2 1.x. ¥Γ«Γ Σ«α¼áΓ
- Σá⌐½á ∩ó½∩ÑΓß∩ ¡áñ¼¡«ªÑßΓó«¼ «íδτ¡«ú« Σ«α¼áΓá .EXE DOS ¿ ß«ßΓ«¿Γ
- ¿º «íδτ¡«ú« «íαáºá Σá⌐½á .EXE, ¡áºδóáѼ«ú« Σ¿¬Γ¿ó¡δ¼ ¼«ñπ½Ñ¼, ºá
- ¬«Γ«αδ¼ ß½ÑñπÑΓ αáßΦ¿αÑ¡¡δ⌐ ºáú«½«ó«¬ ¿ ¬«ñ, ñá¡¡δÑ ¿ αÑßπαßδ ºá-
- Θ¿ΘÑ¡¡«ú« αѪ¿¼á. ì¿ªÑ »«¬áºá¡á »«ß½Ññ«óáΓѽ∞¡«ßΓ∞ ß«íδΓ¿⌐ »α¿
- óδ»«½¡Ñ¡¿¿ »α«úαá¼¼δ ºáΘ¿ΘÑ¡¡«ú« αѪ¿¼á DOS.
-
- 1. DOS ºáúαπªáÑΓ Σ¿¬Γ¿ó¡δ⌐ ¼«ñπ½∞ αÑá½∞¡«ú« αѪ¿¼á ¿ »ÑαÑñá-
- ÑΓ Ñ¼π π»αáó½Ñ¡¿Ñ.
-
- 2. àß½¿ ßαÑñßΓóá DPMI «ΓßπΓßΓóπεΓ, Γ« Σ¿¬Γ¿ó¡δ⌐ ¼«ñπ½∞ ºáú-
- απªáÑΓ DPMI-ßÑαóÑα ¿º Σá⌐½á DPMI16BI.OVL. ìѬ«Γ«αδÑ ¡«óδÑ
- áñ¼¿¡¿ßΓαáΓ«αδ »á¼∩Γ¿ »«ññÑনóáεΓ ßαÑñßΓóá DPMI (¬á¬,
- ¡á»α¿¼Ñα, φΓ« ñѽáÑΓß∩ ó «¬¡Ñ DOS π½πτΦÑ¡¡«ú« αѪ¿¼á
- Windows 3.σ). é Γá¬¿σ ¬«¡Σ¿úπαᵿ∩σ Σ¿¬Γ¿ó¡δ⌐ ¼«ñπ½∞ ¡Ñ
- ºáúαπªáÑΓ DPMI-ßÑαóÑα, ¡« ¿ß»«½∞ºπÑΓ πªÑ ¿¼ÑεΘ¿⌐ß∩.
-
- 3. äá½ÑÑ, Ñß½¿ áñ¼¿¡¿ßΓαáΓ«α φΓá»á óδ»«½¡Ñ¡¿∩ ÑΘÑ ¡Ñ ºáúαπ-
- ªÑ¡ ó »á¼∩Γ∞, Σ¿¬Γ¿ó¡δ⌐ ¼«ñπ½∞ ºáúαπªáÑΓ Ñú« ¿º Σá⌐½á
- RTM.EXE. àß½¿ »α¿¬½áñ¡á∩ »α«úαá¼¼á ºáΘ¿ΘÑ¡¡«ú« αѪ¿¼á óδ-
- »«½¡∩ÑΓ ñαπúπε »α«úαá¼¼π ºáΘ¿ΘÑ¡¡«ú« αѪ¿¼á, «íÑ ¿ß»«½∞-
- ºπεΓ «ñ¡π ¬«»¿ε áñ¼¿¡¿ßΓαáΓ«αá φΓá»á óδ»«½¡Ñ¡¿∩.
-
- 4. àß½¿ ßαÑñßΓóá DPMI ¿ áñ¼¿¡¿ßΓαáΓ«α φΓá»á óδ»«½¡Ñ¡¿∩ »α¿-
- ßπΓßΓóπεΓ, Σ¿¬Γ¿ó¡δ⌐ ¼«ñπ½∞ »ÑαѬ½ετáÑΓß∩ ¿º αÑá½∞¡«ú« ó
- ºáΘ¿ΘÑ¡¡δ⌐ αѪ¿¼ ¿ »ÑαÑñáÑΓ π»αáó½Ñ¡¿Ñ αáßΦ¿αÑ¡¡«¼π ºáú-
- απºτ¿¬π .EXE ó áñ¼¿¡¿ßΓαáΓ«αá φΓá»á óδ»«½¡Ñ¡¿∩.
-
- 5. çáúαπºτ¿¬ ß¡áτá½á ºáúαπªáÑΓ ¿ß»«½∞ºπѼπε »α¿¬½áñ¡«⌐ »α«ú-
- αá¼¼«⌐ DLL (Ñß½¿ «¡á ¿¼ÑÑΓß∩), ºáΓѼ ºáúαπªáÑΓ ßÑú¼Ñ¡Γδ
- ¬«ñá ¿ ñá¡¡δσ »α¿¬½áñ¡«⌐ »α«úαá¼¼δ. ìᬫ¡Ñµ, ºáúαπºτ¿¬
- »ÑαÑñáÑΓ π»αáó½Ñ¡¿Ñ ¡á Γ«τ¬π óσ«ñá »α¿¬½áñ¡«⌐ »α«úαá¼¼δ.
-
- Åα¿ óδ»«½¡Ñ¡¿¿ óáΦÑ⌐ »α¿¬½áñ¡«⌐ »α«úαá¼¼δ ºáΘ¿ΘÑ¡¡«ú« αѪ¿¼á
- DOS óßÑúñá 󫺼«ª¡« ß¿Γπᵿ∩, ¬«úñá πªÑ »α¿ßπΓßΓóπÑΓ DMPI-ßÑαóÑα,
- «Γ½¿τ¡δ⌐ «Γ ßÑαóÑαá Borland. ū߬«½∞¬π ¼Ñªñπ ßÑαóÑαἿ ¼«úπΓ íδΓ∞
- ¡Ñí«½∞Φ¿Ñ αẽ¿τ¿∩, «ß«íÑ¡¡« ó »½á¡Ñ «íαáí«Γ¬¿ »αÑαδóá¡¿⌐ DOS, óδ
- ñ«½ª¡δ »α«óÑα¿Γ∞ »α«úαá¼¼π ¿ πíÑñ¿Γ∞ß∩, τΓ« «¡á αáí«ΓáÑΓ ß« óßѼ¿
- 󫺼«ª¡δ¼¿ ßÑαóÑαἿ, ¬«Γ«αδÑ ¼«úπΓ Ñ⌐ óßΓαÑΓ¿Γ∞ß∩.
-
-
- B.Pascal 7 & Objects/LR - 295 -
-
- è«úñá »α¿¬½áñ¡á∩ »α«úαá¼¼á ºáΘ¿ΘÑ¡¡«ú« αѪ¿¼á DOS óδ»«½¡∩ÑΓ-
- ß∩ ó «¬¡Ñ DOS π½πτΦÑ¡¡«ú« αѪ¿¼á Windows, óδ ¼«ªÑΓÑ π»αáó½∩Γ∞
- «íΩѼ«¼ αáßΦ¿αÑ¡¡«⌐ »á¼∩Γ¿, ¬«Γ«απε óδñѽ∩ÑΓ áñ¼¿¡¿ßΓαáΓ«α φΓá»á
- óδ»«½¡Ñ¡¿∩, ºáñáó ó Σá⌐½Ñ .PIF »α¿¬½áñ¡«⌐ »α«úαá¼¼δ »αÑñѽ∞¡«Ñ
- º¡áτÑ¡¿Ñ »á¼∩Γ¿ XMS.
-
-
- ô»αáó½Ñ¡¿Ñ «íΩѼ«¼ ¿ß»«½∞ºπѼ«⌐ RTM »á¼∩Γ¿
- ─────────────────────────────────────────────────────────────────
-
- Å« π¼«½τá¡¿ε áñ¼¿¡¿ßΓαáΓ«α φΓá»á óδ»«½¡Ñ¡¿∩ ¿ß»«½∞ºπÑΓ »α¿
- ºáúαπº¬Ñ óßε ñ«ßΓπ»¡πε »á¼∩Γ∞. çáΓѼ »« ºá»α«ßá¼ «¡ óδñѽ∩ÑΓ »á-
- ¼∩Γ∞ ßó«¿¼ ¬½¿Ñ¡Γá¼ (τÑαѺ »«ñ»α«úαá¼¼δ API áñ¼¿¡¿ßΓαáΓ«αá »á¼∩-
- Γ¿).
-
- é ºáΘ¿ΘÑ¡¡«¼ αѪ¿¼Ñ ¡ÑΓ αạ¿µδ ¼Ñªñπ «íδτ¡«⌐ »á¼∩Γ∞ε (¡¿ªÑ
- 1 ¼Ñúáíá⌐Γá) ¿ αáßΦ¿αÑ¡¡«⌐ »á¼∩Γ∞ε (ß áñαÑßἿ óδΦÑ 1 ¼Ñúáíá⌐Γá);
- ñ½∩ »α«úαá¼¼ ºáΘ¿ΘÑ¡¡«ú« αѪ¿¼á ñ«ßΓπ»¡δ «íá Γ¿»á »á¼∩Γ¿. Äñ¡á¬«
- áñ¼¿¡¿ßΓαáΓ«α φΓá»á óδ»«½¡Ñ¡¿Ñ «ΓñáÑΓ »αÑñ»«τΓÑ¡¿Ñ αáßΦ¿αÑ¡¡«⌐
- »á¼∩Γ¿. Æ«½∞¬« »«ß½Ñ Γ«ú« ¬á¬ óß∩ αáßΦ¿αÑ¡¡á∩ »á¼∩Γ∞ íπñÑΓ óδñÑ-
- ½Ñ¡á, ¿½¿ ¬«úñá »α¿¬½áñ¡á∩ »α«úαá¼¼á ߻ѵ¿á½∞¡« ºá»αáΦ¿óáÑΓ
- «íδτ¡πε »á¼∩Γ∞ (¡á»α¿¼Ñα, ß »«¼«Θ∞ε Σπ¡¬µ¿¿ GlobalDosAlloc), áñ-
- ¼¿¡¿ßΓαáΓ«α φΓá»á óδ»«½¡Ñ¡¿∩ óδñѽ∩ÑΓ «íδτ¡πε »á¼∩Γ∞.
-
- Åα¿τ¿¡á, »« ¬«Γ«α«⌐ áñ¼¿¡¿ßΓαáΓ«α φΓá»á óδ»«½¡Ñ¡¿∩ »αÑñ»«τ¿-
- ΓáÑΓ αáßΦ¿αÑ¡¡πε »á¼∩Γ∞, ºá¬½ετáÑΓß∩ ó Γ«¼, τΓ« »α¿¬½áñ¡á∩ »α«ú-
- αá¼¼á ¼«ªÑΓ ß »«¼«Θ∞ε ó맮óá »«ñ»α«úαá¼¼δ Exec ó ¼«ñπ½Ñ Dos »«-
- ᫪ñáΓ∞ ñαπú¿Ñ »α¿¬½áñ¡δÑ »α«úαá¼¼δ. Å«α«ªñÑ¡¡δÑ »α¿¬½áñ¡δÑ »α«ú-
- αá¼¼δ ¡Ñ «í∩ºáΓѽ∞¡« ∩ó½∩εΓß∩ »α«úαἼἿ ºáΘ¿ΘÑ¡¡«ú« αѪ¿¼á; Γá-
- ¬¿¼ «íαẫ¼, ¿¼ ¼«ªÑΓ »«ΓαÑí«óáΓ∞ß∩ «íδτ¡á∩ »á¼∩Γ∞. öá¬Γ¿τÑ߬¿,
- »«α«ªñÑ¡¡δÑ »α«úαá¼¼δ ºáΘ¿ΘÑ¡¡«ú« αѪ¿¼á ºá»π߬áεΓß∩ ¬á¬ »α«úαá¼-
- ¼δ αÑá½∞¡«ú« αѪ¿¼á ¿ »ÑαѬ½ετáεΓß∩ ó ºáΘ¿ΘÑ¡¡δ⌐ αѪ¿¼ Γ«½∞¬«
- »«ß½Ñ πß»ÑΦ¡«⌐ ºáúαπº¬¿ Σ¿¬Γ¿ó¡δ¼ ¼«ñπ½Ñ¼ ßαÑñßΓó DPMI ¿ áñ¼¿-
- ¡¿ßΓαáΓ«αá φΓá»á óδ»«½¡Ñ¡¿∩.
-
- Çñ¼¿¡¿ßΓαáΓ«α φΓá»á óδ»«½¡Ñ¡¿∩ »ÑαÑñ »«α«ªñÑ¡¿Ñ¼ »α¿¬½áñ¡«⌐
- »α«úαá¼¼δ »δΓáÑΓß∩ «ßó«í«ñ¿Γ∞ ¼á¬ß¿¼á½∞¡δ⌐ «íΩѼ «íδτ¡«⌐ »á¼∩Γ¿
- (¡á»α¿¼Ñα, »ÑαÑ¡Ñß∩ »ÑαѼÑΘáѼδÑ í½«¬¿ ó αáßΦ¿αÑ¡¡πε »á¼∩Γ∞). Äñ-
- ¡á¬« »«»δΓ¬¿ «ßó«í«ªñÑ¡¿∩ αáßΦ¿αÑ¡¡«⌐ »á¼∩Γ¿ ¡Ñ »αÑñ»α¿¡¿¼áεΓß∩.
- Æá¬¿¼ «íαẫ¼, Ñß½¿ ñ«½ª¡δ »«α«ªñáΓ∞ß∩ »α¿¬½áñ¡δÑ »α«úαá¼¼δ ºáΘ¿-
- ΘÑ¡¡«ú« αѪ¿¼á, ¡Ñ ¿ß»«½∞ºπεΘ¿Ñ áñ¼¿¡¿ßΓαáΓ«α φΓá»á óδ»«½¡Ñ¡¿∩,
- Γ« ¡Ñ«íσ«ñ¿¼ ß»«c«í π»αáó½Ñ¡¿∩ αáß»αÑñѽѡ¿Ñ¼ »á¼∩Γ¿ áñ¼¿¡¿ßΓαá-
- Γ«α«¼ φΓá»á óδ»«½¡Ñ¡¿∩.
-
- ùΓ«íδ π»αáó½∩Γ∞ ΓѼ, ߬«½∞¬« »á¼∩Γ¿ ¼«ªÑΓ ¿ß»«½∞º«óáΓ∞ áñ¼¿-
- ¡¿ßΓαáΓ«α φΓá»á óδ»«½¡Ñ¡¿∩, ó ¬«¼á¡ñ¡«⌐ ßΓα«¬Ñ DOS ñ«íáó∞ΓÑ ¬
- ßΓα«¬Ñ «»Ñαᵿ«¡¡«⌐ ßαÑñδ DOS »ÑαѼѡ¡πε ßαÑñδ RTM:
-
- SET RTM={»áαá¼ÑΓα nnnn}
-
- 髺¼«ª¡δÑ »áαá¼ÑΓαδ »ÑαÑτ¿ß½Ñ¡δ ó ß½ÑñπεΘÑ⌐ Γáí½¿µÑ. ç¡áτÑ-
- ¡¿Ñ nnnn ¼«ªÑΓ íδΓ∞ ñÑß∩Γ¿τ¡δ¼ ¿½¿ ΦÑßΓ¡áñµáΓ¿α¿τ¡δ¼ τ¿ß½«¼ ó ó¿-
- ñÑ xAB54 ¿½¿ xab54.
-
- B.Pascal 7 & Objects/LR - 296 -
-
-
- Åáαá¼ÑΓαδ »ÑαѼѡ¡«⌐ «»Ñαᵿ«¡¡«⌐
- ßαÑñδ RTM, ¿ß»«½∞ºπѼδÑ ñ½∩ π»αáó½Ñ¡¿∩ »á¼∩Γ∞ε Æáí½¿µá 17.7
- ┌────────────────────┬──────────────────────────────────────────┐
- │ Åáαá¼ÑΓα │ Ä»¿ßá¡¿Ñ │
- ├────────────────────┼──────────────────────────────────────────┤
- │ EXTLEAVE nnnn │ éßÑúñá «ßΓáó½∩ÑΓ ¡Ñ ¼Ñ¡ÑÑ nnnn ¬¿½«íá⌐Γ│
- │ │ ñ«ßΓπ»¡«⌐ αáßΦ¿αÑ¡¡«⌐ »á¼∩Γ¿. Å« π¼«½τá-│
- │ │ ¡¿ε φΓ« º¡áτÑ¡¿Ñ αáó¡« 640è. │
- ├────────────────────┼──────────────────────────────────────────┤
- │ EXTMAX nnnn │ ìÑ óδñѽ∩ÑΓ í«½ÑÑ nnnn ¬¿½«íá⌐Γ αáßΦ¿αÑ¡-│
- │ │ ¡«⌐ »á¼∩Γ¿. Å« π¼«½τá¡¿ε ¿ß»«½∞ºπÑΓß∩│
- │ │ º¡áτÑ¡¿Ñ 4 ú¿úáíá⌐Γá. é Windows ¿ß»«½∞ºπ-│
- │ │ Ѽ«Ñ »« π¼«½τá¡¿ε º¡áτÑ¡¿Ñ αáó¡« »«½«ó¿¡Ñ│
- │ │ ñ«ßΓπ»¡«⌐ »á¼∩Γ¿. │
- ├────────────────────┼──────────────────────────────────────────┤
- │ EXTMIN nnnn │ àß½¿ »«ß½Ñ »α¿¼Ñ¡Ñ¡¿∩ EXTMAX ¿½¿ EXTLEAVE│
- │ │ ñ«ßΓπ»¡« ¼Ñ¡ÑÑ nnnn ¬¿½«íá⌐Γ, Γ« »α«úαá¼-│
- │ │ ¼á ºáóÑαΦáÑΓß∩ ß ß««íΘÑ¡¿Ñ¼ « ¡ÑσóáΓ¬Ñ│
- │ │ »á¼∩Γ¿ (Out of memory). Å« π¼«½τá¡¿ε φΓ«│
- │ │ º¡áτÑ¡¿Ñ αáó¡« 0. │
- ├────────────────────┼──────────────────────────────────────────┤
- │ REALLEAVE nnnn │ éßÑúñá «ßΓáó½∩ÑΓ ¡Ñ ¼Ñ¡ÑÑ nnnn »áαáúαáΣ«ó│
- │ │ ñ«ßΓπ»¡«⌐ αÑá½∞¡«⌐ »á¼∩Γ¿. Å« π¼«½τá¡¿ε│
- │ │ φΓ« º¡áτÑ¡¿Ñ αáó¡« 64è ¿½¿ 4096 »áαáúαá-│
- │ │ Σ«ó. │
- ├────────────────────┼──────────────────────────────────────────┤
- │ REALMAX nnnn │ ìÑ óδñѽ∩ÑΓ í«½ÑÑ nnnn »áαáúαáΣ«ó αÑá½∞-│
- │ │ ¡«⌐ »á¼∩Γ¿. Å« π¼«½τá¡¿ε φΓ« º¡áτÑ¡¿Ñ│
- │ │ αáó¡« 1 ¼Ñúáíá⌐Γπ ¿½¿ 65535 »áαáúαáΣ«ó. │
- ├────────────────────┼──────────────────────────────────────────┤
- │ REALMIN nnnn │ àß½¿ »«ß½Ñ »α¿¼Ñ¡Ñ¡¿∩ REALMAX ¿ REALLEAVE│
- │ │ ñ«ßΓπ»¡« ¼Ñ¡ÑÑ nnnn »áαáúαáΣ«ó, Γ« »α«ú-│
- │ │ αá¼¼á ºáóÑαΦáÑΓß∩ ß ß««íΘÑ¡¿Ñ¼ « ¡ÑσóáΓ¬Ñ│
- │ │ »á¼∩Γ¿ (Out of memory). Å« π¼«½τá¡¿ε φΓ«│
- │ │ º¡áτÑ¡¿Ñ αáó¡« 0. │
- └────────────────────┴──────────────────────────────────────────┘
-
- æ½ÑñπεΘá∩ ¬«¼á¡ñá DOS «úαá¡¿τ¿óáÑΓ RTM 2 ¼Ñúáíá⌐ΓἿ αáßΦ¿-
- αÑ¡¡«⌐ »á¼∩Γ¿ ¿ «íÑß»Ñτ¿óáÑΓ, τΓ« ¡Ñαáß»αÑñѽѡ¡δ¼¿ «ßΓá¡πΓß∩
- 128è αÑá½∞¡«⌐ »á¼∩Γ¿.
-
- SET RTM=EXTMAX 2048 REALLEAVE 8192
-
- B.Pascal 7 & Objects/LR - 297 -
-
- ───────────────────────────────────────────────────────────────────────
- â½áóá 18. æΓ᫬¿ ß ºáóÑαΦáεΘ¿¼ ¡π½Ñ¼
- ─────────────────────────────────────────────────────────────────
-
- é Borland Pascal »«ññÑনóáÑΓß∩ ¬½áßß ß¿¼ó«½∞¡δσ ßΓ᫬, ¬«-
- Γ«αδÑ ¡áºδóáεΓß∩ ßΓα«¬á¼¿, ºáóÑαΦáεΘ¿¼¿ß∩ ¡π½Ñ¼. ü½áú«ñáα∩ αáßΦ¿-
- αÑ¡¡«¼π ß¿¡Γá¬ß¿ßπ Borland Pascal ¿ ¼«ñπ½ε Strings óáΦ¿ »α«úαá¼¼δ
- (¬á¬ ñ½∩ DOS, Γᬠ¿ ñ½∩ Windows) ¼«úπΓ ¿ß»«½∞º«óáΓ∞ ßΓ᫬¿ ß ºá-
- óÑαΦáεΘ¿¼ ¡π½Ñ¼ »πΓѼ ºáñá¡¿∩ ó «»ÑαáΓ«αÑ uses ¼«ñπ½∩ Strings.
-
- ùΓ« Γá¬«Ñ ßΓ᫬á ß ºáóÑαΦáεΘ¿¼ ¡π½Ñ¼?
- ─────────────────────────────────────────────────────────────────
-
- é Borland Pascal ßΓ᫬¿ «íδτ¡«ú« Γ¿»á (String) σαá¡∩Γß∩ ¬á¬
- íá⌐Γ ñ½¿¡δ, ºá ¬«Γ«αδ¼ ß½ÑñπÑΓ »«ß½Ññ«óáΓѽ∞¡«ßΓ∞ ß¿¼ó«½«ó. îá¬-
- ß¿¼á½∞¡á∩ ñ½¿¡á ßΓ᫬¿ ó Åá߬á½Ñ αáó¡á 255 ß¿¼ó«½á¼. Æá¬¿¼ «íαá-
- º«¼, ßΓ᫬á Åá߬á½∩ ºá¡¿¼áÑΓ «Γ 1 ñ« 256 íá⌐Γ »á¼∩Γ¿.
-
- æΓ᫬¿ ß ºáóÑαΦáεΘ¿¼ ¡π½Ñ¼ ¡Ñ ß«ñÑαªáΓ íá⌐Γá ñ½¿¡δ. é¼ÑßΓ«
- φΓ«ú« «¡¿ ß«ßΓ«∩Γ ¿º »«ß½Ññ«óáΓѽ∞¡«ßΓ¿ ¡Ñ¡π½Ñóδσ ß¿¼ó«½«ó, ºá
- ¬«Γ«α묨 ß½ÑñπÑΓ ß¿¼ó«½ NULL (#0). 쿬ᬿσ «úαá¡¿τÑ¡¿⌐ ¡á ñ½¿¡π
- ßΓ᫬ ß ºáóÑαΦáεΘ¿¼ ¡π½Ñ¼ ¡Ñ ¡á¬½áñδóáÑΓß∩, ¡« 16-αáºα∩ñ¡á∩ áασ¿-
- ΓѬΓπαá DOS ¿ Windows «úαá¡¿τ¿óáÑΓ ¿σ αẼÑα 65535 ß¿¼ó«½á¼¿.
-
- öπ¡¬µ¿¿ ¼«ñπ½∩ Strings
- ─────────────────────────────────────────────────────────────────
-
- Borland Pascal ¡Ñ ¿¼ÑÑΓ óßΓα«Ñ¡¡δσ »«ñ»α«úαá¼¼, »αÑñ¡áº¡á-
- τÑ¡¡δσ ߻ѵ¿á½∞¡« ñ½∩ αáí«Γδ ß« ßΓα«¬á¼¿ ß ºáóÑαΦáεΘ¿¼ ¡π½Ñ¼. ¥Γ¿
- Σπ¡¬µ¿¿ óδ ¼«ªÑΓÑ ¡á⌐Γ¿ ó ¼«ñπ½Ñ Strings. æαÑñ¿ ¡¿σ óδ ¡á⌐ñÑΓÑ
- Σπ¡¬µ¿ε StrPCopy, ¬«Γ«απε ¼«ª¡« ¿ß»«½∞º«óáΓ∞ ñ½∩ ¬«»¿α«óá¡¿∩
- ßΓ᫬¿ Åá߬á½∩ ó ßΓ᫬π ß ºáóÑαΦáεΘ¿¼ ¡π½Ñ¼, ¿ StrPos, ¿ß»«½∞ºπÑ-
- ¼πε ñ½∩ »αÑ«íαẫóá¡¿∩ ßΓ᫬¿ ß ºáóÑαΦáεΘ¿¼ ¡π½Ñ¼ ó ßΓ᫬π Åá߬á-
- ½∩. Åα¿óÑñѼ ¬αáΓ¬«Ñ «»¿ßá¡¿Ñ ¬áªñ«⌐ Σπ¡¬µ¿¿:
-
-
-
- B.Pascal 7 & Objects/LR - 298 -
-
- öπ¡¬µ¿¿ ¼«ñπ½∩ Strings
- ┌──────────────┬────────────────────────────────────────────────┐
- │ öπ¡¬µ¿∩ │ Ä»¿ßá¡¿Ñ │
- ├──────────────┼────────────────────────────────────────────────┤
- │ StrCat │ ä«íáó½∩ÑΓ ¿ßσ«ñ¡πε ßΓப㠪 ¬«¡µπ µÑ½Ñó«⌐ ßΓα«-│
- │ │ ¬¿ ¿ ó«ºóαáΘáÑΓ π¬áºáΓѽ∞ ¡á µÑ½Ñóπε ßΓ᫬π. │
- ├──────────────┼────────────────────────────────────────────────┤
- │ StrComp │ æαáó¡¿óáÑΓ ñóÑ ßΓ᫬¿ S1 ¿ S2. 髺óαáΘáÑΓ│
- │ │ º¡áτÑ¡¿Ñ < 0, Ñß½¿ S1 < S2, αáó¡«Ñ 0, Ñß½¿ S1 =│
- │ │ S2 ¿ > 0, Ñß½¿ S1 > S2. │
- ├──────────────┼────────────────────────────────────────────────┤
- │ StrCopy │ è«»¿απÑΓ ¿ßσ«ñ¡πε ßΓ᫬π ó µÑ½Ñóπε ßΓ᫬π ¿│
- │ │ ó«ºóαáΘáÑΓ π¬áºáΓѽ∞ ¡á µÑ½Ñóπε ßΓ᫬π. │
- ├──────────────┼────────────────────────────────────────────────┤
- │ StrECopy │ è«»¿απÑΓ ¿ßσ«ñ¡πε ßΓ᫬π ó µÑ½Ñóπε ßΓ᫬π ¿│
- │ │ ó«ºóαáΘáÑΓ π¬áºáΓѽ∞ ¡á ¬«¡Ñµ µÑ½Ñó«⌐ ßΓ᫬¿. │
- ├──────────────┼────────────────────────────────────────────────┤
- │ StrIComp │ æαáó¡¿óáÑΓ ñóÑ ßΓ᫬¿ íѺ αẽ¿τ¿∩ αÑú¿ßΓαá│
- │ │ ß¿¼ó«½«ó. │
- ├──────────────┼────────────────────────────────────────────────┤
- │ StrLCat │ Åα¿ß«Ññ¿¡∩ÑΓ ¿ßσ«ñ¡πε ßΓப㠪 ¬«¡µπ µÑ½Ñó«⌐│
- │ │ ßΓ᫬¿. Åα¿ φΓ«¼ «íÑß»Ñτ¿óáÑΓß∩, τΓ« ñ½¿¡á αÑ-│
- │ │ ºπ½∞Γ¿απεΘÑ⌐ ßΓ᫬¿ ¡Ñ »αÑóδΦáÑΓ ºáñá¡¡«ú« ¼á¬-│
- │ │ ß¿¼π¼á. 髺óαáΘáÑΓß∩ π¬áºáΓѽ∞ ¡á ßΓ᫬π-αÑ-│
- │ │ ºπ½∞ΓáΓ. │
- ├──────────────┼────────────────────────────────────────────────┤
- │ StrLComp │ æαáó¡¿óáÑΓ ñóÑ ßΓ᫬¿ ß ºáñá¡¡«⌐ ¼á¬ß¿¼á½∞¡«⌐│
- │ │ ñ½¿¡«⌐. │
- ├──────────────┼────────────────────────────────────────────────┤
- │ StrLCopy │ è«»¿απÑΓ ºáñá¡¡«Ñ τ¿ß½« ß¿¼ó«½«ó ¿º ¿ßσ«ñ¡«⌐│
- │ │ ßΓ᫬¿ ó µÑ½Ñóπε ßΓப㠨 ó«ºóαáΘáÑΓ π¬áºáΓѽ∞│
- │ │ ¡á µÑ½Ñóπε ßΓ᫬π. │
- ├──────────────┼────────────────────────────────────────────────┤
- │ StrEnd │ 髺óαáΘáÑΓ π¬áºáΓѽ∞ ¡á ¬«¡Ñµ ßΓ᫬¿, Γ« ÑßΓ∞│
- │ │ π¬áºáΓѽ∞ ¡á ºáóÑαΦáεΘ¿⌐ ßΓ᫬π ¡π½Ñó«⌐ ß¿¼ó«½.│
- ├──────────────┼────────────────────────────────────────────────┤
- │ StrDispose │ ô¡¿τΓ«ªáÑΓ αá¡ÑÑ óδñѽѡ¡πε ßΓ᫬π. │
- ├──────────────┼────────────────────────────────────────────────┤
- │ StrLen │ 髺óαáΘáÑΓ ñ½¿¡π ßΓ᫬¿. │
- ├──────────────┼────────────────────────────────────────────────┤
- │ StrLIComp │ æαáó¡¿óáÑΓ ñóÑ ßΓ᫬¿ ß ºáñá¡¡«⌐ ¼á¬ß¿¼á½∞¡«⌐│
- │ │ ñ½¿¡«⌐ íѺ αẽ¿τ¿∩ αÑú¿ßΓαá ß¿¼ó«½«ó. │
- ├──────────────┼────────────────────────────────────────────────┤
- │ StrLower │ ÅαÑ«íαáºπÑΓ ßΓ᫬π ó ¡¿ª¡¿⌐ αÑú¿ßΓα ¿ ó«ºóαáΘá-│
- │ │ ÑΓ π¬áºáΓѽ∞ ¡á ¡ÑÑ. │
- ├──────────────┼────────────────────────────────────────────────┤
- │ StrMove │ ÅÑαѼÑΘáÑΓ í½«¬ ß¿¼ó«½«ó ¿º ¿ßσ«ñ¡«⌐ ßΓ᫬¿ ó│
- │ │ µÑ½Ñóπε ßΓப㠨 ó«ºóαáΘáÑΓ π¬áºáΓѽ∞ ¡á µÑ½Ñ-│
- │ │ óπε ßΓ᫬π. äóá í½«¬á ¼«úπΓ »ÑαѬαδóáΓ∞ß∩. │
- ├──────────────┼────────────────────────────────────────────────┤
- │ StrNew │ éδñѽ∩ÑΓ ñ½∩ ßΓ᫬¿ »á¼∩Γ∞ ó ñ¿¡á¼¿τÑ߬¿ αáß-│
- │ │ »αÑñѽ∩Ѽ«⌐ «í½áßΓ¿. │
- ├──────────────┼────────────────────────────────────────────────┤
-
- B.Pascal 7 & Objects/LR - 299 -
-
- │ StrPas │ ÅαÑ«íαáºπÑΓ ßΓ᫬π ß ºáóÑαΦáεΘ¿¼ ¡π½Ñ¼ ó ßΓ᫬π│
- │ │ Åá߬á½∩. │
- ├──────────────┼────────────────────────────────────────────────┤
- │ StrPCopy │ è«»¿απÑΓ ßΓ᫬π Åá߬á½∩ ó ßΓ᫬π ß ºáóÑαΦáεΘ¿¼│
- │ │ ¡π½Ñ¼ ¿ ó«ºóαáΘáÑΓ π¬áºáΓѽ∞ ¡á ßΓ᫬π ß ºáóÑα-│
- │ │ ΦáεΘ¿¼ ¡π½Ñ¼. │
- ├──────────────┼────────────────────────────────────────────────┤
- │ StrPos │ 髺óαáΘáÑΓ π¬áºáΓѽ∞ ¡á »Ñαó«Ñ óσ«ªñÑ¡¿Ñ ºáñá¡-│
- │ │ ¡«⌐ »«ñßΓ᫬¿ ó ßΓ᫬Ñ, ¿½¿ nil, Ñß½¿ »«ñßΓ᫬á│
- │ │ ó ßΓα«¬Ñ ¡Ñ ß«ñÑনΓß∩. │
- ├──────────────┼────────────────────────────────────────────────┤
- │ StrRScan │ 髺óαáΘáÑΓ π¬áºáΓѽ∞ ¡á »«ß½Ññ¡ÑÑ óσ«ªñÑ¡¿Ñ│
- │ │ π¬áºá¡¡«ú« ß¿¼ó«½á ó ßΓ᫬π, ¿½¿ nil, Ñß½¿ ß¿¼-│
- │ │ ó«½ ó ßΓα«¬Ñ «ΓßπΓßΓóπÑΓ. │
- ├──────────────┼────────────────────────────────────────────────┤
- │ StrScan │ 髺óαáΘáÑΓ π¬áºáΓѽ∞ ¡á »Ñαó«Ñ óσ«ªñÑ¡¿Ñ π¬á-│
- │ │ ºá¡¡«ú« ß¿¼ó«½á ó ßΓ᫬π, ¿½¿ nil, Ñß½¿ ß¿¼ó«½│
- │ │ ó ßΓα«¬Ñ «ΓßπΓßΓóπÑΓ. │
- ├──────────────┼────────────────────────────────────────────────┤
- │ StrUpper │ ÅαÑ«íαáºπÑΓ ßΓ᫬π ó óÑασ¡¿⌐ αÑú¿ßΓα ¿ ó«ºóαá-│
- │ │ ΘáÑΓ π¬áºáΓѽ∞ ¡á ¡ÑÑ. │
- └──────────────┴────────────────────────────────────────────────┘
-
- êß»«½∞º«óá¡¿Ñ ßΓ᫬ ß ºáóÑαΦáεΘ¿¼ ¡π½Ñ¼
- ─────────────────────────────────────────────────────────────────
-
- æΓ᫬¿ ß ºáóÑαΦáεΘ¿¼ ¡π½Ñ¼ σαá¡∩Γß∩ ó ó¿ñÑ ß¿¼ó«½∞¡δσ ¼áßß¿-
- ó«ó ß ¡π½Ñó«⌐ íẫ⌐ (¡áτ¿¡áεΘ¿σß∩ ß 0) ß ¿¡ñѬ߫¼ µÑ½«ú« Γ¿»á, Γ«
- ÑßΓ∞ ó ó¿ñÑ ¼áßß¿óá:
-
- array[0..X] of Char;
-
- úñÑ X - »«½«ª¿Γѽ∞¡«Ñ ¡Ñ¡π½Ñó«Ñ µÑ½«Ñ τ¿ß½«. Æá¬¿Ñ ¼áßß¿óδ ¡áºδ-
- óáεΓß∩ ß¿¼ó«½∞¡δ¼¿ ¼áßß¿óἿ ß ¡π½Ñó«⌐ íẫ⌐. Åα¿óÑñѼ ¡Ñ¬«Γ«αδÑ
- »α¿¼Ñαδ «»¿ßá¡¿⌐ ß¿¼ó«½∞¡δσ ¼áßß¿ó«ó ß ¡π½Ñó«⌐ íẫ⌐, ¬«Γ«αδÑ ¼«-
- úπΓ ¿ß»«½∞º«óáΓ∞ß∩ ñ½∩ σαá¡Ñ¡¿∩ ºáóÑαΦáεΘ¿σß∩ ¡π½Ñ¼ ßΓ᫬.
-
- type
- TIdentifier = array[0..15] of Char;
- TFileName = array[0..79] of Char;
- TMemoText = array[0..1023] of Char;
-
-
- B.Pascal 7 & Objects/LR - 300 -
-
- ü«½ÑÑ óßÑú« ßΓ᫬¿ Åá߬á½∩ ¿ ßΓ᫬¿ ß ºáóÑαΦáεΘ¿¼ ¡π½Ñ¼ «Γ-
- ½¿τáεΓß∩ ¿¡Γѡ߿ó¡«ßΓ∞ε ¿ß»«½∞º«óá¡¿∩ π¬áºáΓѽÑ⌐. Borland Pascal
- óδ»«½¡∩ÑΓ «»Ñαᵿ¿ ß φΓ¿¼¿ π¬áºáΓѽ∩¼¿, ¿ß»«½∞ºπ∩ ¡áí«α »αáó¿½
- αáßΦ¿αÑ¡¡«ú« ß¿¡Γá¬ß¿ßá. èα«¼Ñ Γ«ú«, ó Borland Pascal ¿¼ÑÑΓß∩
- óßΓα«Ñ¡¡δ⌐ Γ¿» PChar, ¬«Γ«αδ⌐ »αÑñßΓáó½∩ÑΓ ß«í«⌐ π¬áºáΓѽ∞ ¡á
- ßΓ᫬π ß ºáóÑαΦáεΘ¿¼ ¡π½Ñ¼. é ¼«ñπ½Ñ System Γ¿» PChar «»αÑñѽ∩ÑΓ-
- ß∩ ß½ÑñπεΘ¿¼ «íαẫ¼:
-
- type PChar = ^Char;
-
- Åαáó¿½á¼¿ αáßΦ¿αÑ¡¡«ú« ß¿¡Γá¬ß¿ßá π»αáó½∩ÑΓ ñ¿αÑ¬Γ¿óá ¬«¼»¿-
- ½∩Γ«αá $X. é ß«ßΓ«∩¡¿¿ {$X+} (»« π¼«½τá¡¿ε) αáßΦ¿αÑ¡¡δ⌐ ß¿¡Γá¬ß¿ß
- αáºαÑΦÑ¡. Åαáó¿½á αáßΦ¿αÑ¡¡«ú« ß¿¡Γá¬ß¿ßá «»¿ßδóáεΓß∩ ó ß½ÑñπεΘ¿σ
- αáºñѽáσ.
-
-
-
- B.Pascal 7 & Objects/LR - 301 -
-
- 濼ó«½∞¡δÑ π¬áºáΓѽ¿ ¿ ßΓ᫬«óδÑ ½¿ΓÑαá½δ
- ─────────────────────────────────────────────────────────────────
-
- Åα¿ αáºαÑΦÑ¡¿¿ αáßΦ¿αÑ¡¡«ú« ß¿¡Γá¬ß¿ßá ßΓ᫬«óδ⌐ ½¿ΓÑαá½
- ß«ó¼ÑßΓ¿¼ »« »α¿ßóá¿óá¡¿ε ß Γ¿»«¼ PChar. ¥Γ« «º¡áτáÑΓ, τΓ« »ÑαÑ-
- ¼Ñ¡¡«⌐ Γ¿»á PChar ¼«ª¡« »α¿ßó«¿Γ∞ ßΓ᫬«óδ⌐ ½¿ΓÑαá½. ìá»α¿¼Ñα:
-
- var
- P: PChar;
- .
- .
- begin
- P := 'Åα¿óÑΓ...';
- end;
-
- é αѺπ½∞ΓáΓÑ Γᬫú« »α¿ßóá¿óá¡¿∩ π¬áºáΓѽ∞ π¬áºδóáÑΓ ¡á «í-
- ½áßΓ∞ »á¼∩Γ¿, ß«ñÑαªáΘπε ßΓ᫬π ß ºáóÑαΦáεΘ¿¼ ¡π½Ñ¼, ∩ó½∩εΘπεß∩
- ¬«»¿Ñ⌐ ßΓ᫬«ó«ú« ½¿ΓÑαá½á. 諼»¿½∩Γ«α ºá»¿ßδóáÑΓ ßΓ᫬«óδÑ ½¿ΓÑ-
- αá½δ ó ßÑú¼Ñ¡Γ ñá¡¡δσ, á¡á½«ú¿τ¡« «»¿ßá¡¿ε "߬αδΓδσ" Γ¿»¿º¿α«óá¡-
- ¡δσ ¬«¡ßΓá¡Γ:
-
- const
- TempString: array[0..14] of Char = 'Åα¿óÑΓ...'#0;
- var
- P: PChar;
- .
- .
- begin
- P := @TempString;
- end;
-
- è«úñá ß««ΓóÑΓßΓóπεΘ¿Ñ Σ«α¼á½∞¡δÑ »áαá¼ÑΓαδ ¿¼ÑεΓ Γ¿» Char,
- ßΓ᫬«óδÑ ½¿ΓÑαá½δ óδ ¼«ªÑΓÑ ¿ß»«½∞º«óáΓ∞ ¬á¬ Σá¬Γ¿τÑ߬¿Ñ »áαá-
- ¼ÑΓαδ »α¿ ó맮óáσ »α«µÑñπα ¿ Σπ¡¬µ¿⌐. ìá»α¿¼Ñα, Ñß½¿ ¿¼ÑÑΓß∩ »α«-
- µÑñπαá ß «»¿ß᡿Ѽ:
-
- procedure PrintStr(Str: PChar);
-
- Γ« ñ«»πßΓ¿¼δ ß½ÑñπεΘ¿Ñ ó맮óδ »α«µÑñπαδ:
-
- procedure PrintStr('æΓ᫬á ñ½∩ »α«óÑન');
- PrintStr(#10#13);
-
- ǡὫú¿τ¡« Γ«¼π, ¬á¬ φΓ« »α«¿ßσ«ñ¿Γ »α¿ »α¿ßóá¿óá¡¿¿, ¬«¼»¿-
- ½∩Γ«α úÑ¡Ñα¿απÑΓ ßΓ᫬π ß ºáóÑαΦáεΘ¿¼ ¡π½Ñ¼, »αÑñßΓáó½∩εΘπε ß«í«⌐
- ¬«»¿ε ½¿ΓÑαá½∞¡«⌐ ßΓ᫬¿ ó ßÑú¼Ñ¡ΓÑ ñá¡¡δσ, ¿ »ÑαÑñáÑΓ π¬áºáΓѽ∞
- ¡á φΓπ «í½áßΓ∞ »á¼∩Γ¿ ó »áαá¼ÑΓαÑ Str »α«µÑñπαδ PrintStr.
-
- ìᬫ¡Ñµ, Γ¿»¿º¿α«óá¡¡á∩ ¬«¡ßΓá¡Γá Γ¿»á PChar ¼«ªÑΓ ¿¡¿µ¿á½¿-
- º¿α«óáΓ∞ß∩ ßΓ᫬«ó«⌐ ¬«¡ßΓá¡Γ«⌐. ¥Γ« ß»αáóÑñ½¿ó« Γá¬ªÑ ñ½∩ ßΓαπ¬-
- Γπα¡δσ Γ¿»«ó, Γᬿσ ¬á¬ ¼áßß¿óδ PChar ¿ ºá»¿ß¿, á Γá¬ªÑ «íΩѬΓδ
- PChar.
-
-
- B.Pascal 7 & Objects/LR - 302 -
-
- const
- Message: PChar = 'Program terminated';
- Prompt: PChar = 'Enter values: ';
- Digits; array [0..9] of PChar = {
- 'Zero', 'One', 'Two', 'Three', 'Four', 'Five',
- 'Six', 'Seven', Eight', 'Nine'};
-
- æΓ᫬«óá∩ óδαáªÑ¡¿Ñ-¬«¡ßΓá¡Γá óßÑúñá óδτ¿ß½∩ÑΓß∩ ¬á¬ ßΓ᫬á
- Åá߬á½∩, ñáªÑ Ñß½¿ «¡á ¿¡¿µ¿á½¿º¿απÑΓß∩ ¬á¬ Γ¿»¿º¿α«óá¡¡á∩ ¬«¡ß-
- Γá¡Γá Γ¿»á PChar. Æá¬¿¼ «íαẫ¼, ßΓ᫬«ó«Ñ óδαáªÑ¡¿Ñ-¬«¡ßΓá¡Γá
- óßÑúñá «úαá¡¿τÑ¡« ñ½¿¡«⌐ ó 255 ß¿¼ó«½«ó.
-
- 濼ó«½∞¡δÑ π¬áºáΓѽ¿ ¿ ß¿¼ó«½∞¡δÑ ¼áßß¿óδ
- ─────────────────────────────────────────────────────────────────
-
- àß½¿ óδ ß »«¼«Θ∞ε ñ¿αÑ¬Γ¿óδ $X αáºαÑΦáÑΓÑ αáßΦ¿αÑ¡¡δ⌐ ß¿¡-
- Γá¬ß¿ß, Γ« ß¿¼ó«½∞¡δ⌐ ¼áßß¿ó ß ¡π½Ñó«⌐ íẫ⌐ ß«ó¼ÑßΓ¿¼ ß Γ¿»«¼
- PChar. ¥Γ« «º¡áτáÑΓ, τΓ« Γá¼, úñÑ »αÑñ»«½áúáÑΓß∩ ¿ß»«½∞º«óá¡¿Ñ
- Γ¿»á PChar, ¼«ªÑΓ ¿ß»«½∞º«óáΓ∞ß∩ ß¿¼ó«½∞¡δ⌐ ¼áßß¿ó ß ¡π½Ñó«⌐ íá-
- º«⌐. è«úñá ß¿¼ó«½∞¡δ⌐ ¼áßß¿ó ¿ß»«½∞ºπÑΓß∩ ó¼ÑßΓ« º¡áτÑ¡¿∩ PChar,
- ¬«¼»¿½∩Γ«α »αÑ«íαáºπÑΓ ß¿¼ó«½∞¡δ⌐ ¼áßß¿ó ó π¬áºáΓѽ∞-¬«¡ßΓá¡Γπ,
- º¡áτÑ¡¿Ñ ¬«Γ«α«⌐ ß««ΓóÑΓßΓóπÑΓ áñαÑßπ »Ñαó«ú« φ½Ñ¼Ñ¡Γá ¼áßß¿óá.
- ìá»α¿¼Ñα:
-
- var
- A: array[0..63] of Char;
- P: PChar;
- .
- .
- .
- begin
- P := A;
- PrintStr(A);
- PrintStr(P);
- end;
-
- ü½áú«ñáα∩ «»ÑαáΓ«απ »α¿ßóá¿óá¡¿∩ P ΓÑ»Ñα∞ π¬áºδóáÑΓ ¡á »Ñα-
- óδ⌐ φ½Ñ¼Ñ¡Γ ¼áßß¿óá A, »«φΓ«¼π PrintStr óδºδóáÑΓß∩ ñóáªñδ ß «ñ¡¿¼
- ¿ ΓѼ ªÑ º¡áτÑ¡¿Ñ¼.
-
- éδ ¼«ªÑΓÑ ¿¡¿µ¿á½¿º¿α«óáΓ∞ Γ¿»¿º«óá¡¡πε ¬«¡ßΓá¡Γπ, ¿¼ÑεΘπε
- Γ¿» ß¿¼ó«½∞¡«ú« ¼áßß¿óá ß ¡π½Ñó«⌐ íẫ⌐, ß »«¼«Θ∞ε ßΓ᫬«ó«ú« ½¿-
- ΓÑαá½á, ¿¼ÑεΘÑú« ¼Ñ¡∞Φπε ñ½¿¡π, τѼ αẼÑα ¼áßß¿óá. ÄßΓáóΦ¿Ñß∩
- ß¿¼ó«½δ πßΓá¡áó½¿óáεΓß∩ ó º¡áτÑ¡¿Ñ NULL (#0), ¿ ¼áßß¿ó íπñÑΓ ß«-
- ñÑαªáΓ∞ ßΓ᫬π ß ºáóÑαΦáεΘ¿¼ ¡π½Ñ¼.
-
- type
- TFileName = array[0..79] of Char;
- const
- FileNameBuf: TfileName = 'TEST.PAS';
- FileNamePtr: PCahr = FileNameBuf;
-
-
-
- B.Pascal 7 & Objects/LR - 303 -
-
- ê¡ñѬ߿α«óá¡¿Ñ ß¿¼ó«½∞¡«ú« π¬áºáΓѽ∩
- ─────────────────────────────────────────────────────────────────
-
- Æá¬ ¬á¬ ß¿¼ó«½∞¡δ⌐ ¼áßß¿ó ß ¡π½Ñó«⌐ íẫ⌐ ß«ó¼ÑßΓ¿¼ ß ß¿¼-
- ó«½∞¡δ¼ π¬áºáΓѽѼ, ß¿¼ó«½∞¡δ⌐ π¬áºáΓѽ∞ ¼«ª¡« ¿¡ñѬ߿α«óáΓ∞ á¡á-
- ½«ú¿τ¡« ß¿¼ó«½∞¡«¼π ¼áßß¿óπ ß ¡π½Ñó«⌐ íẫ⌐.
-
- var
- A: array[0..63] of Char;
- P: PChar;
- Ch: Char;
- .
- .
- .
- begin
- P := A;
- Ch := A[5];
- Ch := P[5];
- end;
-
- Äíá »«ß½Ññ¡¿σ »α¿ßóá¿óá¡¿∩ »α¿ßóá¿óáεΓ Ch º¡áτÑ¡¿Ñ, ß«ñÑαªá-
- ΘÑÑß∩ ó ΦÑßΓ«¼ ß¿¼ó«½Ñ-φ½Ñ¼Ñ¡ΓÑ A.
-
- Åα¿ ¿¡ñѬ߿α«óá¡¿¿ ß¿¼ó«½∞¡«ú« π¬áºáΓѽ∩ ¿¡ñÑ¬ß ºáñáÑΓ íѺº-
- ¡á¬«ó«Ñ ß¼ÑΘÑ¡¿Ñ, ¬«Γ«α«Ñ ñ«íáó½∩ÑΓß∩ ¬ π¬áºáΓÑ½ε »ÑαÑñ Ñú« αáºδ-
- ¼Ñ¡«ó᡿Ѽ. Æá¬¿¼ «íαẫ¼, P[0] φ¬ó¿óá½Ñ¡Γ¡« P^ ¿ ºáñáÑΓ ß¿¼ó«½,
- ¡á ¬«Γ«αδ⌐ π¬áºδóáÑΓ P. P[1] ºáñáÑΓ ß¿¼ó«½ ß»αáóá «Γ Γ«ú«, ¡á ¬«-
- Γ«αδ⌐ π¬áºδóáÑΓ P, P[2] ºáñáÑΓ ß½ÑñπεΘ¿⌐ ß¿¼ó«½ ¿ Γ.ñ. ä½∩ µÑ½Ñ⌐
- ¿¡ñѬ߿α«óá¡¿∩ PChar óÑñÑΓ ßÑí∩ Γᬿ¼ «íαẫ¼, ¬á¬ Ñß½¿ íδ «¡
- «»¿ßδóá½ß∩:
-
- type
- TCharArray = array[0..65535] of Char;
- Pchar = ^TCharArray;
-
- 諼»¿½∩Γ«α »α¿ ¿¡ñѬ߿α«óá¡¿¿ ß¿¼ó«½∞¡«ú« π¬áºáΓѽ∩ ¡Ñ óδ-
- »«½¡∩ÑΓ »α«óÑα¬π ñ¿á»áº«¡á, Γᬠ¬á¬ π ¡Ñú« ¡ÑΓ ¿¡Σ«α¼áµ¿¿ « Γ¿»Ñ,
- »« ¬«Γ«α«⌐ ¼«ª¡« «»αÑñѽ¿Γ∞ ¼á¬ß¿¼á½∞¡πε ñ½¿¡π ßΓ᫬¿ ß ºáóÑαΦáε-
- Θ¿¼ ¡π½Ñ¼, ¡á ¬«Γ«απε π¬áºδóáÑΓ ß¿¼ó«½∞¡δ⌐ π¬áºáΓѽ∞.
-
- Å«¬áºá¡¡á∩ ¡¿ªÑ Σπ¡¬µ¿∩ StrUpper ¿½½εßΓα¿απÑΓ ¿ß»«½∞º«óá¡¿Ñ
- ß¿¼ó«½∞¡«ú« π¬áºáΓѽ∩ ñ½∩ »αÑ«íαẫóá¡¿∩ ßΓ᫬¿ ß ºáóÑαΦáεΘ¿¼ ¡π-
- ½Ñ¼ ó óÑασ¡¿⌐ αÑú¿ßΓα.
-
- function StrUpper(Srt: Pchar): Pchar;
- var
- I: Word;
- begin
- I := 0;
- while Str[I] <> #0 do
- begin
- Str[I] := UpCase(Str[I]);
- Inc(I);
-
- B.Pascal 7 & Objects/LR - 304 -
-
- end;
- StrUpper := Str;
- end;
-
- ÄíαáΓ¿ΓÑ ó¡¿¼á¡¿Ñ, τΓ« StrUppper - φΓ« Σπ¡¬µ¿∩, á ¡Ñ »α«µÑ-
- ñπαá, ¿ τΓ« «¡á óßÑúñá ó«ºóαáΘáÑΓ º¡áτÑ¡¿Ñ, ¬«Γ«α«Ñ »ÑαÑñáóὫß∞
- Ñ⌐ ó ¬áτÑßΓóÑ »áαá¼ÑΓαá. Æá¬ ¬á¬ αáßΦ¿αÑ¡¡δ⌐ ß¿¡Γá¬ß¿ß ñ«»π߬áÑΓ
- ¿ú¡«α¿α«óá¡¿Ñ αѺπ½∞ΓáΓá Σπ¡¬µ¿¿, StrUpper ¼«ªÑΓ ¿¡ΓÑα»αÑΓ¿α«-
- óáΓ∞ß∩, ¬á¬ »α«µÑñπαá:
-
- StrUpper(A);
- PrintStr(A);
-
- Äñ¡á¬«, StrUpper óßÑúñá ó«ºóαáΘáÑΓ »ÑαÑñáóáѼ«Ñ Ñ⌐ º¡áτÑ¡¿Ñ,
- »α¿óÑñÑ¡¡δÑ óδΦÑ «»ÑαáΓ«αδ ¼«ª¡« ߬«¼í¿¡¿α«óáΓ∞ ó «ñ¿¡:
-
- PrintStr(StrUpper(A));
-
- 齫ªÑ¡¡δÑ ó맮óδ Σπ¡¬µ¿⌐ αáí«Γδ ß« ßΓα«¬á¼¿ ß ºáóÑαΦáεΘ¿¼
- ¡π½Ñ¼ ¼«úπΓ «¬áºáΓ∞ß∩ «τÑ¡∞ πñ«í¡δ¼¿, ¬«úñá óδ σ«Γ¿ΓÑ π¬áºáΓ∞ «»-
- αÑñѽѡ¡πε óºá¿¼«ßó∩º∞ ¼Ñªñπ »«ß½Ññ«óáΓѽ∞¡δ¼¿ «»Ñαᵿ∩¼¿ ß«
- ßΓα«¬á¼¿.
-
- Ä»Ñαᵿ¿ ß ß¿¼ó«½∞¡δ¼¿ π¬áºáΓѽ∩¼¿
- ─────────────────────────────────────────────────────────────────
-
- ÉáßΦ¿αÑ¡¡δ⌐ ß¿¡Γá¬ß¿ß Borland Pascal »«ºó«½∩ÑΓ ¿ß»«½∞º«óáΓ∞
- ñ½∩ αáí«Γδ ß ß¿¼ó«½∞¡δ¼¿ π¬áºáΓѽ∩¼¿ «Γñѽ∞¡δÑ «»Ñαᵿ¿. ä½∩ πóÑ-
- ½¿τÑ¡¿∩ ¿½¿ π¼Ñ¡∞ΦÑ¡¿∩ ß¼ÑΘÑ¡¿∩ ó º¡áτÑ¡¿¿ π¬áºáΓѽ∩ ¼«ª¡« ¿ß-
- »«½∞º«óáΓ∞ «»Ñαᵿ¿ »½εß (+) ¿ ¼¿¡πß (-). Ä»Ñαáµ¿ε ¼¿¡πß (-) ¼«ª-
- ¡« ¿ß»«½∞º«óáΓ∞ ñ½∩ óδτ¿ß½Ñ¡¿∩ αáßßΓ«∩¡¿∩ (αạ«ßΓ¿ ß¼ÑΘÑ¡¿⌐)
- ¼Ñªñπ ñóπ¼∩ ß¿¼ó«½∞¡δ¼¿ π¬áºáΓѽ∩¼¿. ÅαÑñ»«½«ª¿¼, τΓ« P ¿ Q
- »αÑñßΓáó½∩εΓ ß«í«⌐ º¡áτÑ¡¿∩ Γ¿» PChar, á I - º¡áτÑ¡¿Ñ Γ¿»á Word.
- Æ«úñá ñ«»πßΓ¿¼δ ß½ÑñπεΘ¿Ñ ¬«¡ßΓαπ¬µ¿¿:
-
- P + I I »α¿íáó½∩ÑΓß∩ ¬ ß¼ÑΘÑ¡¿ε P
- I + P I »α¿íáó½∩ÑΓß∩ ¬ ß¼ÑΘÑ¡¿ε P
- P - I I óδτ¿ΓáÑΓß∩ ¿º ß¼ÑΘÑ¡¿∩ P
- P - Q æ¼ÑΘÑ¡¿Ñ Q óδτ¿ΓáÑΓß∩ ¿º ß¼ÑΘÑ¡¿∩ P
-
- é «»Ñαᵿ∩σ P + I ¿ I + P I »α¿íáó½∩ÑΓß∩ ¬ áñαÑßπ, ºáñáóáÑ-
- ¼«¼π P. Åα¿ φΓ«¼ »«½πτáÑΓß∩ π¬áºáΓѽ∞, ¬«Γ«αδ⌐ π¬áºδóáÑΓ ¡á I
- ß¿¼ó«½«ó »«ß½Ñ P. é «»Ñαᵿ¿ P - I I óδτ¿ΓáÑΓß∩ ¿º áñαÑßá, ºáñá-
- óáѼ«ú« P, ¿ »«½πτáÑΓß∩ π¬áºáΓѽ∞, π¬áºδóáεΘ¿⌐ ¡á I ß¿¼ó«½«ó ñ«
- P.
-
- Ä»Ñαᵿ∩ P - Q óδτ¿ß½∩ÑΓ αáßßΓ«∩¡¿Ñ ¼Ñªñπ Q (¼½áñΦ¿⌐ áñαÑß)
- ¿ P (ßΓáαΦ¿⌐ áñαÑß). Åα¿ φΓ«¼ ó«ºóαáΘáÑΓß∩ αѺπ½∞ΓáΓ Γ¿»á Word,
- »«¬áºδóáεΘ¿⌐ τ¿ß½« ß¿¼ó«½«ó ¼Ñªñπ Q ¿ P. ¥Γá «»Ñαᵿ∩ »αÑñ»«½áúá-
- ÑΓ, τΓ« P ¿ Q π¬áºδóáεΓ ¡á «ñ¿¡ ¿ ëà ªÑ ¼áßß¿ó ß¿¼ó«½«ó. àß½¿
- φΓ¿ ñóá π¬áºáΓѽ∩ π¬áºδóáεΓ ¡á αạδÑ ß¿¼ó«½∞¡δÑ ¼áßß¿óδ, Γ« αÑ-
- ºπ½∞ΓáΓ ¡Ñ»αÑñ߬áºπѼ.
-
-
- B.Pascal 7 & Objects/LR - 305 -
-
- æΓá¡ñáαΓ¡δ⌐ ß¿¡Γá¬ß¿ß Borland Pascal »«ºó«½∩ÑΓ »α¿ ßαáó¡Ñ¡¿¿
- π¬áºáΓѽÑ⌐ «»αÑñѽ∩Γ∞ Γ«½∞¬« ¿σ αáóÑ¡ßΓó« ¿½¿ ¡ÑαáóÑ¡ßΓó«. ÉáßΦ¿-
- αÑ¡¡δ⌐ ß¿¡Γá¬ß¿ß (αáºαÑΦÑ¡¡δ⌐ »« ñ¿αÑ¬Γ¿óÑ ¬«¼»¿½∩Γ«αá {$X+})
- »«ºó«½∩ÑΓ »α¿¼Ñ¡∩Γ∞ «»Ñαᵿ¿ <, >, <= ¿ <= ¬ º¡áτÑ¡¿∩¼ PChar. çá-
- ¼ÑΓ¿¼, «ñ¡á¬«, τΓ« »α¿ Γᬿσ »α«óÑα¬áσ »αÑñ»«½áúáÑΓß∩, τΓ« ñóá
- ßαáó¡¿óáѼδσ π¬áºáΓѽ∩ π¬áºδóáεΓ ¡á «ñ¿¡ ¿ ëà ªÑ ¼áßß¿ó ß¿¼ó«-
- ½«ó. Å« φΓ«⌐ »α¿τ¿¡Ñ ßαáó¡¿óáεΓß∩ Γ«½∞¬« ß¼ÑΘÑ¡¿∩ π¬áºáΓѽÑ⌐. àß-
- ½¿ ñóá π¬áºáΓѽ∩ π¬áºδóáεΓ ¡á αẽ¿τ¡δÑ ß¿¼ó«½∞¡δÑ ¼áßß¿óδ, Γ«
- αѺπ½∞ΓáΓ ¡Ñ «»αÑñѽѡ.
-
- var
- A, B: array[0..79] of Char;
- P, Q: PChar;
- begin
- P := A; { P π¬áºδóáÑΓ ¡á A[0] }
- Q := A + 5; { Q π¬áºδóáÑΓ ¡á A[5] }
- if P < Q then ...; { ñ«»πßΓ¿¼á∩ »α«óÑα¬á,
- αѺπ½∞ΓáΓ - True }
- Q := B; { Q π¬áºδóáÑΓ ¡á B[0] }
- if P < Q then ...; { αѺπ½∞ΓáΓ ¡Ñ «»αÑñѽѡ }
- end;
-
- Å«ñα«í¡ÑÑ «í «»Ñαᵿ∩σ ß PChar αáß߬áºδóáÑΓß∩ ó â½áóÑ 6.
-
- æΓ᫬¿ ß ºáóÑαΦáεΘ¿¼ ¡π½Ñ¼ ¿ ßΓá¡ñáαΓ¡δÑ »α«µÑñπαδ
- ─────────────────────────────────────────────────────────────────
-
- ÉáßΦ¿αÑ¡¡δ⌐ ß¿¡Γá¬ß¿ß Borland Pascal »«ºó«½∩ÑΓ »α¿¼Ñ¡∩Γ∞ ¬
- ß¿¼ó«½∞¡δ¼ ¼áßß¿óá¼ ß ¡π½Ñó«⌐ íẫ⌐ ßΓá¡ñáαΓ¡δÑ »α«µÑñπαδ Read,
- ReadLn ¿ Val, á ¬ ß¿¼ó«½∞¡δ¼ ¼áßß¿óá ß ¡π½Ñó«⌐ íẫ⌐ ¿ ß¿¼ó«½∞¡δ¼
- π¬áºáΓѽ∩¼ - ßΓá¡ñáαΓ¡δÑ »α«µÑñπαδ Write, WriteLn, Val, Assign ¿
- Rename. ü«½ÑÑ »«ñα«í¡δÑ «»¿ßá¡¿∩ φΓ¿σ »α«µÑñπα ¼«ª¡« ¡á⌐Γ¿ ó â½á-
- óÑ 1 ("æ»αáó«τ¡¿¬ »« í¿í½¿«ΓѬÑ") "æ»αáó«τ¡«ú« απ¬«ó«ñßΓóá »α«ú-
- αá¼¼¿ßΓá".
-
-
-
- B.Pascal 7 & Objects/LR - 306 -
-
- Åα¿¼Ñα ¿ß»«½∞º«óá¡¿∩ Σπ¡¬µ¿⌐ ß ºáóÑαΦáεΘ¿¼ ¡π½Ñ¼
- ─────────────────────────────────────────────────────────────────
-
- Åα¿óÑñѼ »α¿¼Ñα ¿ßσ«ñ¡«ú« ¬«ñá, »«¬áºδóáεΘ¿⌐, ¬á¬ ¼«ª¡« ¿ß-
- »«½∞º«óáΓ∞ ¡Ñ¬«Γ«αδÑ Σπ¡¬µ¿¿ «íαáí«Γ¬¿ ßΓ᫬. ¥Γ«Γ »α¿¼Ñα ¿ß»«½∞-
- º«óá¡ »α¿ αáºαáí«Γ¬Ñ Σπ¡¬µ¿¿ FileSplit ó ¼«ñπ½Ñ WinDos.
-
- { ¼á¬ß¿¼á½∞¡δÑ αẼÑαδ ¬«¼»«¡Ñ¡Γ«ó ¿¼Ñ¡¿ Σá⌐½á }
-
- const
- fsPathName = 79; { ¿¼∩ ¼áαΦαπΓá }
- fsDirectory = 67; { ¿¼∩ ¬áΓὫúá }
- fsFileName = 8; { ¿¼∩ Σá⌐½á }
- fsExtension = 4; { αáßΦ¿αÑ¡¿Ñ ¿¼Ñ¡¿ Σá⌐½á }
-
- { Σ½áú¿, ó«ºóαáΘáѼδÑ FileSplit }
-
- const
- fcWildcards = $0008 { ΓαáΣáαÑΓ¡δÑ ß¿¼ó«½δ }
- fcDirectory = $0004 { ¿¼∩ ¬áΓὫúá }
- fcFileName = $0002 { ¿¼∩ Σá⌐½á }
- fcExtension = $0001 { αáßΦ¿αÑ¡¿Ñ ¿¼Ñ¡¿ Σá⌐½á }
-
- { FileSplit αáºí¿óáÑΓ ¿¼∩ Σá⌐½á, ºáñá¡¡«Ñ ¼áαΦαπΓ«¼, ¡á Γα¿ }
- { ¬«¼»«¡Ñ¡Γá. Dir »α¿¡¿¼áÑΓ º¡áτÑ¡¿Ñ ñ¿ß¬á ¿ ¬áΓὫúá ß }
- { »αÑñΦÑßΓóπεΘÑ⌐ ¿ ºáóÑαΦáεΘÑ⌐ «íαáΓ¡«⌐ ¬«ß«⌐ τÑαΓ«⌐, Name }
- { »α¿¡¿¼áÑΓ º¡áτÑ¡¿Ñ ¿¼Ñ¡¿ Σá⌐½á, á Ext - αáßΦ¿αÑ¡¿∩ ß }
- { »αÑñΦÑßΓóπεΘÑ⌐ Γ«τ¬«⌐. àß½¿ ¬«¼»«¡Ñ¡Γ ßΓ᫬¿-»áαá¼ÑΓαá }
- { αáóÑ¡ NIL, Γ« ß««ΓóÑΓßΓóπεΘá∩ τáßΓ∞ ¼áαΦαπΓá ¡Ñ }
- { ºá»¿ßδóáÑΓß∩. àß½¿ ¼áαΦαπΓ ¡Ñ ß«ñÑαª¿Γ ñá¡¡«ú« ¬«¼»«¡Ñ¡Γá, }
- { Γ« ó«ºóαáΘáѼá∩ ßΓα«¬á ¬«¼»«¡Ñ¡Γá íπñÑΓ »πßΓ«⌐. }
- { îá¬ß¿¼á½∞¡δÑ ñ½¿¡δ ßΓ᫬, ó«ºóαáΘáѼδσ ó Dir, Name ¿ Ext, }
- { «»αÑñѽ∩εΓß∩ í¿Γ«ó묨 ¼á߬Ἷ fsDirectory, fsFileName, }
- { fsExtension. 髺óαáΘáѼ«Ñ º¡áτÑ¡¿Ñ »αÑñßΓáó½∩ÑΓ ß«í«⌐ }
- { ¬«¼í¿¡áµ¿ε í¿Γ«óδσ ¼áß«¬ fßDirectory, fßFileName ¿ }
- { fßExtension, »«¬áºδóáεΘπε, ¬á¬¿Ñ ¬«¼»«¡Ñ¡Γδ »α¿ßπΓßΓóπεΓ ó }
- { ¼áαΦαπΓÑ. àß½¿ ¿¼∩ ¿ αáßΦ¿αÑ¡¿Ñ ß«ñÑαªáΓ ΓαáΣáαÑΓ¡δÑ }
- { ß¿¼ó«½δ (* ¿ ?), Γ« ó ó«ºóαáΘáѼ«¼ º¡áτÑ¡¿¿ πßΓá¡áó½¿óáÑΓß∩ }
- { Σ½áú fcWildcards. }
-
- function FileSplit(Path, Dir, Name, Ext: PChar): Word;
- var
- DirLen, NameLEn, Flags: Word;
- NamePtr, ExtPtr: PChar;
- begin
- NamePtr := StrRScan(Path, '/');
- if NamePtr = nil then NamePtr := StrRScan(Path, ':');
- if NamePtr = nil then NamePtr := Path else Inc(NamePtr);
- ExtPtr := StrScan(NamePtr, '.');
- if ExtPtr = nil then ExtPtr := StrEnd(NamePtr);
- DirLen := NamePtr - Path;
- if DirLen > fsDirectory then DirLen := fsDirectory;
- NameLen := ExtPtr - NamePtr;
-
- B.Pascal 7 & Objects/LR - 307 -
-
- if NameLen > fsFilename then NameLen := fsFileName;
- Flags := 0;
- if (StrScan(NamePtr, '?') <> nil) or
- (StrScan(NamePtr, '*') <> nil) then
- Falgs := fcWildcards;
- if DirLen <> 0 then Flags := Flags or fcDirectory;
- if NameLen <> 0 then Flags := Flags or fcFilename;
- if ExtPtr[0] <> #0 then Flags := Flags or fcExtension;
- if Dir <> nil then StrLCopy(Dir, Path, DirLen);
- if Name <> nil then StrLCopy(Name, NamePtr, NameLen);
- if Ext <> nil then StrLCopy(Ext, ExtPtr, fsExtension);
- FileSplit := Flags:
- end;
-
-
-
- B.Pascal 7 & Objects/LR - 308 -
-
- ───────────────────────────────────────────────────────────────────────
- â½áóá 19. êß»«½∞º«óá¡¿Ñ úαáΣ¿τÑ߬«ú« ¿¡ΓÑαΣÑ⌐ßá Borland
- ─────────────────────────────────────────────────────────────────
-
- î«ñπ½∞ Graph αÑ὿ºπÑΓ »«½¡πε í¿í½¿«ΓÑ¬π ¿º í«½ÑÑ τѼ 50
- úαáΣ¿τÑ߬¿σ »α«úαá¼¼ - «Γ ó맮ó«ó »α«µÑñπα ¿ Σπ¡¬µ¿⌐ óδß«¬«ú«
- πα«ó¡∩, ¬á¬, ¡á»α¿¼Ñα, SetViewPort, Bár3D, DráwPoly, ñ« »α«úαá¼¼,
- «α¿Ñ¡Γ¿α«óá¡¡δσ ¡á αáí«Γπ ß í¿ΓἿ, Γᬿσ, ¬á¬ GetImage ¿½¿
- ÉutImage. Å«ññÑনóáÑΓß∩ ¡Ñ߬«½∞¬« ó¿ñ«ó ºá¬αáΦ¿óá¡¿∩ ¿ Γ¿»«ó ½¿-
- ¡¿⌐, ¿ ¿¼ÑÑΓß∩ ¡Ñ߬«½∞¬« Φα¿ΣΓ«ó, ¬«Γ«αδÑ ¼«ª¡« ¿º¼Ñ¡∩Γ∞ »« óѽ¿-
- τ¿¡Ñ, óδαáó¡¿óáΓ∞ ¿ «α¿Ñ¡Γ¿α«óáΓ∞ ú«α¿º«¡Γá½∞¡« ¿½¿ óÑαΓ¿¬á½∞¡«.
-
- ä½∩ ¬«¼»¿½∩µ¿¿ »α«úαá¼¼δ, ¿ß»«½∞ºπεΘÑ⌐ ¼«ñπ½∞ Gráph, óá¼ ¡Ñ
- »«ΓαÑíπÑΓß∩ ¡¿¬á¬¿σ ó¡ÑΦ¡¿σ Σá⌐½«ó (¬α«¼Ñ, ¬«¡Ñτ¡«, ¿ßσ«ñ¡«ú«
- ΓѬßΓá óáΦÑ⌐ »α«úαá¼¼δ, ¬«¼»¿½∩Γ«αá ¿ ñ«ßΓπ»á ¬ ßΓá¡ñáαΓ¡δ¼ ¼«ñπ-
- ½∩¼ ó í¿í½¿«ΓÑ¬Ñ ¿ß»«½¡∩εΘÑ⌐ ß¿ßΓѼδ).
-
- ê¼Ñ¡á í¿í½¿«ΓѬ ¿ ¼«ñπ½∩ Graph Æáí½¿µá 19.1
- ┌───────────────────┬───────────────┬──────────────────┐
- │ Æ¿» »α«úαá¼¼δ │ ü¿í½¿«ΓѬá │ ê¼∩ ¼«ñπ½∩ Graph │
- ├───────────────────┼───────────────┼──────────────────┤
- │ ÉÑá½∞¡δ⌐ αѪ¿¼ │ TURBO.TPL │ GRAPH.TPU │
- │ çáΘ¿ΘÑ¡¡δ⌐ αѪ¿¼ │ TPP.TPL │ GRAPH.TPP │
- └───────────────────┴───────────────┴──────────────────┘
-
- ä½∩ ºá»πß¬á »α«úαá¼¼δ, ¿ß»«½∞ºπεΘÑ⌐ ¼«ñπ½∞ Gráαh, ¬α«¼Ñ óá-
- ΦÑ⌐ »α«úαá¼¼δ ß αáßΦ¿αÑ¡¿Ñ¼ .EXE óá¼ »«ΓαÑíπεΓß∩ «ñ¿¡ ¿½¿ í«½ÑÑ
- úαáΣ¿τÑ߬¿σ ñαá⌐óÑα«ó (ß¼. ñá½ÑÑ Σá⌐½δ .BGI). èα«¼Ñ Γ«ú« óá¼ »«Γ-
- αÑíπÑΓß∩ Γá¬ªÑ «ñ¿¡ ¿½¿ í«½ÑÑ Σá⌐½«ó Φα¿ΣΓ«ó (.CìR), Ñß½¿ ó óáΦÑ⌐
- »α«úαá¼¼Ñ ¿ß»«½∞ºπεΓß∩ ¬á¬¿Ñ-½¿í« Φα¿ΣΓδ.
-
- Åα¿¼Ñτá¡¿Ñ: é ß««ΓóÑΓßΓó¿¿ ß ½¿µÑ¡º¿«¡¡δ¼¿ πß½«ó¿∩¼¿
- óδ ¼«ªÑΓÑ αáß»α«ßΓαá¡∩Γ∞ Σá⌐½δ .CHR ¿ .BGI ¡áα∩ñπ ß« ßó«¿¼¿
- »α«úαἼἿ.
-
- äαá⌐óÑαδ
- ─────────────────────────────────────────────────────────────────
-
- ä½∩ »ÑαÑτ¿ß½Ñ¡¡δσ ¡¿ªÑ úαáΣ¿τÑ߬¿σ áñá»ΓÑα«ó ¿ »«½¡«ßΓ∞ε
- ß«ó¼ÑßΓ¿¼δσ ß ¡¿¼¿ »αÑñπß¼«ΓαÑ¡δ ß½ÑñπεΘ¿Ñ úαáΣ¿τÑ߬¿Ñ ñαá⌐óÑαδ:
-
- CGA ìÑrcules
- îæGA AT&T 400
- EGA 3270 PC
- VGA IBM 8514
-
- èáªñδ⌐ ñαá⌐óÑα ß«ñÑαª¿Γ óδ»«½¡∩Ѽδ⌐ ¬«ñ ¿ ñá¡¡δÑ ¿ σαá¡¿Γß∩
- ó «Γñѽ∞¡«¼ Σá⌐½Ñ ¡á ñ¿ß¬Ñ. é« óαѼ∩ αáí«Γδ »α«µÑñπαá InitGraph
- ¿ñÑ¡Γ¿Σ¿µ¿απÑΓ úαáΣ¿τÑ߬πε á»»áαáΓπαπ ¿ »α«¿ºó«ñ¿Γ ºáúαπº¬π ¿
- ¿¡¿µ¿á½¿ºáµ¿ε ß««ΓóÑΓßΓóπεΘÑú« úαáΣ¿τÑ߬«ú« ñαá⌐óÑαá, »ÑαÑó«ñ¿Γ
- ß¿ßΓѼπ ó úαáΣ¿τÑ߬¿⌐ αѪ¿¼, á ºáΓѼ ó«ºóαáΘáÑΓ π»αáó½Ñ¡¿Ñ óδºδ-
- óáεΘÑ⌐ »α«úαá¼¼Ñ. Åα«µÑñπαá CloseGraph óδúαπªáÑΓ ñαá⌐óÑα ¿º »á¼∩-
- Γ¿ ¿ ó«ßßΓá¡áó½¿óáÑΓ »αÑñδñπΘ¿⌐ ó¿ñÑ«αѪ¿¼. æ »«¼«Θ∞ε »α«úαá¼¼
- RÑstoreCrtMode ¿ SetGraphMode óδ ¼«ªÑΓÑ »ÑαѬ½ετáΓ∞ß∩ ¼Ñªñπ ΓѬß-
-
- B.Pascal 7 & Objects/LR - 309 -
-
- Γ«óδ¼ ¿ úαáΣ¿τÑ߬¿¼ αѪ¿¼«¼. æ¼. â½áóπ 1 ó "æ»αáó«τ¡«¼ απ¬«ó«ñß-
- ΓóÑ »α«úαá¼¼¿ßΓá".
-
- î«ñπ½∞ Gráph ¼«ªÑΓ Γá¬ªÑ αáí«ΓáΓ∞ ¡á ¬«¼»∞εΓÑαáσ ß ñóπ¼∩ ¼«-
- ¡¿Γ«αἿ. Åα¿ ¿¡¿µ¿á½¿ºáµ¿¿ ¼«ñπ½∩ Graph ß »«¼«Θ∞ε »α«µÑñπαδ
- InitGraph ñ½∩ úαáΣ¿τÑ߬«ú« ñαá⌐óÑαá ¿ ΓαÑíπѼ«ú« αѪ¿¼á íπñÑΓ
- óδíαá¡ ¡πª¡δ⌐ ¼«¡¿Γ«α. Åα¿ ºáóÑαΦÑ¡¿¿ αáí«Γδ úαáΣ¿τÑ߬«⌐ »α«úαá¼-
- ¼δ »αÑñδñπΘ¿⌐ ó¿ñÑ«αѪ¿¼ íπñÑΓ ó«ßßΓá¡«ó½Ñ¡. àß½¿ ñ½∩ úαáΣ¿τÑ߬«⌐
- á»»áαáΓπαδ ß ñóπ¼∩ ¼«¡¿Γ«αἿ ΓαÑíπÑΓß∩ áóΓ«¼áΓ¿τÑ߬«Ñ αáß»«º¡á-
- óá¡¿Ñ, Γ« »α«µÑñπαá InitGraph óδíÑαÑΓ ¼«¡¿Γ«α ¿ úαáΣ¿τÑ߬πε »½á-
- Γπ, »α¿ ¬«Γ«α«⌐ íπñÑΓ »«½πτáΓ∞ß∩ ¡á¿½πτΦÑÑ ¬áτÑßΓó« óδó«ñ¿¼«⌐
- úαáΣ¿τÑ߬«⌐ ¿¡Σ«α¼áµ¿¿.
-
- ┌──────────────┬────────────────────────────────────────────────┐
- │ äαá⌐óÑα │ Ç»»áαáΓπαá │
- ├──────────────┼────────────────────────────────────────────────┤
- │ CGA.BGI │ äαá⌐óÑα ñ½∩ áñá»ΓÑα«ó CGA, MCGA Σ¿α¼δ IBM. │
- │ EGAVGA.BGI │ äαá⌐óÑα ñ½∩ áñá»ΓÑα«ó EGA, VGA Σ¿α¼δ IBM. │
- │ HERC.BGI │ äαá⌐óÑα ñ½∩ ¼«¡«σα«¼¡«ú« áñá»ΓÑαá Hercules Σ¿α-│
- │ │ ¼δ IBM. │
- │ ATT.BGI │ äαá⌐óÑα ñ½∩ AT&T 6300 (400 ßΓ᫬). │
- │ PC3270.BGI │ äαá⌐óÑα ñ½∩ IBM 3270 Éæ. │
- │ IBM8514.BGI │ äαá⌐óÑα ñ½∩ IBM 8514. │
- └──────────────┴────────────────────────────────────────────────┘
-
-
-
- B.Pascal 7 & Objects/LR - 310 -
-
- Å«ññÑ᪬á πßΓα«⌐ßΓóá IBM 8514
- ─────────────────────────────────────────────────────────────────
-
- Borland Pascal »«ññÑনóáÑΓ úαáΣ¿τÑ߬πε »½áΓπ IBM 8514, ¬«-
- Γ«αá∩ »αÑñßΓáó½∩ÑΓ ß«í«⌐ ¡«óπε úαáΣ¿τÑ߬πε »½áΓπ ß óδß«¬¿¼ αáºαÑ-
- ΦÑ¡¿Ñ¼, »«ºó«½∩εΘπε »«½πτ¿Γ∞ αáºαÑΦáεΘπε ß»«ß«í¡«ßΓ∞ ñ« 1024σ768
- Γ«τѬ ¿ »á½¿Γαπ, ß«ñÑαªáΘπε 256 «ΓΓÑ¡¬«ó ¿º 256 µóÑΓ«ó. öá⌐½
- ñαá⌐óÑαá ñ½∩ φΓ«⌐ úαáΣ¿τÑ߬«⌐ »½áΓδ ¡áºδóáÑΓß∩ IBM8514.BGI.
-
- âαáΣ¿τÑ߬á∩ »½áΓá IBM 8514 ¡Ñ ¼«ªÑΓ »αáó¿½∞¡« αáß»«º¡áóáΓ∞ß∩
- Borland Pascal »α¿ áóΓ«¼áΓ¿τÑ߬«¼ «í¡áαπªÑ¡¿¿ («¡á íπñÑΓ αáß»«º-
- ¡áóáΓ∞ß∩ á½ú«α¿Γ¼á¼¿ áóΓ««í¡áαπªÑ¡¿∩, ¬á¬ »½áΓá VGA). Æá¬¿¼ «íαá-
- º«¼, τΓ«íδ ¿ß»«½∞º«óáΓ∞ »½áΓπ IBM 8514, »ÑαѼѡ¡«⌐ GraphDriver
- »α¿ ó맮óÑ InitGraph ¡πª¡« »α¿ßó«¿Γ∞ º¡áτÑ¡¿Ñ IBM8514 (¬«Γ«α«Ñ
- «»αÑñѽѡ« ó ¼«ñπ½Ñ Graph). Åα¿ αáí«ΓÑ ß »½áΓ«⌐ IBM 8514 ¡Ñ ß½Ñ-
- ñπÑΓ ¿ß»«½∞º«óáΓ∞ ß InitGraph DetectGraph ¿½¿ DETECT (Ñß½¿ Γ«½∞¬«
- óδ ¡Ñ σ«Γ¿ΓÑ φ¼π½¿α«óáΓ∞ αѪ¿¼ VGA).
-
- ä½∩ »½áΓδ IBM 8514 »«ññÑনóáεΓß∩ ß½ÑñπεΘ¿Ñ αѪ¿¼δ: IBM8514LO
- (640σ480 φ½Ñ¼Ñ¡Γ«ó ¿º«íαáªÑ¡¿∩) ¿ IBM8514HI (1024σ768 φ½Ñ¼Ñ¡Γ«ó
- ¿º«íαáªÑ¡¿∩). ÄíÑ ¬«¡ßΓá¡Γδ αѪ¿¼á «»αÑñѽѡδ ó ¿¡ΓÑαΣÑ⌐ß¡«⌐ τáß-
- Γ¿ GRAPH.TPU.
-
- ä½∩ «»αÑñѽѡ¿∩ µóÑΓ«ó ó »½áΓÑ IBM 8514 ¿ß»«½∞ºπεΓß∩ Γα¿
- 6-í¿Γ«óδσ º¡áτÑ¡¿∩. ä½∩ ¬áªñ«ú« «»αÑñѽ∩Ѽ«ú« µóÑΓá ¿¼ÑεΓß∩ 6-í¿-
- Γ«óδÑ ¬«¼»«¡Ñ¡Γδ Red (¬αáß¡δ⌐), Green (ºÑ½Ñ¡δ⌐) ¿ Blue (ú«½πí«⌐).
- ä½∩ Γ«ú«, τΓ«íδ »α¿ αáí«ΓÑ ß úαáΣ¿τÑ߬«⌐ »½áΓ«⌐ IBM 8514 »«½∞º«-
- óáΓѽ∞ ¼«ú ºáñáóáΓ∞ µóÑΓá, ó í¿í½¿«ΓѬπ BGI ñ«íáó½Ñ¡á ¡«óá∩ »α«ú-
- αá¼¼á. ¥Γá »α«úαá¼¼á «»αÑñѽ∩ÑΓß∩ ó ¼«ñπ½Ñ GRAPH.TPU ß½ÑñπεΘ¿¼
- «íαẫ¼:
-
- procedure SetRGBPalette(ColorNum, Red, Green, Blue: Word);
-
- Çαúπ¼Ñ¡Γ ColorNum ºáñáÑΓ ºá»¿ß∞ »á½¿Γαδ, ¬«Γ«απε ¡πª¡« ºáúαπ-
- º¿Γ∞. ¥Γ«Γ áαúπ¼Ñ¡Γ »αÑñßΓáó½∩ÑΓ ß«í«⌐ µÑ½«Ñ º¡áτÑ¡¿Ñ ó ñ¿á»áº«¡Ñ
- «Γ 0 ñ« 255 (ñÑß.). Çαúπ¼Ñ¡Γδ Red, Green ¿ Blue «»αÑñѽ∩εΓ ¬«¼»«-
- ¡Ñ¡Γδ µóÑΓ«ó ó ºá»¿ß¿ »á½¿Γαδ. êß»«½∞ºπÑΓß∩ Γ«½∞¬« ¼½áñΦ¿⌐ íá⌐Γ
- φΓ¿σ º¡áτÑ¡¿⌐ ¿ Γ«½∞¬« 6 ßΓáαΦ¿σ í¿Γ«ó φΓ«ú« íá⌐Γá ºáúαπªáεΓß∩ ó
- »á½¿Γαπ.
-
- äαπú¿Ñ »α«úαá¼¼δ, ¼«ñ¿Σ¿µ¿απεΘ¿Ñ »á½¿Γαπ (SetAllPalette,
- SetPalette, GetPalette), »α¿ αáí«ΓÑ ß úαáΣ¿τÑ߬«⌐ »½áΓ«⌐ IBM 8514
- ¿ß»«½∞º«óáΓ∞ ¡Ñ ß½ÑñπÑΓ.
-
- ä½∩ ß«ó¼ÑßΓ¿¼«ßΓ¿ ß úαáΣ¿τÑ߬¿¼¿ áñá»ΓÑαἿ Σ¿α¼δ IBM ñαá⌐óÑ-
- αδ Σ«α¼áΓá BGI «»αÑñѽ∩εΓ ñ½∩ »Ñαóδσ 16 µóÑΓ«ó »á½¿Γαδ IBM 8514
- º¡áτÑ¡¿∩ µóÑΓ«ó, »α¿¡∩ΓδÑ »« π¼«½τá¡¿ε ñ½∩ áñá»ΓÑα«ó EGA/VGA. ¥Γ¿
- º¡áτÑ¡¿∩ ¼«úπΓ ¿ß»«½∞º«óáΓ∞ß∩ ó ¡Ñ¿º¼Ñ¡Ñ¡¡«¼ ó¿ñÑ ¿½¿ ¼«ñ¿Σ¿µ¿α«-
- óáΓ∞ß∩ ß »«¼«Θ∞ε »α«µÑñπαδ SetGRBPalette.
-
-
-
- B.Pascal 7 & Objects/LR - 311 -
-
- æ¿ßΓÑ¼á ¬««αñ¿¡áΓ
- ─────────────────────────────────────────────────────────────────
-
- Å« ß«ú½áΦÑ¡¿ε óÑασ¡¿⌐ ½Ñóδ⌐ πú«½ φ¬αá¡á ¿¼ÑÑΓ ¬««αñ¿¡áΓπ
- (0,0). ô í«½ÑÑ »αáó«ú« ßΓ«½íµá ¬««αñ¿¡áΓá σ í«½∞ΦÑ, π í«½ÑÑ ¡¿ª-
- ¡Ñ⌐ ßΓ᫬¿ í«½∞ΦÑ ¬««αñ¿¡áΓá y. Æ« ÑßΓ∞ ¬««αñ¿¡áΓá σ πóѽ¿τ¿óáÑΓ-
- ß∩ »α¿ »ÑαѼÑΘÑ¡¿¿ ó»αáó«, á ¬««αñ¿¡áΓá y - »α¿ »ÑαѼÑΘÑ¡¿¿ 󡿺.
- Æá¬¿¼ «íαẫ¼ ¬««αñ¿¡áΓδ ¬áªñ«ú« ¿º τÑΓδαÑσ πú½«ó ¿ ¬«¡¬αÑΓ¡«⌐
- Γ«τ¬¿ (ßÑαÑñ¿¡δ φ¬αá¡á) íπñπΓ óδú½∩ñÑΓ∞ ß½ÑñπεΘ¿¼ «íαẫ¼:
-
- (0,0) (319,0)
- ┌───────────────────────┐
- │ │
- │ (159,99) │
- │ . │
- │ │
- │ │
- │ │
- └───────────────────────┘
- (0,199) (319,199)
-
- É¿ß. 19.1 ¥¬αá¡ ß ¬««αñ¿¡áΓἿ xy.
-
-
- ÆÑ¬πΘ¿⌐ π¬áºáΓѽ∞
- ─────────────────────────────────────────────────────────────────
-
- Å«¡∩Γ¿Ñ ΓѬπΘÑú« π¬áºáΓѽ∩ ¿ß»«½∞ºπÑΓß∩ ó« ¼¡«ú¿σ úαáΣ¿τÑß-
- ¬¿σ ß¿ßΓѼáσ. Å«¡∩Γ¿Ñ ΓѬπΘÑú« π¬áºáΓѽ∩ á¡á½«ú¿τ¡« »«¡∩Γ¿ε ¬πα-
- ß«αá ñ½∩ ΓѬßΓ«ó«ú« αѪ¿¼á, ºá ¿ß¬½ετÑ¡¿Ñ¼ Γ«ú«, τΓ« ΓѬπΘ¿⌐ π¬á-
- ºáΓѽ∞ ¡Ñó¿ñ¿¼.
-
- Write('ABC');
-
- B.Pascal 7 & Objects/LR - 312 -
-
-
- é ΓѬßΓ«ó«¼ αѪ¿¼Ñ »αÑñΦÑßΓóπεΘ¿⌐ «»ÑαáΓ«α Write «ßΓáó¿Γ
- ¬παß«α ó ¬«½«¡¬Ñ, ¡Ñ»«ßαÑñßΓóÑ¡¡« ß½ÑñπεΘ¿¼ ºá íπ¬ó«⌐ C. àß½¿
- íπ¬óá C íδ½á óóÑñÑ¡á ó ¬«½«¡¬Ñ 80, Γ« ¬παß«α »ÑαÑ⌐ñÑΓ ¡á ¬«½«¡¬π
- 1 ß½ÑñπεΘÑ⌐ ßΓ᫬¿. àß½¿ íπ¬óá c íδ½á óóÑñÑ¡á ó »«º¿µ¿¿ 80 ßΓ᫬¿
- 25, Γ« »α«¿º«⌐ñÑΓ »α«½¿ßΓδóá¡¿Ñ (»α«¬απΓ¬á) φ¬αá¡á óóÑασ ¡á 1
- ßΓப㠨 ¬παß«α íπñÑΓ ¡áσ«ñ¿Γß∩ ó 1 »«º¿µ¿¿ 25 ßΓ᫬¿.
-
- MoveTo(0,0);
- LineTo(20,20)
-
- é úαáΣ¿τÑ߬«¼ αѪ¿¼Ñ ñá¡¡δ⌐ «»ÑαáΓ«α LinÑÆ« «ßΓáó¿Γ ΓѬπΘ¿⌐
- π¬áºáΓѽ∞ ó »«ß½Ññ¡Ñ⌐ ºáñá¡¡«⌐ Γ«τ¬Ñ (20,20). àß½¿ ñÑ⌐ßΓóπÑΓ αÑ-
- ª¿¼ «ΓßÑτÑ¡¿∩, Γ« αÑá½∞¡« óδó«ñ¿¼á∩ »α∩¼á∩ íπñÑΓ «ΓßÑτÑ¡á ñ« ΓÑ-
- ¬πΘÑ⌐ Γ«τ¬¿. çá¼ÑΓ¿¼, τΓ« ΓѬπΘ¿⌐ π¬áºáΓѽ∞ ¡¿¬«úñá ¡Ñ «ΓßѬáÑΓ-
- ß∩.
-
- 諼á¡ñá î«vÑÆ« ∩ó½∩ÑΓß∩ φ¬ó¿óá½Ñ¡Γ«¼ ¬«¼á¡ñδ GotoXY. àñ¿¡ß-
- ΓóÑ¡¡«Ñ ÑÑ ¡áº¡áτÑ¡¿Ñ - φΓ« »ÑαѼÑΘÑ¡¿Ñ ΓѬπΘÑú« π¬áºáΓѽ∩. ÅÑαÑ-
- ¼ÑΘÑ¡¿Ñ ΓѬπΘÑú« π¬áºáΓѽ∩ ¼«ªÑΓ ¿ß»«½∞º«óáΓ∞ß∩ Γ«½∞¬« ó ß½Ññπε-
- Θ¿σ ¬«¼á¡ñáσ, ¿ß»«½∞ºπεΘ¿σ ΓѬπΘ¿⌐ π¬áºáΓѽ∞: MoveTo, InitGraph,
- MoveRel, LineTo, LineRel, OutText, SetGraphMode, ClearDevice,
- SetViewPort ¿ ClearViewPort. ū߽Ññ¡¿Ñ 5 ¿º ¡¿σ »ÑαѼÑΘáεΓ ΓѬπ-
- Θ¿⌐ π¬áºáΓѽ∞ ó Γ«τ¬π (0,0).
-
- B.Pascal 7 & Objects/LR - 313 -
-
- ÆÑ¬ßΓ
- ─────────────────────────────────────────────────────────────────
-
- é úαáΣ¿τÑ߬«¼ αѪ¿¼Ñ ñ½∩ óδó«ñá ΓѬßΓá ¿ß»«½∞ºπÑΓß∩ Φα¿ΣΓ ß
- αáßΓα«¼ 8σ8 ¿ ¡Ñ߬«½∞¬« óÑ¬Γ«α¡δσ Φα¿ΣΓ«ó. ÉáßΓα«óδ⌐ ß¿¼ó«½ ºáñá-
- ÑΓß∩ ß »«¼«Θ∞ε ¼áΓα¿µδ φ½Ñ¼Ñ¡Γ«ó ¿º«íαáªÑ¡¿∩. éÑ¬Γ«α¡δ⌐ Φα¿ΣΓ ºá-
- ñáÑΓß∩ α∩ñ«¼ óÑ¬Γ«α«ó, ¬«Γ«αδÑ π¬áºδóáεΓ úαáΣ¿τÑ߬«⌐ ß¿ßΓѼÑ, ¬á¬
- α¿ß«óáΓ∞ Φα¿ΣΓ.
-
- ÅαÑ¿¼πΘÑßΓó« ¿ß»«½∞º«óá¡¿∩ óÑ¬Γ«α¡δσ Φα¿ΣΓ«ó ßΓá¡«ó¿Γß∩ «τÑ-
- ó¿ñ¡δ¼, ¬«úñá óδ ¡áτ¿¡áÑΓÑ α¿ß«óáΓ∞ í«½∞Φ¿Ñ ß¿¼ó«½δ. ū߬«½∞¬π
- ΦΓα¿σ«ó«⌐ Φα¿ΣΓ ºáñáÑΓß∩ óÑ¬Γ«αἿ, Γ« »α¿ πóѽ¿τÑ¡¿¿ Φα¿ΣΓá ¬á-
- τÑßΓó« ¿ αáºαÑΦÑ¡¿Ñ «ßΓáεΓß∩, ΓѼ ¡Ñ ¼Ñ¡ÑÑ, σ«α«Φ¿¼¿.
-
- è«úñá πóѽ¿τ¿óáÑΓß∩ αáßΓα«óδ⌐ Φα¿ΣΓ, Γ« ¼áΓα¿µá π¼¡«ªáÑΓß∩
- ¡á ¼áßΦΓáí¡δ⌐ ¬«φΣΣ¿µ¿Ñ¡Γ, á ¬«úñá φëà ¼áßΦΓáí¡δ⌐ ¬«φΣΣ¿µ¿Ñ¡Γ
- πóѽ¿τ¿óáÑΓß∩, αáºαÑΦÑ¡¿Ñ π ß¿¼ó«½«ó ßΓá¡«ó¿Γß∩ í«½ÑÑ úαπíδ¼. ä½∩
- ¼á½Ñ¡∞¬¿σ Φα¿ΣΓ«ó αáßΓα«óδ⌐ Φα¿ΣΓ ñ«½ªÑ¡ íδΓ∞ ñ«ßΓáΓ«τ¡« »α¿Ñ¼½Ñ-
- ¼δ¼, ¡« ñ½∩ í«½∞Φ¿σ Φα¿ΣΓ«ó óδ, óÑα«∩Γ¡«, ºáσ«Γ¿ΓÑ óδíαáΓ∞ óѬ-
- Γ«α¡δ⌐ Φα¿ΣΓ.
-
- éδαáó¡¿óá¡¿Ñ úαáΣ¿τÑ߬«ú« ΓѬßΓá π»αáó½∩ÑΓß∩ »α«µÑñπα«⌐
- SetTextJustify. îáßΦΓáí¿α«óá¡¿Ñ ¿ óδí«α Φα¿ΣΓá «ßπΘÑßΓó½∩ÑΓß∩ ß
- »«¼«Θ∞ε »α«µÑñπαδ SetTextStyle. âαáΣ¿τÑ߬¿⌐ ΓѬßΓ óδó«ñ¿Γß∩ ß »«-
- ¼«Θ∞ε »α«µÑñπα ÄutText ¿½¿ ÄutTextòY. çá»α«ß « ΓѬπΘ¿σ πßΓá¡«ó-
- ½Ñ¡¡δσ ñ½∩ ΓѬßΓá »áαá¼ÑΓαáσ óδ»«½¡∩ÑΓß∩ ß »«¼«Θ∞ε «íαáΘÑ¡¿∩ ¬
- »α«µÑñπαÑ GetTextSettings. éÑ¬Γ«α¡δÑ Φα¿ΣΓδ σαá¡∩Γß∩ ¬áªñδ⌐ ó «Γ-
- ñѽ∞¡«¼ Σá⌐½Ñ ¡á ñ¿ß¬Ñ ¿ ñ«½ª¡δ »α¿ßπΓßΓó«óáΓ∞ Γá¼ ó« óαѼ∩ αáí«-
- Γδ (»α¿ ó맮óÑ »α«µÑñπαδ SetTextStyle). ÉẼÑα óÑ¬Γ«α¡«ú« Φα¿ΣΓá
- ¼«ª¡« ¡áßΓα«¿Γ∞ ß »«¼«Θ∞ε »α«µÑñπαδ SetUserCharSize. öá⌐½δ Φα¿Σ-
- Γ«ó (¬«Γ«αδÑ ¿¼ÑεΓ αáßΦ¿αÑ¡¿Ñ .CHR) ¼«úπΓ ºáúαπªáΓ∞ß∩ ß ñ¿ß¬á áó-
- Γ«¼áΓ¿τÑ߬¿ ¼«ñπ½Ñ¼ Graph, ¿½¿ ¿σ ¼«ª¡« ¬«¼»«¡«óáΓ∞ ß »α«úαá¼¼«⌐
- »«½∞º«óáΓѽ∩ ¿½¿ ºáúαπªáΓ∞ ¿ "αÑú¿ßΓα¿α«óáΓ∞" ß »«¼«Θ∞ε ¼«ñπ½∩
- Graph.
-
- ä½∩ »αÑ«íαẫóá¡¿∩ Σá⌐½á Φα¿ΣΓá (¿½¿ ½εí«ú« ñαπú«ú« »αÑñ¡áº-
- ¡áτÑ¡¡«ú« ñ½∩ φΓ«⌐ µÑ½¿ ñó«¿τ¡«ú« Σá⌐½á ñá¡¡δσ) ó Σá⌐½ .OBJ, ¬«-
- Γ«αδ⌐ ¼«ª¡« ¬«¼»«¡«óáΓ∞ ß ¼«ñπ½Ñ¼ ¿½¿ »α«úαá¼¼«⌐ ß »«¼«Θ∞ε ñ¿αѬ-
- Γ¿óδ ¬«¼»¿½∩Γ«αá $L ó Borland Pascal »αÑñπß¼«ΓαÑ¡á ߻ѵ¿á½∞¡á∩
- πΓ¿½¿Γá BINOBJ.EXE. Åα¿ φΓ«¼ ßΓá¡«ó¿Γß∩ 󫺼«ª¡δ¼ »«¼ÑßΓ¿Γ∞ óßÑ
- Σá⌐½δ Φα¿ΣΓ«ó ó óδ»«½¡∩Ѽδ⌐ Σá⌐½ .EXE (ß¼. ¬«¼¼Ñ¡Γáα¿¿ ó ¡áτá½Ñ
- »α¿¼Ñαá »α«úαá¼¼δ BGILINK.PAS ¡á ñ¿ßΓα¿íπΓ¿ó¡«¼ ñ¿ß¬Ñ).
-
- B.Pascal 7 & Objects/LR - 314 -
-
- âαáΣ¿τÑ߬¿Ñ ¿º«íαáªÑ¡¿∩ ¿ ¿σ ó¿ñδ
- ─────────────────────────────────────────────────────────────────
-
- ä½∩ óδτÑατ¿óá¡¿∩ ¿ ºá¬αáΦ¿óá¡¿∩ úαáΣ¿τÑ߬¿σ ¿º«íαáªÑ¡¿∩,
- ó¬½ετá∩ Γ«τ¬¿, »α∩¼δÑ, «¬απª¡«ßΓ¿, ñπú¿, φ½½¿»ßδ, »α∩¼«πú«½∞¡¿¬¿,
- ¼¡«ú«πú«½∞¡¿¬¿, ΦΓα¿σ«ó¬π, ΓαÑσ¼Ñα¡πε ΦΓα¿σ«ó¬π ¿ ßÑ¬Γ«αδ, ¿¼ÑÑΓ-
- ß∩ µÑ½δ⌐ α∩ñ «íÑß»Ñτ¿óáεΘ¿σ »α«úαá¼¼. ä½∩ π»αáó½Ñ¡¿∩ ó¿ñ«¼ ½¿¡¿¿
- - íπñÑΓ «¡á Γ«¡¬«⌐ ¿½¿ Γ«½ßΓ«⌐, ¡Ñ»αÑαδó¡«⌐ ¿½¿ ß«ßΓ«∩ΘÑ⌐ ¿º Γ«-
- τѬ, ¿½¿ ªÑ »«ßΓα«Ñ¡¡«⌐ »« óáΦѼπ ß«íßΓóÑ¡¡«¼π «íαẵπ - ¼«ª¡«
- ¿ß»«½∞º«óáΓ∞ »α«µÑñπαπ SetLineStyle.
-
- ä½∩ ºá¬αáΦ¿óá¡¿∩ «í½áßΓ¿ ¿½¿ ¼¡«ú«πú«½∞¡¿¬á »ÑαÑßѬáεΘÑ⌐ß∩
- ΦΓα¿σ«ó¬«⌐ ¿½¿ τѼ-½¿í« í«½ÑÑ ß½«ª¡δ¼ ¼«ª¡« ¿ß»«½∞º«óáΓ∞ »α«µÑñπ-
- αδ SetFillStyle, SetFloodPattern, FillPoly ¿ FloodFill.
-
- Äí½áßΓ¿ »α«ß¼«Γαá ¿ ñó«¿τ¡δÑ «íαáºδ
- ─────────────────────────────────────────────────────────────────
-
- Åα«µÑñπαá ViewPoint »«ºó«½∩ÑΓ óßѼ ¬«¼á¡ñá¼ óδó«ñá αáí«ΓáΓ∞
- ó »α∩¼«πú«½∞¡«⌐ «í½áßΓ¿ φ¬αá¡á. âαáΣ¿¬¿, »α∩¼δÑ ¿ ñαπú¿Ñ úαáΣ¿-
- τÑ߬¿Ñ ¿º«íαáªÑ¡¿∩ (óÑß∞ úαáΣ¿τÑ߬¿⌐ óδó«ñ) ßó∩ºδóáÑΓß∩ ß «í-
- ½áßΓ∞ε »α«ß¼«Γαá, »«¬á φΓá «í½áßΓ∞ ¡Ñ ¿º¼Ñ¡∩ÑΓß∩. ÅαÑñπß¼«ΓαÑ¡δ
- »α«úαá¼¼δ ñ½∩ «τ¿ßΓ¬¿ «í½áßΓ¿ »α«ß¼«Γαá ¿ ßτ¿Γδóá¡¿∩ ÑÑ ΓѬπΘ¿σ
- «»αÑñѽѡ¿⌐. àß½¿ ºáñá¡ αѪ¿¼ «ΓßÑτÑ¡¿∩, Γ« óÑß∞ úαáΣ¿τÑ߬¿⌐ óδ-
- ó«ñ «ΓßÑτÑΓß∩ ñ« ΓѬπΘÑ⌐ Γ«τ¬¿. çá¼ÑΓ¿¼, τΓ« ΓѬπΘ¿⌐ π¬áºáΓѽ∞
- ¡¿¬«úñá ¡Ñ «ΓßѬáÑΓß∩.
-
- ä½∩ ßτ¿Γδóá¡¿∩ ¿ óδó«ñá φ½Ñ¼Ñ¡Γ«ó ¿º«íαáªÑ¡¿∩ »αÑñπß¼«ΓαÑ¡δ
- »α«µÑñπαδ GetPixel ¿ Putpixel. ùΓ«íδ ß«σαá¡¿Γ∞ ¿ ó«ßßΓá¡«ó¿Γ∞ ¡á
- φ¬αá¡Ñ »α∩¼«πú«½∞¡πε «í½áßΓ∞, ¼«ª¡« ¿ß»«½∞º«óáΓ∞ »α«µÑñπαδ
- GetImage ¿ PutImage. Ä¡¿ «íÑß»Ñτ¿óáεΓ »«½¡«Ñ óδ»«½¡Ñ¡¿Ñ «»Ñαᵿ⌐
- »α«µÑñπαδ éitélt (¡«α¼á½∞¡«Ñ, σ«r, «r, ánd, n«t).
-
-
-
- B.Pascal 7 & Objects/LR - 315 -
-
- Å«ññÑ᪬á ßΓαá¡¿µ ¿ µóÑΓ«ó
- ─────────────────────────────────────────────────────────────────
-
- ê¼ÑÑΓß∩ ¼¡«ú« ñαπú¿σ »«ññÑনóáεΘ¿σ »α«úαá¼¼, ó¬½ετá∩ »«ñ-
- ñÑ᪬π ñ½∩ ¡Ñ߬«½∞¬¿σ úαáΣ¿τÑ߬¿σ ßΓαá¡¿µ (Γ«½∞¬« ñ½∩ áñá»ΓÑα«ó
- EGA, VGA ¿ ìÑrcules; φΓ« «ß«íÑ¡¡« »«½Ñº¡« »α¿ ¿ß»«½∞º«óá¡¿¿ ó
- ¼π½∞Γ¿»½¿¬áµ¿¿), »á½¿Γαδ, µóÑΓá ¿ Γᬠñá½ÑÑ.
-
- Äíαáí«Γ¬á «Φ¿í«¬
- ─────────────────────────────────────────────────────────────────
-
- é¡πΓαÑ¡¡¿Ñ «Φ¿í¬¿ ¼«ñπ½∩ Graph ó«ºóαáΘáεΓß∩ Σπ¡¬µ¿Ñ⌐
- GraphResult. ¥Γá Σπ¡¬µ¿∩ ó«ºóαáΘáÑΓ ¬«ñ «Φ¿í¬¿, »«¬áºδóáεΘ¿⌐ ß«ß-
- Γ«∩¡¿Ñ »«ß½Ññ¡Ñ⌐ úαáΣ¿τÑ߬«⌐ «»Ñαᵿ¿. è«ñδ ó«ºóαáΓá »α¿óÑñÑ¡δ
- ó αáºñÑ½Ñ »« GraphResult ó â½áóÑ 1 ("æ»αáó«τ¡¿¬ »« í¿í½¿«ΓѬ¿")
- "æ»αáó«τ¡«ú« απ¬«ó«ñßΓóá »α«úαá¼¼¿ßΓá".
-
- ç¡áτÑ¡¿Ñ ¬«ñá ó«ºóαáΓá ñ½∩ Σπ¡¬µ¿¿ GraphResult πßΓá¡áó½¿óá-
- ÑΓß∩ ß½ÑñπεΘ¿¼¿ »α«µÑñπαἿ:
-
- DetectGraph SetTextStile SetAllPalette
- InitGraph SetGraphMode SetFillPattern
- FloodFill CloseGraph SetFillStyle
- FillPoly GetGraphMode SetGraphBufSize
- DrawPoly ImageSize SetGraphMode
- Bar InstallUserDriver SetLineStyle
- Bár3D InstallUserFont SetPalette
- PieSlice RegisterBGIDriver SetTextJustify
- ClearViewPort RegisterGBIFont
-
- çá¼ÑΓ¿¼, τΓ« Σπ¡¬µ¿∩ GraphResult »«ß½Ñ «íαáΘÑ¡¿∩ ¬ ¡Ñ⌐ ßíαá-
- ßδóáÑΓ ¬«ñ «Φ¿í¬¿ ó 0. Æá¬¿¼ «íαẫ¼, »«½∞º«óáΓѽ∞ ñ«½ªÑ¡ ß«σαá-
- ¡¿Γ∞ º¡áτÑ¡¿Ñ ¬«ñá «Φ¿í¬¿ ó« óαѼѡ¡«⌐ »ÑαѼѡ¡«⌐ ¿ ºáΓѼ »α«óÑ-
- α¿Γ∞ Ñú«.
-
-
-
- B.Pascal 7 & Objects/LR - 316 -
-
- ìáτὫ αáí«Γδ
- ─────────────────────────────────────────────────────────────────
-
- Åα¿óÑñѼ »α¿¼Ñα »α«ßΓ«⌐ úαáΣ¿τÑ߬«⌐ »α«úαá¼¼δ:
-
- 1 program GraphTest;
- 2 uses
- 3 Graph;
- 4 var
- 5 GraphDriver : integer;
- 6 GraphMode : integer;
- 7 ErrorCode : integer;
- 8 begin
- 9 GraphDriver := Detect; { ôßΓá¡«ó¿Γ∞ Σ½áú: óδ»«½¡¿Γ∞
- αáß»«º¡áóá¡¿Ñ }
- 10 InitGraph(GraphDriver, GraphMode, 'C:\DRIVERS');
- 11 ErrorCode := GraphResult;
- 12 if ErrorCode <> grOk then { «Φ¿í¬á? }
- 13 begin
- 14 Writeln('ÄΦ¿í¬á úαáΣ¿¬¿: ',GraphErrorMsg(ErrorCode);
- 15 Writeln('Åα«úαá¼¼á áóáα¿⌐¡« ºáóÑαΦ¿½á αáí«Γπ...');
- 16 Halt(1);
- 17 end;
- 18 Rectangle(0, 0, GetMaxX, GetMaxY); { ¡áα¿ß«óáΓ∞ αἬπ
- αẼÑα«¼ ó φ¬αá¡ }
- 19 SetTextJustify(CenterText, CenterText); { µÑ¡Γα¿α«óá-
- ¡¿Ñ ΓѬßΓá }
- 20 SetTextStyle(DefaultFont, HorizDir, 3);
- 21 OutTextXY(GetMaxX div 2, GetMaxY div 2, { µÑ¡Γα φ¬αá¡á }
- 22 'âαáΣ¿τÑ߬¿⌐ ¿¡ΓÑαΣÑ⌐ß Σ¿α¼δ Borland (BGI)');
- 23 Readln;
- 24 CloseGraph;
- 25 end. { GraphTest }
-
- Åα«úαá¼¼á ¡áτ¿¡áÑΓß∩ ß «íαáΘÑ¡¿∩ ¬ »α«µÑñπαÑ InitGraph, ¬«-
- Γ«αá∩ áóΓ«¼áΓ¿τÑ߬¿ »α«óÑα∩ÑΓ ¡á½¿τ¿Ñ á»»áαáΓπαδ ¿ ºáúαπªáÑΓ ß«-
- «ΓóÑΓßΓóπεΘ¿⌐ úαáΣ¿τÑ߬¿⌐ ñαá⌐óÑα (¡áσ«ñ∩Θ¿⌐ß∩ ó ¬áΓὫúÑ C:
- DRIVERS). àß½¿ úαáΣ¿τÑ߬á∩ á»»áαáΓπαá ¡Ñ αáß»«º¡á¡á ¿½¿ ó »α«µÑß-
- ßÑ ¿¡¿µ¿á½¿ºáµ¿¿ »α«¿º«Φ½á «Φ¿í¬á, Γ« ¡á φ¬αá¡ óδó«ñ¿Γß∩ ß««íΘÑ-
- ¡¿Ñ «í «Φ¿í¬Ñ ¿ »α«úαá¼¼á »αѬαáΘáÑΓ αáí«Γπ. é »α«Γ¿ó¡«¼ ß½πτáÑ
- óñ«½∞ ¬αáÑó φ¬αá¡á α¿ßπÑΓß∩ »α∩¼«πú«½∞¡¿¬ ¿ ó µÑ¡ΓαÑ φ¬αá¡á óδó«-
- ñ¿Γß∩ ΓѬßΓ.
-
- ŽáΓá AT&T 400 ¿½¿ IBM 8514 ¡Ñ αáß»«º¡áÑΓß∩ áóΓ«¼áΓ¿τÑ߬¿.
- ÆÑ¼ ¡Ñ ¼Ñ¡ÑÑ, óδ ¼«ªÑΓÑ »«½∞º«óáΓ∞ß∩ ñαá⌐óÑα«¼ úαáΣ¿¬¿ AT&T »πΓѼ
- «Γ¼Ñ¡δ áóΓ«¼áΓ¿τÑ߬«⌐ »α«óÑન, »ÑαÑß佬¿ ¿ß»«½¡∩Ѽ«ú« ¬«ñá ñαá⌐-
- óÑαá AT&T »α«µÑñπαÑ InitGraph ¿ πßΓá¡«ó¬¿ ñ«»πßΓ¿¼«ú« úαáΣ¿τÑ߬«-
- ú« αѪ¿¼á. çá¼Ñ¡¿ΓÑ 8 ¿ 9 ßΓ᫬π ó »αÑñδñπΘѼ »α¿¼ÑαÑ ß½ÑñπεΘ¿¼¿
- ΓαѼ∩ ßΓα«¬á¼¿:
-
- GraphDriver := ATT400;
- GraphMode := ATT400Hi;
- InitGraph(GraphDriver, GraphMode, 'C:\BP\BGI');
-
- B.Pascal 7 & Objects/LR - 317 -
-
-
- ¥Γ« π¬áªÑΓ úαáΣ¿τÑ߬«⌐ ß¿ßΓÑ¼Ñ ¡á ¡Ñ«íσ«ñ¿¼«ßΓ∞ ºáúαπº¬¿
- ñαá⌐óÑαá πßΓα«⌐ßΓóá AT&T400, αáß»«½«ªÑ¡¡«ú« ó ¬áΓὫúÑ C:\BP\BGI,
- ¿ πßΓá¡«ó¿Γ úαáΣ¿τÑ߬¿⌐ αѪ¿¼ 640 ¡á 400.
-
- Åα¿óÑñѼ ÑΘÑ «ñ¿¡ »α¿¼Ñα, ¬«Γ«αδ⌐ »«¬áºδóáÑΓ, ¬á¬ ¼«ª¡« »Ñ-
- αѬ½ετáΓ∞ß∩ ¼Ñªñπ úαáΣ¿τÑ߬¿¼ ¿ ΓѬßΓ«óδ¼ αѪ¿¼á¼¿:
-
- 1 program GraphTest;
- 2 uses
- 3 Graph;
- 4 var
- 5 GraphDriver : integer;
- 6 GraphMode : integer;
- 7 ErrorCode : integer;
- 8 begin
- 9 GraphDriver := Detect; { ôßΓá¡«ó¿Γ∞ Σ½áú: óδ»«½¡¿Γ∞
- αáß»«º¡áóá¡¿Ñ }
- 10 InitGraph(GraphDriver, GraphMode, 'C:\DRIVERS');
- 11 ErrorCode := GraphResult;
- 12 if ErrorCode <> grOk then { «Φ¿í¬á? }
- 13 begin
- 14 Writeln('ÄΦ¿í¬á úαáΣ¿¬¿: ',GraphErrorMsg(ErrorCode);
- 15 Writeln('Åα«úαá¼¼á áóáα¿⌐¡« ºáóÑαΦ¿½á αáí«Γπ...');
- 16 Helt(1);
- 17 end;
- 18 OutText('âαáΣ¿τÑ߬¿⌐ αѪ¿¼. ì᪼¿ΓÑ <RETURN>');
- 19 Readln;
- 20 RestoreCrtMode;
- 21 Write('ÆÑ¬ßΓ«óδ⌐ αѪ¿¼. ì᪼¿ΓÑ <RETURN>');
- 22 Readln;
- 23 SetGraphMode(GraphMode);
- 24 OutText('æ¡«óá úαáΣ¿τÑ߬¿⌐ αѪ¿¼. ì᪼¿ΓÑ <RETURN>');
- 25 Readln;
- 26 CloseGraph;
- 27 end. { GraphTest }
-
- çá¼ÑΓ¿¼, τΓ« ó맮ó »α«µÑñπαδ SetGraphMode ¡á ßΓα«¬Ñ 23 ßíαá-
- ßδóáÑΓ óßÑ úαáΣ¿τÑ߬¿Ñ »áαá¼ÑΓαδ (»á½¿Γαá, ΓѬπΘ¿⌐ π¬áºáΓѽ∞, «ß-
- ¡«ó¡«⌐ ¿ Σ«¡«óδ⌐ µóÑΓá ¿ Γ.ñ.) ¿ ¿¼ »α¿ßóá¿óáεΓß∩ »α¿¡∩ΓδÑ »«
- π¼«½τá¡¿ε º¡áτÑ¡¿∩.
-
- é맮ó CloseGraph ó«ßßΓá¡áó½¿óáÑΓ »Ñαó«¡áτá½∞¡« «í¡áαπªÑ¡¡δ⌐
- ó¿ñÑ«αѪ¿¼ (InitGraph) ¿ «ßó«í«ªñáÑΓ »á¼∩Γ∞, ¿ß»«½∞ºπѼπε úαáΣ¿-
- τÑ߬¿¼ ñαá⌐óÑα«¼.
-
-
-
- B.Pascal 7 & Objects/LR - 318 -
-
- Å«½∞º«óáΓѽ∞߬¿Ñ »α«úαá¼¼δ
- π»αáó½Ñ¡¿∩ ñ¿¡á¼¿τÑ߬¿ αáß»αÑñѽ∩Ѽ«⌐ »á¼∩Γ∞ε
- ─────────────────────────────────────────────────────────────────
-
- ä½∩ ¼«ñπ½∩ Graph »αÑñπß¼«ΓαÑ¡δ ñóÑ »α«úαá¼¼δ π»αáó½Ñ¡¿∩ ñ¿-
- ¡á¼¿τÑ߬¿ αáß»αÑñѽ∩Ѽ«⌐ «í½áßΓ∞ε GraphFrÑÑîѼ ¿ GraphGetîѼ.
- ÅÑαóá∩ ¿º ¡¿σ «ßó«í«ªñáÑΓ »á¼∩Γ∞, αáß»αÑñѽѡ¡πε ñ½∩ ñαá⌐óÑα«ó, á
- óΓ«αá∩ - αáß»αÑñѽ∩ÑΓ »á¼∩Γ∞ ñ½∩ ñαá⌐óÑα«ó úαáΣ¿τÑ߬¿σ πßΓα«⌐ßΓó.
- æΓá¡ñáαΓ¡δÑ »α«úαá¼¼δ ¿¼ÑεΓ ß½ÑñπεΘ¿⌐ ó¿ñ:
-
- procedure GraphGetMem(var P : Pointer; Size : word);
- { óδñѽ¿Γ∞ »á¼∩Γ∞ ñ½∩ ñαá⌐óÑα«ó úαáΣ¿τÑ߬¿σ πßΓα«⌐ßΓó }
-
- procedure GraphFreeMem(var P : Pointer; Size : word);
- { «ßó«í«ñ¿Γ∞ »á¼∩Γ∞ ñ½∩ ñαá⌐óÑα«ó úαáΣ¿τÑ߬¿σ πßΓα«⌐ßΓó }
-
- é ¼«ñπ½Ñ Graph ¿¼ÑεΓß∩ ñóá π¬áºáΓѽ∩, ¬«Γ«αδÑ »« π¼«½τá¡¿ε
- π¬áºδóáεΓ ¡á ñóÑ «»¿ßá¡¡δÑ ºñÑß∞ ßΓá¡ñáαΓ¡δÑ »«ñ»α«úαá¼¼δ. ¥Γ¿
- π¬áºáΓѽ∞ «»αÑñѽ∩εΓß∩ ß½ÑñπεΘ¿¼ «íαẫ¼:
-
- var
- GraphGetMemPtr : pointer;
- { π¬áºáΓѽ∞ ¡á »α«úαá¼¼π αáß»αÑñѽѡ¿∩ »á¼∩Γ¿ }
- GraphFreeMemPtr : pointer;
- { π¬áºáΓѽ∞ ¡á »α«úαá¼¼π «ßó«í«ªñÑ¡¿∩ »á¼∩Γ¿ }
-
- é« óαѼ∩ ¿¡¿µ¿á½¿ºáµ¿¿ ¼«ñπ½∩ Graph φΓ¿ π¬áºáΓѽ¿ ßßδ½áεΓß∩
- ¡á ßΓá¡ñáαΓ¡δÑ úαáΣ¿τÑ߬¿Ñ »α«úαá¼¼δ αáß»αÑñѽѡ¿∩/«ßó«í«ªñÑ¡¿∩,
- ¬«Γ«αδÑ «»αÑñѽ∩εΓß∩ ó ßѬµ¿¿ αÑ὿ºáµ¿¿ ¼«ñπ½∩ Graph. Åá¼∩Γ∞
- αáß»αÑñѽ∩Γß∩ ó ΓαÑσ αẽ¿τ¡δσ µÑ½∩σ:
-
- * ñ½∩ ¼¡«ú«µÑ½Ñóδσ úαáΣ¿τÑ߬¿σ íπΣÑα«ó, αẼÑα ¬«Γ«αδσ πßΓá-
- ¡áó½¿óáÑΓß∩ ó맮ó«ó SegGraphBufSize (»« π¼«½τá¡¿ε φΓ« 4è);
-
- * ñ½∩ ñαá⌐óÑαá πßΓα«⌐ßΓóá, ºáúαπªáѼ«ú« InitGraph (Σá⌐½δ
- *.BGI);
-
- * ñ½∩ Σá⌐½á óÑ¬Γ«α¡«ú« Φα¿ΣΓá, ºáúαπªÑ¡¡«ú« SetTextStyle
- (Σá⌐½δ *.CHR).
-
- âαáΣ¿τÑ߬¿⌐ íπΣÑα óßÑúñá óδñѽ∩ÑΓß∩ ó ñ¿¡á¼¿τÑ߬¿ αáß»αÑñÑ-
- ½∩Ѽ«⌐ «í½áßΓ¿ »á¼∩Γ¿. Åá¼∩Γ∞ ñ½∩ ñαá⌐óÑαá πßΓα«⌐ßΓóá óδñѽ∩ÑΓß∩
- ó ñ¿¡á¼¿τÑ߬«⌐ »á¼∩Γ¿, Ñß½¿ »α«úαá¼¼á ¡Ñ ºáúαπªáÑΓ Ñú« ¿½¿ ¡Ñ
- ¬«¼»«¡πÑΓß∩ ß ¡¿¼ óδº«ó«¼ RegisterBGIdriver. Åα¿ óδí«αÑ óÑ¬Γ«α¡«-
- ú« Φα¿ΣΓá ß »«¼«Θ∞ε SetTextStyle Γá¬ªÑ óδñѽ∩ÑΓß∩ »á¼∩Γ∞ ó ñ¿¡á-
- ¼¿τÑ߬¿ αáß»αÑñѽ∩Ѽ«⌐ «í½áßΓ¿ (Ñß½¿ óáΦá »α«úαá¼¼á ¡Ñ ¬«¼»«¡πÑΓ-
- ß∩ ß« Φα¿ΣΓ«¼ ¿ ¡Ñ ¿ß»«½∞ºπÑΓ RegisterBGIfont).
-
- ùΓ«íδ ºáñáΓ∞ óáΦÑ ß«íßΓóÑ¡¡«Ñ π»αáó½Ñ¡¿Ñ »á¼∩Γ∞ε, ó ¼«ñπ½Ñ
- Graph óδ ¼«ªÑΓÑ ¿º¼Ñ¡¿Γ∞ º¡áτÑ¡¿∩ φΓ¿σ π¬áºáΓѽÑ⌐ Γá¬, τΓ«íδ «¡¿
- ßßδ½á½¿ß∞ ¡á óáΦ¿ ß«íßΓóÑ¡¡δÑ »α«úαá¼¼δ. Åα«úαá¼¼δ, ºáñá¡¡δÑ
- »«½∞º«óáΓѽѼ, ñ«½ª¡δ ¿¼ÑΓ∞ ëà ªÑ ß»¿ß«¬ »áαá¼ÑΓα«ó, τΓ« ¿ ßΓá¡-
- ñáαΓ¡δÑ »α«úαá¼¼δ, ¿ ñ«½ª¡δ ¿¼ÑΓ∞ ñá½∞¡¿⌐ Γ¿» ó맮óá. Åα¿óÑñѼ
-
- B.Pascal 7 & Objects/LR - 319 -
-
- ñá½ÑÑ »α¿¼Ñα ºáñá¡¡δσ »«½∞º«óáΓѽѼ »α«úαá¼¼ αáß»αÑñѽѡ¿∩ ¿ «ß-
- ó«í«ªñÑ¡¿∩ »á¼∩Γ¿. çá¼ÑΓ¿¼, τΓ« »α¿ ¿ß»«½∞º«óá¡¿¿ »α«µÑñπαδ Eσit
- áóΓ«¼áΓ¿τÑ߬¿ óδºδóáÑΓß∩ »α«µÑñπαá CloseGraph.
-
- program UserHeapManegement;
- { »α«úαá¼¼á »«¬áºδóáÑΓ, ¬á¬ »«½∞º«óáΓѽ∞ ¼«ªÑΓ αáí«ΓáΓ∞ ß
- »«ñ»α«úαἼἿ π»αáó½Ñ¡¿∩ ñ¿¡á¼¿τÑ߬¿ αáß»αÑñѽ∩Ѽ«⌐ «í-
- ½áßΓ∞ε »á¼∩Γ¿, ¿ß»«½∞ºπÑ¼δ¼¿ ó ¼«ñπ½Ñ Graph }
- uses
- Graph;
- var
- GraphDriver, GraphMode : Integer;
- ErrorCode : Integer; { ¿ß»«½∞ºπÑΓß∩ ñ½∩
- ß«σαá¡Ñ¡¿∩ ¬«ñá ó«ºóαáΓá Σπ¡¬µ¿¿ GraphResult }
- PreGraphExitProc : Pointer { ¿ß»«½∞ºπÑΓß∩ ñ½∩ ß«σ-
- αá¡Ñ¡¿∩ ¿ßσ«ñ¡«⌐ »α«µÑñπαδ óδσ«ñá }
- { »α«µÑñπαδ »«½∞º«óáΓѽ∩ ñ«½ª¡δ ¿ß»«½∞º«óáΓ∞ ñá½∞¡¿⌐ Γ¿»
- «íαáΘÑ¡¿∩ }
- procedure MyGetMem(var P : Pointer; Size : word); far;
- { óδñѽ¿Γ∞ »á¼∩Γ∞ ñ½∩ ñαá⌐óÑα«ó úαáΣ¿τÑ߬¿σ πßΓα«⌐ßΓó }
- begin
- Write('üδ½á óδºóá¡á »α«µÑñπαá ',
- 'MyGetMem, ¡áª¼¿ΓÑ <Enter>:');
- GetMem(P, Size);
- end; { MyGetMem }
-
- procedure MyFreeMem(ver P : Pointer; Size : word); far;
- { «ßó«í«ñ¿Γ∞ »á¼∩Γ∞, ºá¡∩Γπε ñαá⌐óÑαἿ úαáΣ¿τÑ߬¿σ
- πßΓα«⌐ßΓó }
- begin
- RestoreCRTMode;
- Write('üδ½á óδºóá¡á »α«µÑñπαá MyFreeMem, ¡áª¼¿ΓÑ ',
- '<Enter>:'); Readln;
- if P <> Nil Then { ¡Ñ «ßó«í«ªñáΓ∞ »πßΓδÑ π¬áºáΓѽ¿ }
- begin
- FreeMem(P, Size);
- P := Nil;
- end; { MyFreeMem }
-
- procedure MyExitProc; far;
- { »α«µÑñπαá óßÑúñá »«½πτáÑΓ ó맮ó »α¿ »αѬαáΘÑ¡¿¿ αáí«Γδ
- »α«úαá¼¼δ }
- begin
- ExitProc := PreGraphExitProc; { ó«ßßΓá¡«ó¿Γ∞ ¿ßσ«ñ¡πε
- »α«µÑñπαπ óδσ«ñá }
- CloseGraph; { «τ¿ßΓ¿Γ∞ ñ¿¡á¼¿τÑ߬¿ αáß»αÑñѽ∩Ѽπε
- «í½áßΓ∞ }
- end; { MyExitProc }
-
- begin
- { ¿¡¿µ¿á½¿º¿α«óáΓ∞ »α«úαá¼¼π «τ¿ßΓ¬¿ »á¼∩Γ¿ }
- PreGraphExitProc := ExitProc;
- ExitProc := @MyExitProc;
-
- B.Pascal 7 & Objects/LR - 320 -
-
- GraphGetMemPtr := @MyGetMem ; { ºá¼Ñ¡¿Γ∞ αáß»αÑñѽѡ¿Ñ
- »á¼∩Γ¿ }
- GraphFreeMemPtr := @MyFreeMem ; { ºá¼Ñ¡¿Γ∞ «ßó«í«ªñÑ¡¿Ñ
- »á¼∩Γ¿ }
- GraphDriver := Detect;
- InitGraph(GraphDriver, GraphMode, '');
- ErrorCode := GraphResult;
- if ErrorCode <> grOk then
- begin
- Writeln('âαáΣ¿τÑ߬á∩ «Φ¿í¬á: ' GraphErrorMsg(ErrorCode);
- Readln;
- Halt(1);
- end;
- Line(0, 0, GetMaxX, GetMaxY);
- OutText(1, 1, 'ì᪼¿ΓÑ ¬½áó¿Φπ <Enter>:');
- Readln;
- end. { UserHeapManegement }
-
- àß½¿ µÑ½Ñó«⌐ »½áΓΣ«α¼«⌐ ∩ó½∩ÑΓß∩ ºáΘ¿ΘÑ¡¡δ⌐ αѪ¿¼ DOS, Γ«
- »α¿ ¿ß»«½∞º«óá¡¿¿ »«ñ«í¡δσ »α«úαá¼¼ ß½ÑñπÑΓ ¿¼ÑΓ∞ ó ó¿ñπ ß½Ññπε-
- ΘÑÑ: óδ ñ«½ª¡δ «íÑß»Ñτ¿Γ∞, τΓ« ½εí«⌐ ó«ºóαáΘáѼδ⌐ GetMem π¬áºá-
- Γѽ∞ ñ«½ªÑ¡ ¿¼ÑΓ∞ ¡π½Ñó«Ñ ß¼ÑΘÑ¡¿Ñ. æñѽáΓ∞ φΓ« ¼«ª¡« ß »«¼«Θ∞ε
- Σπ¡¬µ¿¿ GlobalAllocPtr:
-
- procedure MyGetMem(var P: Pointer; Size: Word); far;
- var
- P: Pointer;
- bagin
- P:= GlobalAllocPtr(HeapAllocFlags, Size);
- GetMem(P, 4096);
- end; { MyGetMem }
-
-
-
- B.Pascal 7 & Objects/LR - 321 -
-
- Åα«µÑñπαδ ¼«ñπ½∩ Graph
- Æáí½¿µá 19.3
- ┌───────────────────┬───────────────────────────────────────────┐
- │ Å«ñ»α«úαá¼¼á │ Ä»¿ßá¡¿Ñ │
- ├───────────────────┼───────────────────────────────────────────┤
- │ Arß │ É¿ßπÑΓ ñπú𠫬απª¡«ßΓ¿ «Γ ¡áτá½∞¡«ú« πú½á│
- │ │ ñ« ¬«¡Ñτ¡«ú« πú½á; Γ«τ¬á (x,y) íÑαÑΓß∩ ó│
- │ │ ¬áτÑßΓóÑ µÑ¡Γαá «¬απª¡«ßΓ¿. │
- ├───────────────────┼───────────────────────────────────────────┤
- │ Bár │ É¿ßπÑΓ ßΓ«½íѵ, ¿ß»«½∞ºπ∩ ΓѬπΘ¿⌐ Γ¿» ºá¬-│
- │ │ αá߬¿. │
- ├───────────────────┼───────────────────────────────────────────┤
- │ Bár3D │ É¿ßπÑΓ ΓαÑσ¼Ñα¡δ⌐ ßΓ«½íѵ, ¿ß»«½∞ºπ∩ ΓÑ-│
- │ │ ¬πΘ¿⌐ Γ¿» ºá¬αá߬¿. │
- ├───────────────────┼───────────────────────────────────────────┤
- │ CirclÑ │ É¿ßπÑΓ «¬απª¡«ßΓ∞ ß µÑ¡Γα«¼ ó Γ«τ¬Ñ (x,y).│
- ├───────────────────┼───────────────────────────────────────────┤
- │ ClearDevißÑ │ æíαáßδóáÑΓ ΓѬπΘ¿Ñ »áαá¼ÑΓαδ, πßΓá¡«ó½Ñ¡-│
- │ │ ¡δÑ ñ½∩ πßΓα«⌐ßΓóá óδó«ñá, ¿ »«ñú«Γáó½¿óá-│
- │ │ ÑΓ Ñú« ñ½∩ óδó«ñá. │
- ├───────────────────┼───────────────────────────────────────────┤
- │ ClearViewPort │ Äτ¿ΘáÑΓ ΓѬπΘπε «í½áßΓ∞ »α«ß¼«Γαá («¬¡«│
- │ │ φ¬αá¡á). │
- ├───────────────────┼───────────────────────────────────────────┤
- │ CloseGraph │ éδ»«½¡∩ÑΓ «ßΓá¡«ó úαáΣ¿τÑ߬«⌐ ß¿ßΓѼδ. │
- ├───────────────────┼───────────────────────────────────────────┤
- │ DetectGraph │ Éáß»«º¡áÑΓ á»»áαáΓπαπ ¿ «»αÑñѽ∩ÑΓ, ¬á¬«⌐│
- │ │ úαáΣ¿τÑ߬¿⌐ ñαá⌐óÑα ¿ αѪ¿¼ ¡πª¡« ¿ß»«½∞-│
- │ │ º«óáΓ∞. │
- ├───────────────────┼───────────────────────────────────────────┤
- │ DrawPoly │ É¿ßπÑΓ ¼¡«ú«πú«½∞¡¿¬, ¿ß»«½∞ºπ∩ ΓѬπΘ¿⌐│
- │ │ Γ¿» ½¿¡¿¿ ¿ µóÑΓ. │
- ├───────────────────┼───────────────────────────────────────────┤
- │ Ellipse │ É¿ßπÑΓ φ½½¿»Γ¿τÑ߬πε ñπúπ «Γ ¡áτá½∞¡«ú«│
- │ │ πú½á ñ« ¬«¡Ñτ¡«ú« πú½á, ¿ß»«½∞ºπε (ò,Y),│
- │ │ ¬á¬ Γ«τ¬π µÑ¡Γαá. │
- ├───────────────────┼───────────────────────────────────────────┤
- │ FillPoly │ çá¬αáΦ¿óáÑΓ ¼¡«ú«πú«½∞¡¿¬, ¿ß»«½∞ºπ∩ »αÑ-│
- │ │ «íαẫóáΓѽ∞ αáºóÑαΓ¬¿. │
- ├───────────────────┼───────────────────────────────────────────┤
- │ FloodFill │ çá¬αáΦ¿óáÑΓ «úαá¡¿τÑ¡¡πε «í½áßΓ∞, ¿ß»«½∞-│
- │ │ ºπ∩ ΓѬπΘ¿⌐ «íαáºÑµ ºá¬αá߬¿. │
- ├───────────────────┼───────────────────────────────────────────┤
- │ GetArcCoords │ Å«ºó«½∩ÑΓ »«½∞º«óáΓÑ½ε ºá»αáΦ¿óáΓ∞ ¬««α-│
- │ │ ñ¿¡áΓδ »«ß½Ññ¡Ñ⌐ ¬«¼á¡ñδ Arß. │
- ├───────────────────┼───────────────────────────────────────────┤
- │ GetAspectRatio │ 髺óαáΘáÑΓ ñÑ⌐ßΓóπεΘÑÑ αáºαÑΦÑ¡¿Ñ úαáΣ¿- │
- │ │ τÑ߬«ú« φ¬αá¡á, ¡á «ß¡«óÑ ¬«Γ«α«ú« ¼«ªÑΓ│
- │ │ íδΓ∞ óδτ¿ß½Ñ¡ ¬«φΣΣ¿µ¿Ñ¡Γ «Γ¡«ß¿Γѽ∞¡«ú«│
- │ │ πñ½¿¡Ñ¡¿∩ (òásα,Yásα). │
- ├───────────────────┼───────────────────────────────────────────┤
- │ GetBkæ«lor │ 髺óαáΘáÑΓ ΓѬπΘ¿⌐ Σ«¡«óδ⌐ µóÑΓ. │
- ├───────────────────┼───────────────────────────────────────────┤
-
- B.Pascal 7 & Objects/LR - 322 -
-
- │ GetC«lor │ 髺óαáΘáÑΓ ΓѬπΘ¿⌐ µóÑΓ α¿ßπ¡¬á. │
- ├───────────────────┼───────────────────────────────────────────┤
- │ GetDefaultPalette│ é ºá»¿ß¿ Γ¿»á PaletteType ó«ºóαáΘáÑΓ ¿ß-│
- │ │ »«½∞ºπѼπε »« π¼«½τá¡¿ε »á½¿Γαπ. │
- ├───────────────────┼───────────────────────────────────────────┤
- │ GetDriverName │ 髺óαáΘáÑΓ ßΓ᫬π, ß«ñÑαªáΘπε ¿¼∩ ΓÑ-│
- │ │ ¬πΘÑú« ñαá⌐óÑαá. │
- ├───────────────────┼───────────────────────────────────────────┤
- │ GetFillPattern │ 髺óαáΘáÑΓ »«ß½Ññ¡¿⌐ «íαáºÑµ ºá»«½¡¿Γѽ∩,│
- │ │ πßΓá¡«ó½Ñ¡¡δ⌐ ß »«¼«Θ∞ε «íαáΘÑ¡¿∩ ¬ »α«µÑ-│
- │ │ ñπαÑ SetFillPattern. │
- ├───────────────────┼───────────────────────────────────────────┤
- │ GetFillSetting │ Å«ºó«½∩ÑΓ »«½∞º«óáΓѽε óδ»«½¡¿Γ∞ ºá»α«ß «│
- │ │ ΓѬπΘѼ «íαáºµÑ ¿ µóÑΓÑ ºá¬αá߬¿, πßΓá¡«ó-│
- │ │ ½Ñ¡¡δ¼¿ ß »«¼«Θ∞ε »α«µÑñπα SetFillStyle ¿│
- │ │ SetFillPattern. │
- ├───────────────────┼───────────────────────────────────────────┤
- │ GetImage │ æ«σαá¡∩ÑΓ ñó«¿τ¡δ⌐ «íαẠºáñá¡¡«⌐ «í½áßΓ¿│
- │ │ ó íπΣÑαÑ. │
- ├───────────────────┼───────────────────────────────────────────┤
- │ GetGraphMode │ 髺óαáΘáÑΓ ΓѬπΘ¿⌐ úαáΣ¿τÑ߬¿⌐ αѪ¿¼. │
- ├───────────────────┼───────────────────────────────────────────┤
- │ GetLineSettings │ 髺óαáΘáÑΓ ΓѬπΘ¿⌐ Γ¿» ½¿¡¿¿, «íαáºÑµ ½¿-│
- │ │ ¡¿¿ ¿ Γ«½Θ¿¡π ½¿¡¿¿, ºáñá¡¡δÑ »α«µÑñπα«⌐│
- │ │ SetLineStyle. │
- ├───────────────────┼───────────────────────────────────────────┤
- │ GetMaxColor │ 髺óαáΘáÑΓ ¼á¬ß¿¼á½∞¡«Ñ º¡áτÑ¡¿Ñ µóÑΓá,│
- │ │ ¬«Γ«α«Ñ ¼«ª¡« »ÑαÑñáΓ∞ »α«µÑñπαÑ SetColor.│
- ├───────────────────┼───────────────────────────────────────────┤
- │ GetMAxMode │ 髺óαáΘáÑΓ ¼á¬ß¿¼á½∞¡δ⌐ ¡«¼Ñα αѪ¿¼á ñ½∩│
- │ │ ΓѬπΘÑú« ºáúαπªÑ¡¡«ú« ñαá⌐óÑαá. │
- ├───────────────────┼───────────────────────────────────────────┤
- │ Getîáσò │ 髺óαáΘáÑΓ ñ½∩ ΓѬπΘÑú« úαáΣ¿τÑ߬«ú« ñαá⌐-│
- │ │ óÑαá ¿ αѪ¿¼á ßá¼πε »αáóπε ¬«½«¡¬π (αáºαÑ-│
- │ │ ΦÑ¡¿Ñ »« σ). │
- ├───────────────────┼───────────────────────────────────────────┤
- │ GetîáσY │ 髺óαáΘáÑΓ ñ½∩ ΓѬπΘÑú« úαáΣ¿τÑ߬«ú« ñαá⌐-│
- │ │ óÑαá ¿ αѪ¿¼á ßá¼πε ¡¿ª¡εε ßΓ᫬π (αáºαÑ-│
- │ │ ΦÑ¡¿Ñ »« π). │
- ├───────────────────┼───────────────────────────────────────────┤
- │ GetPaletteSize │ 髺óαáΘáÑΓ αẼÑα Γáí½¿µδ »α«ß¼«Γαá »á½¿Γ-│
- │ │ αδ. │
- ├───────────────────┼───────────────────────────────────────────┤
- │ GetPixel │ 髺óαáΘáÑΓ º¡áτÑ¡¿Ñ φ½Ñ¼Ñ¡Γá ¿º«íαáªÑ¡¿∩ ó│
- │ │ Γ«τ¬Ñ ò,Y. │
- ├───────────────────┼───────────────────────────────────────────┤
- │ GetPalette │ 髺óαáΘáÑΓ ΓѬπΘπε »á½¿Γαπ ¿ ÑÑ αẼÑα. │
- ├───────────────────┼───────────────────────────────────────────┤
- │ GetTextSettings │ 髺óαáΘáÑΓ ΓѬπΘ¿⌐ ΓѬßΓ«óδ⌐ Φα¿ΣΓ, ¡á»-│
- │ │ αáó½Ñ¡¿Ñ, αẼÑα ¿ óδαáó¡¿óá¡¿Ñ ñ½∩ ¡Ñú«,│
- │ │ πßΓá¡«ó½Ñ¡¡δÑ ß »«¼«Θ∞ε »α«µÑñπα│
- │ │ SetTextStyle ¿ SetTextJustify. │
- ├───────────────────┼───────────────────────────────────────────┤
-
- B.Pascal 7 & Objects/LR - 323 -
-
- │ GetViewSettings │ Å«ºó«½∩ÑΓ »«½∞º«óáΓѽε óδñáΓ∞ ºá»α«ß « ΓÑ-│
- │ │ ¬πΘÑ⌐ «í½áßΓ¿ ¿º«íαáªÑ¡¿∩ ¿ »áαá¼ÑΓαáσ «Γ-│
- │ │ ßÑτÑ¡¿∩ ¿º«íαáªÑ¡¿∩. │
- ├───────────────────┼───────────────────────────────────────────┤
- │ Getò │ 髺óαáΘáÑΓ ¬««αñ¿¡áΓπ ò ΓѬπΘÑ⌐ »«º¿µ¿¿│
- │ │ (ΓѬπΘÑú« π¬áºáΓѽ∩). │
- ├───────────────────┼───────────────────────────────────────────┤
- │ GetY │ 髺óαáΘáÑΓ ¬««αñ¿¡áΓπ Y ΓѬπΘÑ⌐ »«º¿µ¿¿│
- │ │ (ΓѬπΘÑú« π¬áºáΓѽ∩). │
- ├───────────────────┼───────────────────────────────────────────┤
- │ GraphErrorMsg │ ä½∩ ºáñá¡¡«ú« ¬«ñá «Φ¿í¬¿ ó«ºóαáΘáÑΓ ßΓα«-│
- │ │ ¬π ß««íΘÑ¡¿∩ «í «Φ¿í¬Ñ. │
- ├───────────────────┼───────────────────────────────────────────┤
- │ GraphResult │ 髺óαáΘáÑΓ ¬«ñ «Φ¿í¬¿ ñ½∩ »«ß½Ññ¡Ñ⌐ úαá-│
- │ │ Σ¿τÑ߬«⌐ «»Ñαᵿ¿. │
- ├───────────────────┼───────────────────────────────────────────┤
- │ InitGraph │ ê¡¿µ¿á½¿º¿απÑΓ úαáΣ¿τÑ߬πε ß¿ßΓÑ¼π ¿ »Ñ-│
- │ │ αÑó«ñ¿Γ á»»áαáΓπαπ ó úαáΣ¿τÑ߬¿⌐ αѪ¿¼. │
- ├───────────────────┼───────────────────────────────────────────┤
- │ ImageSize │ 髺óαáΘáÑΓ τ¿ß½« íá⌐Γ, ¬«Γ«αδÑ ΓαÑíπεΓ-│
- │ │ ß∩ ñ½∩ ß«σαá¡Ñ¡¿∩ »α∩¼«πú«½∞¡«⌐ «í½áßΓ¿│
- │ │ φ¬αá¡á. │
- ├───────────────────┼───────────────────────────────────────────┤
- │ InstallUserDriver│ ôßΓá¡áó½¿óáÑΓ ñ«íáó½Ñ¡¡δ⌐ »«½∞º«óáΓѽѼ│
- │ │ ñαá⌐óÑα ó Γáí½¿µÑ ñαá⌐óÑα«ó πßΓα«⌐ßΓó BGI.│
- ├───────────────────┼───────────────────────────────────────────┤
- │ InstallUserFont │ ôßΓá¡áó½¿óáÑΓ ¡«óδ⌐ Σá⌐½ Φα¿ΣΓá, ¡Ñ óßΓα«-│
- │ │ Ñ¡¡δ⌐ ó úαáΣ¿τÑ߬πε ß¿ßΓѼπ. │
- ├───────────────────┼───────────────────────────────────────────┤
- │ InitGraph │ ê¡¿µ¿á½¿º¿απÑΓ úαáΣ¿τÑ߬πε ß¿ßΓÑ¼π ¿ »ÑαÑ-│
- │ │ ó«ñ¿Γ á»»áαáΓ¡δÑ ßαÑñßΓóá ó úαáΣ¿τÑ߬¿⌐│
- │ │ αѪ¿¼. │
- ├───────────────────┼───────────────────────────────────────────┤
- │ Line │ É¿ßπÑΓ »α∩¼πε ½¿¡¿ε ¿º Γ«τ¬¿ (x1,y1) ó│
- │ │ (x2,y2). │
- ├───────────────────┼───────────────────────────────────────────┤
- │ LineRel │ É¿ßπÑΓ »α∩¼πε ½¿¡¿ε ñ« Γ«τ¬¿, »αÑñßΓáó-│
- │ │ ½∩εΘÑ⌐ ß«í«⌐ «Γ¡«ß¿Γѽ∞¡«Ñ αáßßΓ«∩¡¿Ñ «Γ│
- │ │ ΓѬπΘÑú« π¬áºáΓѽ∩. │
- ├───────────────────┼───────────────────────────────────────────┤
- │ LinÑT« │ É¿ßπÑΓ ½¿¡¿ε ¿º ΓѬπΘÑú« »«½«ªÑ¡¿∩ ó│
- │ │ Γ«τ¬π (x,y). │
- ├───────────────────┼───────────────────────────────────────────┤
- │ î«veRÑl │ ÅÑαѼÑΘáÑΓ ΓѬπΘ¿⌐ π¬áºáΓѽ∞ ¡á αáßßΓ«∩-│
- │ │ ¡¿Ñ, ∩ó½∩εΘÑÑß∩ «Γ¡«ß¿Γѽ∞¡δ¼ αáßßΓ«∩¡¿Ñ¼│
- │ │ «Γ ΓѬπΘÑ⌐ »«º¿µ¿¿. │
- ├───────────────────┼───────────────────────────────────────────┤
- │ î«vÑÆ« │ ÅÑαѼÑΘáÑΓ ΓѬπΘ¿⌐ π¬áºáΓѽ∞ ó Γ«τ¬π│
- │ │ (x,y). │
- ├───────────────────┼───────────────────────────────────────────┤
- │ ÄutText │ Å«ßδ½áÑΓ ßΓ᫬π ¡á πßΓα«⌐ßΓó« óδó«ñá, ¡á-│
- │ │ τ¿¡á∩ ß ΓѬπΘÑú« π¬áºáΓѽ∩. │
- ├───────────────────┼───────────────────────────────────────────┤
-
- B.Pascal 7 & Objects/LR - 324 -
-
- │ ÄutTextòY │ Å«ßδ½áÑΓ ßΓ᫬π ¡á πßΓα«⌐ßΓó« óδó«ñá. │
- ├───────────────────┼───────────────────────────────────────────┤
- │ PieSlice │ É¿ßπÑΓ ßÑ¬Γ«α. Æ«τ¬á (ò,Y) ¿ß»«½∞ºπÑΓß∩ ó│
- │ │ ¬áτÑßΓóÑ µÑ¡Γαá, á ßÑ¬Γ«α α¿ßπÑΓß∩ «Γ ¡á-│
- │ │ τá½∞¡«ú« ñ« ¬«¡Ñτ¡«ú« πú½á. │
- ├───────────────────┼───────────────────────────────────────────┤
- │ ÉutImagÑ │ éδó«ñ¿Γ ¡á φ¬αá¡ ñó«¿τ¡δ⌐ «íαáº. │
- ├───────────────────┼───────────────────────────────────────────┤
- │ ÉutÉiσÑl │ æΓα«¿Γ φ½Ñ¼Ñ¡Γ ¿º«íαáªÑ¡¿∩ ó Γ«τ¬Ñ x,y. │
- ├───────────────────┼───────────────────────────────────────────┤
- │ RÑßtanglÑ │ É¿ßπÑΓ »α∩¼«πú«½∞¡¿¬, ¿ß»«½∞ºπ∩ ΓѬπΘ¿⌐│
- │ │ Γ¿» ½¿¡¿¿ ¿ µóÑΓ. │
- ├───────────────────┼───────────────────────────────────────────┤
- │ RegisterBGIDriver│ ÉÑú¿ßΓα¿απÑΓ ñ«»πßΓ¿¼δ⌐ ñαá⌐óÑα (Σ«α¼áΓá│
- │ │ BGI) ó úαáΣ¿τÑ߬«⌐ ß¿ßΓѼÑ. │
- ├───────────────────┼───────────────────────────────────────────┤
- │ RegisterBGIFont │ ÉÑú¿ßΓα¿απÑΓ ó úαáΣ¿τÑ߬«⌐ ß¿ßΓÑ¼Ñ ñ«»πß-│
- │ │ Γ¿¼δ⌐ (Σ«α¼áΓá BGI) Φα¿ΣΓ. │
- ├───────────────────┼───────────────────────────────────────────┤
- │ RÑstoreCRTî«dÑ │ é«ßßΓá¡áó½¿óáÑΓ ¿ßσ«ñ¡δ⌐ αѪ¿¼ φ¬αá¡á,│
- │ │ ¬«Γ«αδ⌐ íδ½ πßΓá¡«ó½Ñ¡ »α¿ ¿¡¿µ¿á½¿ºáµ¿¿│
- │ │ úαáΣ¿¬¿. │
- ├───────────────────┼───────────────────────────────────────────┤
- │ SetActivePage │ ôßΓá¡áó½¿óáÑΓ ñ½∩ úαáΣ¿τÑ߬«ú« óδó«ñá á¬-│
- │ │ Γ¿ó¡πε ßΓαá¡¿µπ. │
- ├───────────────────┼───────────────────────────────────────────┤
- │ SetAllPalette │ 꺼ѡ∩ÑΓ óßÑ µóÑΓá »á½¿Γαδ, ¬á¬ í佫 π¬á-│
- │ │ ºá¡«. │
- ├───────────────────┼───────────────────────────────────────────┤
- │ SetAspectRatio │ 꺼ѡ∩ÑΓ »α¿¡∩Γδ⌐ »« π¼«½τá¡¿ε ¬«φΣΣ¿µ¿Ñ¡Γ│
- │ │ «Γ¡«ß¿Γѽ∞¡«ú« πñ½¿¡Ñ¡¿∩. │
- ├───────────────────┼───────────────────────────────────────────┤
- │ SetBkæ«lor │ êß»«½∞ºπ∩ »á½¿Γαπ, πßΓá¡áó½¿óáÑΓ ΓѬπΘ¿⌐│
- │ │ Σ«¡«óδ⌐ µóÑΓ. │
- ├───────────────────┼───────────────────────────────────────────┤
- │ SetColor │ êß»«½∞ºπ∩ »á½¿Γαπ, πßΓá¡áó½¿óáÑΓ ΓѬπΘ¿⌐│
- │ │ µóÑΓ α¿ßπ¡¬á. │
- ├───────────────────┼───────────────────────────────────────────┤
- │ SetFillPattern │ éδí¿αáÑΓ «íαáºÑµ ºá¬αá߬¿, ºáñá¡¡δ⌐ »«½∞-│
- │ │ º«óáΓѽѼ. │
- ├───────────────────┼───────────────────────────────────────────┤
- │ SetFillStyle │ ôßΓá¡áó½¿óáÑΓ «íαáºÑµ ºá¬αá߬¿ ¿ ÑÑ µóÑΓ. │
- ├───────────────────┼───────────────────────────────────────────┤
- │ SetGraphBufSize │ Å«ºó«½∩ÑΓ ¿º¼Ñ¡¿Γ∞ αẼÑα íπΣÑαá, ¿ß»«½∞-│
- │ │ ºπѼ«ú« ñ½∩ «»α«ßá ¿ ºá¬αá߬¿. │
- ├───────────────────┼───────────────────────────────────────────┤
- │ SetGraphMode │ ÅÑαѬ½ετáÑΓ ß¿ßΓѼπ ó úαáΣ¿τÑ߬¿⌐ αѪ¿¼│
- │ │ ¿ «τ¿ΘáÑΓ φ¬αá¡. │
- ├───────────────────┼───────────────────────────────────────────┤
- │ SetLineStyle │ ôßΓá¡áó½¿óáÑΓ ΓѬπΘ¿⌐ Γ¿» ½¿¡¿¿ ¿ ÑÑ Φ¿-│
- │ │ α¿¡π. │
- ├───────────────────┼───────────────────────────────────────────┤
- │ SetPalette │ 꺼ѡ∩ÑΓ «ñ¿¡ µóÑΓ »á½¿Γαδ, ºáñá¡¡δ⌐ »Ñ-│
-
- B.Pascal 7 & Objects/LR - 325 -
-
- │ │ αѼѡ¡δ¼¿ Colornum ¿ Color. │
- ├───────────────────┼───────────────────────────────────────────┤
- │ SetGRBPalette │ Å«ºó«½∩ÑΓ ¼«ñ¿Σ¿µ¿α«óáΓ∞ ºá»¿ß¿ »á½¿Γ-│
- │ │ αδ ñ½∩ ñαá⌐óÑα«ó IBM 8514 ¿ VGA. │
- ├───────────────────┼───────────────────────────────────────────┤
- │ SetTextJustify │ æ »«¼«Θ∞ε ÄutTÑxt ¿ ÄutTÑσtòY πßΓá-│
- │ │ ¡áó½¿óáÑΓ º¡áτÑ¡¿∩ ñ½∩ óδαáó¡¿óá¡¿∩ ΓѬß-│
- │ │ Γá. │
- ├───────────────────┼───────────────────────────────────────────┤
- │ SetTextStyle │ çáñáÑΓ ΓѬπΘ¿⌐ ΓѬßΓ«óδ⌐ Φα¿ΣΓ, Ñú« Γ¿» ¿│
- │ │ ¬«φΣΣ¿µ¿Ñ¡Γ αẼÑαá ß¿¼ó«½á. │
- ├───────────────────┼───────────────────────────────────────────┤
- │ SetUserCharSize │ Å«ºó«½∩ÑΓ óá¼ ñ½∩ óÑ¬Γ«α¡δσ Φα¿ΣΓ«ó ¿º-│
- │ │ ¼Ñ¡¿Γ∞ óδß«Γπ ¿ Φ¿α¿¡π ß¿¼ó«½á. │
- ├───────────────────┼───────────────────────────────────────────┤
- │ SetViewPort │ ä½∩ úαáΣ¿τÑ߬«ú« óδó«ñá πßΓá¡áó½¿óáÑΓ│
- │ │ ΓѬπΘπε «í½áßΓ∞ óδó«ñá ¿½¿ «¬¡«. │
- ├───────────────────┼───────────────────────────────────────────┤
- │ SetVisualPage │ çáñáÑΓ ó¿ºπá½∞¡δ⌐ ¡«¼Ñα úαáΣ¿τÑ߬«⌐ ßΓαá-│
- │ │ ¡¿µδ. │
- ├───────────────────┼───────────────────────────────────────────┤
- │ SetWriteMode │ ôßΓá¡áó½¿óáÑΓ αѪ¿¼ óδó«ñá ¡á φ¬αá¡ (¬«-│
- │ │ »¿α«óá¡¿Ñ ¿½¿ ß »«¼«Θ∞ε «»Ñαᵿ¿ XOR) ñ½∩│
- │ │ ½¿¡¿⌐, óδτÑατ¿óáѼδσ »α«µÑñπαἿ DrawPoly,│
- │ │ Line, LineRel, LineTo, Rectangle. │
- ├───────────────────┼───────────────────────────────────────────┤
- │ TÑσtìÑight │ 髺óαáΘáÑΓ óδß«Γπ ßΓαá¡¿µ ó φ½Ñ¼Ñ¡Γáσ│
- │ │ ¿º«íαáªÑ¡¿∩. │
- ├───────────────────┼───────────────────────────────────────────┤
- │ TÑσtWidth │ 髺óαáΘáÑΓ Φ¿α¿¡π ßΓ᫬¿ ó φ½Ñ¼Ñ¡Γáσ│
- │ │ ¿º«íαáªÑ¡¿∩. │
- └───────────────────┴───────────────────────────────────────────┘
-
- Å«ñα«í¡«Ñ «»¿ßá¡¿Ñ ¬áªñ«⌐ »α«µÑñπαδ ¿ Σπ¡¬µ¿¿ ñá¡« ó â½áóÑ 1
- ("æ»αáó«τ¡¿¬ »« í¿í½¿«ΓѬÑ") "æ»αáó«τ¡«ú« απ¬«ó«ñßΓóá »α«úαá¼¼¿ß-
- Γá".
-
-
-
- B.Pascal 7 & Objects/LR - 326 -
-
- è«¡ßΓá¡Γδ, Γ¿»δ ¿ »ÑαѼѡ¡δÑ ¼«ñπ½∩ Graph
- ─────────────────────────────────────────────────────────────────
-
- é ¼«ñπ½Ñ Graph ¿¼ÑÑΓß∩ ¼¡«ú« »«½Ñº¡δσ «»¿ßá¡¿⌐ Γ¿»«ó ¿ ¬«¡ß-
- Γá¡Γ, ¡á ¬«Γ«α«Ñ óδ ¼«ªÑΓÑ ßßδ½áΓ∞ß∩.
-
- è«¡ßΓá¡Γδ
- ─────────────────────────────────────────────────────────────────
-
- è«¡ßΓá¡Γδ ¼«ñπ½∩ Graph ¼«ª¡« ßúαπ»»¿α«óáΓ∞ »« ¿σ ¡áº¡áτÑ¡¿ε.
- Å«ñα«í¡«Ñ «»¿ßá¡¿Ñ ¬áªñ«⌐ ¬«¡ßΓá¡Γδ ñá¡« ó â½áóÑ 1 ("æ»αáó«τ¡¿¬
- »« í¿í½¿«ΓѬÑ") "æ»αáó«τ¡«ú« απ¬«ó«ñßΓóá »α«úαá¼¼¿ßΓá".
-
- âαπ»»δ ¬«¡ßΓá¡Γ ¼«ñπ½∩ Graph Æáí½¿µá 19.4
- ┌─────────────────────────┬─────────────────────────────────────┐
- │ âαπ»»á ¬«¡ßΓá¡Γ │ Ä»¿ßá¡¿Ñ │
- ├─────────────────────────┼─────────────────────────────────────┤
- │ è«¡ßΓá¡Γδ ñαá⌐óÑα«ó │ è«¡ßΓá¡Γδ, «»αÑñѽ∩εΘ¿Ñ ó¿ñÑ«ñαá⌐óÑ-│
- │ ¿ αѪ¿¼«ó │ αδ ¿ αѪ¿¼δ; ¿ß»«½∞ºπεΓß∩ ó »«ñ»α«ú-│
- │ │ αá¼¼áσ InitGraph, DetectGraph ¿│
- │ │ GetModeRange. │
- ├─────────────────────────┼─────────────────────────────────────┤
- │ grXXXX │ è«¡ßΓá¡Γδ, ¿ñÑ¡Γ¿Σ¿µ¿απεΘ¿Ñ Γ¿»│
- │ │ «Φ¿í¬¿, ó«ºóαáΘáѼ«⌐ GraphResult. │
- ├─────────────────────────┼─────────────────────────────────────┤
- │ è«¡ßΓá¡Γδ µóÑΓ«ó │ è«¡ßΓá¡Γδ, «»αÑñѽ∩εΘ¿Ñ µóÑΓá. êß-│
- │ │ »«½∞ºπεΓß∩ ó »«ñ»α«úαá¼¼áσ│
- │ │ SetPalette ¿ SetAllPalette. │
- ├─────────────────────────┼─────────────────────────────────────┤
- │ è«¡ßΓá¡Γδ µóÑΓ«ó │ è«¡ßΓá¡Γδ, ¿ß»«½∞ºπѼδÑ ó »«ñ»α«ú-│
- │ ñ½∩ SetRGBPalette │ αá¼¼Ñ SetGRBPalette ñ½∩ óδí«αá ¡á│
- │ │ IBM 8514 ßΓá¡ñáαΓ¡δσ µóÑΓ«ó EGA. │
- ├─────────────────────────┼─────────────────────────────────────┤
- │ è«¡ßΓá¡Γδ ßΓ¿½∩ │ è«¡ßΓá¡Γδ, ¿ß»«½∞ºπѼδÑ ñ½∩ «»αÑñÑ-│
- │ ½¿¡¿¿ │ ½Ñ¡¿∩ ßΓ¿½∩ ¿ Γ«½Θ¿¡δ ½¿¡¿¿; ¿ß»«½∞-│
- │ │ ºπεΓß∩ ß GetLineSettings ¿│
- │ │ SetLineStyle. │
- ├─────────────────────────┼─────────────────────────────────────┤
- │ è«¡ßΓá¡Γδ Φα¿ΣΓá │ êß»«½∞ºπεΓß∩ ñ½∩ ¿ñÑ¡Γ¿Σ¿¬áµ¿¿ Φα¿Σ-│
- │ │ Γ«ó ó »«ñ»α«úαá¼¼áσ GetTextSettings│
- │ │ ¿ SetTextSetting. │
- ├─────────────────────────┼─────────────────────────────────────┤
- │ è«¡ßΓá¡Γδ óδαáó¡¿óá¡¿∩│ è«¡ßΓá¡Γδ, π»αáó½∩εΘ¿Ñ ú«α¿º«¡Γá½∞-│
- │ │ ¡δ¼ ¿ óÑαΓ¿¬á½∞¡δ¼ óδαáó¡¿ó᡿Ѽ.│
- │ │ êß»«½∞ºπεΓß∩ ó SetTextJustify. │
- ├─────────────────────────┼─────────────────────────────────────┤
- │ è«¡ßΓá¡Γδ «ΓßÑτÑ¡¿⌐ │ è«¡ßΓá¡Γδ, π»αáó½∩εΘ¿Ñ «ΓßÑτÑ¡¿Ñ¼.│
- │ │ êß»«½∞ºπεΓß∩ ó SetViewPort. │
- ├─────────────────────────┼─────────────────────────────────────┤
- │ è«¡ßΓá¡Γδ ßΓ«½íµ«ó │ ô»αáó½∩εΓ ¿º«íαáªÑ¡¿Ñ¼ "óÑαΦ¿¡δ"│
- │ │ ΓαÑσ¼Ñα¡«ú« ßΓ«½íµá; ¿ß»«½∞ºπεΓß∩ ó│
- │ │ Bar3D. │
- ├─────────────────────────┼─────────────────────────────────────┤
-
- B.Pascal 7 & Objects/LR - 327 -
-
- │ Äíαáºµδ ºá¬αá߬¿ │ Ä»αÑñѽ∩εΓ «íαáºÑµ ºá¬αá߬¿ «í½áßΓ¿.│
- │ │ êß»«½∞ºπεΓß∩ ó GetFillSettings ¿│
- │ │ SetFillStyle. │
- ├─────────────────────────┼─────────────────────────────────────┤
- │ Ä»Ñαᵿ¿ BitBlt │ Ä»Ñαᵿ¿ (¬«»¿α«óá¡¿Ñ, xor, or, and,│
- │ │ not), ¬«Γ«αδÑ ¿ß»«½∞ºπεΓß∩ ó│
- │ │ PutImage ¿ SetWriteMode. │
- ├─────────────────────────┼─────────────────────────────────────┤
- │ MaxColors │ è«¡ßΓá¡Γδ, «»αÑñѽ∩εΘ¿Ñ ¼á¬ß¿¼á½∞¡«Ñ│
- │ │ τ¿ß½« µóÑΓ«ó ó GetPalette,│
- │ │ GetDefaultPalette ¿ SetAllPalette. │
- └─────────────────────────┴─────────────────────────────────────┘
-
-
-
- B.Pascal 7 & Objects/LR - 328 -
-
- Æ¿»δ
- ─────────────────────────────────────────────────────────────────
-
- é ¼«ñπ½Ñ Graph «»αÑñѽѡδ ß½ÑñπεΘ¿Ñ Γ¿»δ:
-
- Æ¿»δ ¼«ñπ½∩ Graph Æáí½¿µá 19.5
- ┌────────────────────────┬──────────────────────────────────────┐
- │ Æ¿» │ Ä»¿ßá¡¿Ñ │
- ├────────────────────────┼──────────────────────────────────────┤
- │ PaletteType │ çỿß∞, «»αÑñѽ∩εΘá∩ αẼÑα ¿ µóÑΓá│
- │ │ »á½¿Γαδ; ¿ß»«½∞ºπÑΓß∩ ó GetPalette,│
- │ │ GetDefaultPalette ¿ SetAllPalette. │
- ├────────────────────────┼──────────────────────────────────────┤
- │ LineSettingsType │ çỿß∞, «»αÑñѽ∩εΘá∩ ßΓ¿½∞, «íαáºÑµ ¿│
- │ │ Γ«½Θ¿¡π ½¿¡¿¿; ¿ß»«½∞ºπÑΓc∩ │
- │ │ GetLineSettings. │
- ├────────────────────────┼──────────────────────────────────────┤
- │ FillSettingsType │ çỿß∞, «»αÑñѽ∩εΘá∩ ΓѬßΓ. êß»«½∞ºπ-│
- │ │ ÑΓß∩ ó GetTextSettings. │
- ├────────────────────────┼──────────────────────────────────────┤
- │ FillPatternType │ çỿß∞, «»αÑñѽ∩εΘá∩ ºáñá¡¡δ⌐ »«½∞-│
- │ │ º«óáΓѽѼ «íαáºÑµ ºá¬αá߬¿. äá¡¡á∩│
- │ │ ºá»¿ß∞ ¿ß»«½∞ºπÑΓß∩ »α«µÑñπαἿ│
- │ │ GetFillPattern ¿ SetFillPattern. │
- ├────────────────────────┼──────────────────────────────────────┤
- │ PointType │ Æ¿», «»αÑñѽѡ¡δ⌐ ñ½∩ óáΦÑú« πñ«íßΓ-│
- │ │ óá. │
- ├────────────────────────┼──────────────────────────────────────┤
- │ ViewPortType │ çỿß∞, ß««íΘáεΘá∩ « ß«ßΓ«∩¡¿¿ ΓѬπ-│
- │ │ ΘÑ⌐ «í½áßΓ¿ »α«ß¼«Γαá; ¿ß»«½∞ºπÑΓß∩│
- │ │ GetViewSettings. │
- ├────────────────────────┼──────────────────────────────────────┤
- │ ArcCoordsType │ çỿß∞ ñ½∩ »«½πτÑ¡¿∩ ¿¡Σ«α¼áµ¿¿ «│
- │ │ »«ß½Ññ¡Ñ¼ ó맮óÑ Arc ¿½¿ Ellipse; ¿ß-│
- │ │ »«½∞ºπÑΓß∩ GetArcCoords. │
- └────────────────────────┴──────────────────────────────────────┘
-
- ÅÑαѼѡ¡δÑ
- ─────────────────────────────────────────────────────────────────
-
- î«ñπ½∞ Graph ß«ñÑαª¿Γ ñóÑ »ÑαѼѡ¡δÑ, ¬«Γ«αδÑ óδ ¼«ªÑΓÑ ¿ß-
- »«½∞º«óáΓ∞: GraphGetMemPtr ¿ GraphFreeMemPtr. Ä¡¿ »α¿¼Ñ¡∩εΓß∩ ó
- »«ñ»α«úαá¼¼áσ π»αáó½Ñ¡¿∩ ñ¿¡á¼¿τÑ߬¿ αáß»αÑñѽ∩Ѽ«⌐ «í½áßΓ∞ε »á-
- ¼∩Γ¿. Åα«τ¿ΓáΓ∞ « ¡¿σ ¼«ª¡« ó â½áóÑ 1 ("æ»αáó«τ¡¿¬ »« í¿í½¿«ΓÑ-
- ¬Ñ") "æ»αáó«τ¡«ú« απ¬«ó«ñßΓóá »α«úαá¼¼¿ßΓá".
-
-
-
- B.Pascal 7 & Objects/LR - 329 -
-
- ───────────────────────────────────────────────────────────────────────
- â½áóá 20. êß»«½∞º«óá¡¿Ñ «óÑα½ÑÑó
- ─────────────────────────────────────────────────────────────────
-
- ÄóÑα½Ñ¿ »αÑñßΓáó½∩εΓ ß«í«⌐ τáßΓ¿ »α«úαá¼¼δ, ¬«Γ«αδÑ ß«ó¼ÑßΓ-
- ¡« ¿ß»«½∞ºπεΓ «íΘπε «í½áßΓ∞ »á¼∩Γ¿. é «ñ¿¡ ¿ ëà ªÑ ¼«¼Ñ¡Γ óαѼÑ-
- ¡¿ αѺ¿ñÑ¡Γ¡« αẼÑΘáΓ∞ß∩ ó »á¼∩Γ¿ ¼«ªÑΓ Γá ¿½¿ ¿¡á∩ τáßΓ∞ »α«ú-
- αá¼¼δ, ¡Ñ«íσ«ñ¿¼á∩ ñ½∩ óδ»«½¡Ñ¡¿∩ ºáñá¡¡«⌐ Σπ¡¬µ¿¿. é »α«µÑßßÑ
- óδ»«½¡Ñ¡¿∩ φΓ¿ τáßΓ¿ »α«úαá¼¼δ ¼«úπΓ ºá¼ÑΘáΓ∞ ñαπú ñαπúá.
-
- ÄóÑα½Ñ¿ »«½Ñº¡δ Γ«½∞¬« ó »α«úαá¼¼áσ DOS αÑá½∞¡«ú« αѪ¿¼á.
- ū߬«½∞¬π ñ½∩ »α«úαá¼¼ Windows »á¼∩Γ∞ε π»αáó½∩ÑΓ ßá¼á Windows, á
- ñ½∩ »α«úαá¼¼ ºáΘ¿ΘÑ¡¡«ú« αѪ¿¼á - áñ¼¿¡¿ßΓαáΓ«α φΓá»á óδ»«½¡Ñ¡¿∩
- (RTM.EXE), φΓ¿ ßαÑñßΓóá ó¬½ετáεΓ ó ßÑí∩ »«½¡δ⌐ ¼Ñσá¡¿º¼ «íß½πª¿-
- óá¡¿∩ «óÑα½ÑÑó, ¿ ó »α«úαá¼¼áσ Windows ¿ »α«úαá¼¼áσ ºáΘ¿ΘÑ¡¡«ú«
- αѪ¿¼á ¡Ñ«íσ«ñ¿¼«ßΓ∞ ¿ß»«½∞º«óá¡¿∩ «óÑα½ÑÑó «Γ»áñáÑΓ.
-
- ÄóÑα½Ñ¿ ¼«úπΓ º¡áτ¿Γѽ∞¡« ß«¬αáΓ¿Γ∞ «íΩѼ »á¼∩Γ¿, ¡Ñ«íσ«ñ¿-
- ¼δ⌐ ñ½∩ óδ»«½¡Ñ¡¿∩ »α«úαá¼¼δ. öá¬Γ¿τÑ߬¿, Γᬠ¬á¬ ó ½εí«⌐ ¼«¼Ñ¡Γ
- óαѼѡ¿ ó »á¼∩Γ¿ αѺ¿ñÑ¡Γ¡« αẼÑΘáεΓß∩ Γ«½∞¬« τáßΓ¿ »α«úαá¼¼δ, ß
- »«¼«Θ∞ε «óÑα½ÑÑó óδ ¼«ªÑΓÑ óδ»«½¡∩Γ∞ »α«úαá¼¼δ, º¡áτ¿Γѽ∞¡« »αÑ-
- ó«ßσ«ñ∩Θ¿Ñ »« «íΩѼπ ñ«ßΓπ»¡πε »á¼∩Γ∞.
-
- Borland Pascal π»αáó½∩ÑΓ «óÑα½Ñ∩¼¿ ¡á πα«ó¡Ñ ¼«ñπ½Ñ⌐, ¬«Γ«-
- αδÑ ∩ó½∩εΓß∩ ¡á¿¼Ñ¡∞ΦÑ⌐ τáßΓ∞ε »α«úαá¼¼δ, «íαáºπεΘÑ⌐ «óÑα½Ñ⌐. Åα¿
- ¬«¼»¿½∩µ¿¿ »α«úαá¼¼δ, ¿¼ÑεΘÑ⌐ «óÑα½Ñ⌐¡πε ßΓαπ¬Γπαπ, Borland
- Pascal úÑ¡Ñα¿απÑΓ ¡áα∩ñπ ß óδ»«½¡∩Ñ¼δ¼ Σá⌐½«¼ (¬«Γ«αδ⌐ ¿¼ÑÑΓ αáß-
- Φ¿αÑ¡¿Ñ .EXE) «óÑα½Ñ⌐¡δ⌐ Σá⌐½ (¿¼ÑεΘ¿⌐ αáßΦ¿αÑ¡¿Ñ .OVR). öá⌐½ ß
- αáßΦ¿αÑ¡¿Ñ¼ .EXE ß«ñÑαª¿Γ ßΓáΓ¿τÑ߬¿Ñ (¡Ñ «óÑα½Ñ⌐¡δÑ) τáßΓ¿ »α«ú-
- αá¼¼δ, á Σá⌐½ ß αáßΦ¿αÑ¡¿Ñ¼ .OVR ß«ñÑαª¿Γ óßÑ «óÑα½Ñ⌐¡δÑ ¼«ñπ½¿,
- ¬«Γ«αδÑ »α¿ óδ»«½¡Ñ¡¿¿ »α«úαá¼¼δ íπñπΓ »«ñ¬áτ¿óáΓ∞ß∩ ó »á¼∩Γ∞ ¿½¿
- óδó«ñ¿Γ∞ß∩ ¿º ¡ÑÑ ¡á ñ¿ß¬.
-
- çá ¿ß¬½ετÑ¡¿Ñ¼ ¡Ñ߬«½∞¬¿σ »αáó¿½, ¬áßáεΘ¿σß∩ Ñú« »α«úαá¼¼¿-
- α«óá¡¿∩, «óÑα½Ñ⌐¡δ⌐ ¼«ñπ½∞ »«½¡«ßΓ∞ε ¿ñÑ¡Γ¿τÑ¡ ¡Ñ«óÑα½Ñ⌐¡«¼π ¼«-
- ñπ½ε. öá¬Γ¿τÑ߬¿, Ñß½¿ óδ ß«í½εñáÑΓÑ φΓ¿ »αáó¿½á, π óáß ¡ÑΓ ¡Ñ«í-
- σ«ñ¿¼«ßΓ¿ »ÑαѬ«¼»¿½¿α«óáΓ∞ ¼«ñπ½∞, τΓ«íδ «íαẫóáΓ∞ ¿º ¡Ñú«
- «óÑα½Ñ⌐. ÉÑΦÑ¡¿Ñ « Γ«¼, íπñÑΓ ¼«ñπ½∞ «óÑα½Ñ⌐¡δ¼ ¿½¿ ¡ÑΓ, »α¿¡¿¼á-
- ÑΓß∩ »α«úαá¼¼«⌐, ¬«Γ«αá∩ ¿ß»«½∞ºπÑΓ ñá¡¡δ⌐ ¼«ñπ½∞.
-
- Åα¿ ºáúαπº¬Ñ «óÑα½ÑÑó ó »á¼∩Γ∞ «¡¿ »«¼ÑΘáεΓß∩ ó «óÑα½Ñ⌐¡δ⌐
- íπΣÑα, ¬«Γ«αδ⌐ αẼÑΘáÑΓß∩ ó »á¼∩Γ¿ ¼Ñªñπ ßÑú¼Ñ¡Γ«¼ ßΓÑ¬á ¿ ñ¿¡á-
- ¼¿τÑ߬¿ αáß»αÑñѽ∩Ѽ«⌐ «í½áßΓ∞ε »á¼∩Γ¿. Å« π¼«½τá¡¿ε ñ½∩ «óÑα½Ñ⌐-
- ¡«ú« íπΣÑαá óδí¿αáÑΓß∩ ¼¿¡¿¼á½∞¡δ⌐ 󫺼«ª¡δ⌐ αẼÑα, ¡« ó« óαѼ∩
- óδ»«½¡Ñ¡¿∩ »α«úαá¼¼δ Ñú« αẼÑα ¼«ªÑΓ íδΓ∞ ½Ñú¬« πóѽ¿τÑ¡ »πΓѼ
- óδñѽѡ¿∩ ñ«»«½¡¿Γѽ∞¡«⌐ «í½áßΓ¿ »á¼∩Γ¿ ¿º ñ¿¡á¼¿τÑ߬¿ αáß»αÑñÑ-
- ½∩Ѽ«⌐ «í½áßΓ¿. ǡὫú¿τ¡« ßÑú¼Ñ¡Γπ ñá¡¡δσ ¿ ¼¿¡¿¼á½∞¡«¼π αẼÑαπ
- ñ¿¡á¼¿τÑ߬¿ αáß»αÑñѽ∩Ѽ«⌐ «í½áßΓ¿, «óÑα½Ñ⌐¡δ⌐ íπΣÑα »α¿¡∩Γ«ú« »«
- π¼«½τá¡¿ε αẼÑαá óδñѽ∩ÑΓß∩ »α¿ ºáúαπº¬Ñ Σá⌐½á .EXE. Åα¿ «ΓßπΓß-
- Γó¿¿ »á¼∩Γ¿ ¡Ñ«íσ«ñ¿¼«ú« «íΩÑ¼á ¼«ñπ½Ñ¼ Dos ¿½¿ ¿¡ΓÑúα¿α«óá¡¡«⌐
- »α«úαá¼¼¡«⌐ ßαÑñ«⌐ IDE íπñÑΓ óδó«ñ¿Γ∞ß∩ ß««íΘÑ¡¿Ñ «í «Φ¿í¬Ñ
- (Program too big to fit in memory - "Åα«úαá¼¼á ß½¿Φ¬«¼ óѽ¿¬á,
- τΓ«íδ αẼÑßΓ¿Γ∞ß∩ ó »á¼∩Γ¿") ¿½¿ (Not enough memory to run
- program - "ä½∩ ºá»πß¬á »α«úαá¼¼δ ¡Ñ σóáΓáÑΓ »á¼∩Γ¿").
-
- B.Pascal 7 & Objects/LR - 330 -
-
-
- Äñ¡«⌐ ¿º «τÑ¡∞ ó᪡δσ 󫺼«ª¡«ßΓÑ⌐ »«ñß¿ßΓѼδ π»αáó½Ñ¡¿∩
- «óÑα½Ñ∩¼¿ ∩ó½∩ÑΓß∩ 󫺼«ª¡«ßΓ∞ »α¿ ¡á½¿τ¿¿ ñ«ßΓáΓ«τ¡«ú« »α«ßΓ-
- αá¡ßΓóá ºáúαπªáΓ∞ «óÑα½Ñ⌐¡δ⌐ Σá⌐½ ó ñ«»«½¡¿Γѽ∞¡πε »á¼∩Γ∞. ä½∩
- φΓ«⌐ µÑ½¿ ó Borland Pascal »«ññÑনóáÑΓß∩ ßαÑñßΓó« αáßΦ¿αÑ¡¿∩ »á-
- ¼∩Γ¿ EMS (Lotus/Intel/Microsoft Expanded Memory Specification).
- Åα¿ αẼÑΘÑ¡¿¿ «óÑα½Ñ⌐¡«ú« Σá⌐½á ó »á¼∩Γ¿ EMS óßÑ »«ß½ÑñπεΘ¿Ñ
- ºáúαπº¬¿ «óÑα½ÑÑó ßó«ñ∩Γß∩ ¬ íδßΓα«⌐ »ÑαÑñáτÑ ¿¡Σ«α¼áµ¿¿ ¿º »á¼∩-
- Γ¿ ó »á¼∩Γ∞.
-
- Çñ¼¿¡¿ßΓαáΓ«α «óÑα½ÑÑó
- ─────────────────────────────────────────────────────────────────
-
- Çñ¼¿¡¿ßΓαáΓ«α «óÑα½ÑÑó (¿½¿ »«ñß¿ßΓѼá π»αáó½Ñ¡¿∩ «óÑα½Ñ∩¼¿)
- Borland Pascal αÑ὿ºπÑΓß∩ ß »«¼«Θ∞ε ßΓá¡ñáαΓ¡«ú« ¼«ñπ½∩ Overlay.
- é ¼«ñπ½Ñ Overlay ¿ß»«½∞ºπεΓß∩ πß«óÑαΦÑ¡ßΓó«óá¡¡δÑ ¼ÑΓ«ñδ π»αáó½Ñ-
- ¡¿∩ íπΣÑαἿ, τΓ« «íÑß»Ñτ¿óáÑΓ «»Γ¿¼á½∞¡«Ñ óδ»«½¡Ñ¡¿Ñ »α«úαá¼¼δ ó
- ¿¼ÑεΘÑ⌐ß∩ «í½áßΓ¿ »á¼∩Γ¿. ìá»α¿¼Ñα, »«ñß¿ßΓѼá π»αáó½Ñ¡¿∩ «óÑα½Ñ-
- ∩¼¿ ß«σαá¡∩ÑΓ ó «óÑα½Ñ⌐¡«¼ íπΣÑαÑ ßΓ«½∞¬« «óÑα½ÑÑó, ߬«½∞¬« ó«º-
- ¼«ª¡«. ¥Γ« »«ºó«½∩ÑΓ π¼Ñ¡∞Φ¿Γ∞ τáßΓ«Γπ ßτ¿Γδóá¡¿∩ «óÑα½ÑÑó ß ñ¿ß-
- ¬á. Å«ß½Ñ ºáúαπº¬¿ «óÑα½Ñ∩ ó맮ó «ñ¡«⌐ ¿º Ñú« »«ñ»α«úαá¼¼ óδ»«½-
- ¡∩ÑΓß∩ Γá¬ªÑ íδßΓα«, ¬á¬ «íαáΘÑ¡¿Ñ ¬ ¡Ñ«óÑα½Ñ⌐¡«⌐ »α«úαá¼¼Ñ. èα«-
- ¼Ñ Γ«ú«, ¬«úñá π áñ¼¿¡¿ßΓαáΓ«αá «óÑα½ÑÑó 󫺡¿¬áÑΓ ¡Ñ«íσ«ñ¿¼«ßΓ∞
- óδóÑßΓ¿ «ñ¿¡ «óÑα½Ñ⌐, τΓ«íδ «ßó«í«ñ¿Γ∞ ¼ÑßΓ« ñ½∩ ñαπú«ú«, «¡ ß¡á-
- τá½á »δΓáÑΓß∩ óδóÑßΓ¿ ΓÑ «óÑα½Ñ¿, ¬«Γ«αδÑ ¡Ñ ∩ó½∩εΓß∩ á¬Γ¿ó¡δ¼¿
- (Γ« ÑßΓ∞ ΓÑ, ¬«Γ«αδÑ ó ñá¡¡δ⌐ ¼«¼Ñ¡Γ óαѼѡ¿ ¡Ñ ß«ñÑαªáΓ á¬Γ¿ó¡δσ
- »α«úαá¼¼).
-
- ä½∩ αÑ὿ºáµ¿¿ π½πτΦÑ¡¡δσ ¼ÑΓ«ñ«ó π»αáó½Ñ¡¿∩ «óÑα½Ñ∩¼¿
- Borland Pascal ΓαÑíπÑΓ «Γ óáß »α¿ ¡á»¿ßá¡¿¿ »α«úαá¼¼δ, ó ¬«Γ«α«⌐
- ¿ß»«½∞ºπεΓß∩ «óÑα½Ñ¿, ß«í½εñáΓ∞ ñóá ó᪡δσ »αáó¿½á:
-
- 1. éßÑ «óÑα½Ñ⌐¡δÑ ¼«ñ㫨 ñ«½ª¡δ ß«ñÑαªáΓ∞ ñ¿αÑ¬Γ¿óπ {$O+},
- »α¿ó«ñ∩Θπε ¬ Γ«¼π, τΓ« ¬«¼»¿½∩Γ«α «íÑß»Ñτ¿óáÑΓ úÑ¡Ñα¿α«-
- óá¡¿Ñ «óÑα½Ñ⌐¡«ú« ¬«ñá.
-
- 2. Åα¿ ¬áªñ«¼ «íαáΘÑ¡¿¿ ¬ «óÑα½Ñ⌐¡«⌐ »α«µÑñπαÑ ¿½¿ Σπ¡¬µ¿¿
- óδ ñ«½ª¡δ «íÑß»Ñτ¿Γ∞ ¿ß»«½∞º«óá¡¿Ñ óßѼ¿ á¬Γ¿ó¡δ¼¿ »α«-
- µÑñπαἿ ¿ Σπ¡¬µ¿∩¼¿ ó맮ó«ó Γ¿»á FAR (ñá½∞¡¿⌐ Γ¿» ó맮-
- óá).
-
- Äíá »αáó¿½á íπñπΓ »«∩ß¡∩Γ∞ß∩ ñá½ÑÑ ó αáºñÑ½Ñ »«ñ ºáú«½«ó¬«¼
- "Éáºαáí«Γ¬á «óÑα½Ñ⌐¡δσ »α«úαá¼¼". æÑ⌐τáß ¼δ »α«ßΓ« «Γ¼ÑΓ¿¼, τΓ«
- óδ ¼«ªÑΓÑ ½Ñú¬« πñ«ó½ÑΓó«α¿Γ∞ φΓ¿ »αáó¿½á, »«¼ÑßΓ¿ó ó ¡áτá½Ñ
- «óÑα½Ñ⌐¡δσ ¼«ñπ½Ñ⌐ ñ¿αÑ¬Γ¿ó𠬫¼»¿½∩Γ«αá {$O+,F+}, á ó ¡áτá½Ñ
- óßÑσ ñαπú¿σ ¼«ñπ½Ñ⌐ ¿ «ß¡«ó¡«⌐ »α«úαá¼¼δ - ñ¿αÑ¬Γ¿óπ {$F+}.
-
- Åα¿¼Ñτá¡¿Ñ: ìÑß«í½εñÑ¡¿Ñ ΓαÑí«óá¡¿∩ «íÑß»ÑτÑ¡¿∩ ñá½∞-
- ¡Ñú« Γ¿»á ó맮óá ó «óÑα½Ñ⌐¡«⌐ »α«úαá¼¼Ñ ó맮óÑΓ ¡Ñ»αÑñ߬á-
- ºπѼδÑ ¿ 󫺼«ª¡« ¬áΓáßΓα«Σ¿τÑ߬¿Ñ αѺπ½∞ΓáΓδ »α¿ óδ»«½¡Ñ-
- ¡¿¿ »α«úαá¼¼δ.
-
- ä¿αÑ¬Γ¿óá ¬«¼»¿½∩Γ«αá {$O ¿¼∩_¼«ñπ½∩} ¿ß»«½∞ºπÑΓß∩ ó »α«ú-
-
- B.Pascal 7 & Objects/LR - 331 -
-
- αá¼¼Ñ ñ½∩ π¬áºá¡¿∩ Γ«ú«, ¬á¬«⌐ ¿º ¼«ñπ½Ñ⌐ íπñÑΓ «óÑα½Ñ⌐¡δ¼. ¥Γá
- ñ¿αÑ¬Γ¿óá ñ«½ª¡á αẼÑΘáΓ∞ß∩ ºá «»ÑαáΓ«α«¼ uses »α«úαá¼¼δ, ó ¬«Γ«-
- α«¼ »ÑαÑñ ¿¼Ñ¡á¼¿ óßÑσ ñαπú¿σ «óÑα½Ñ⌐¡δσ ¼«ñπ½Ñ⌐ ñ«½ª¡« π¬áºδ-
- óáΓ∞ß∩ ¿¼∩ ßΓá¡ñáαΓ¡«ú« ¼«ñπ½∩ Overlay. Åα¿óÑñѼ ß½ÑñπεΘ¿⌐ »α¿-
- ¼Ñα:
-
- program Editor;
- {$F+} { éßÑ »α«µÑñπαδ ¿ Σπ¡¬µ¿¿ íπñπΓ ¿ß»«½∞º«óáΓ∞
- ñá½∞¡¿⌐ Γ¿» ó맮óá }
- uses
- Overlay, Crt, Dos, EdInOut, EdFormat, EdPrint, EdFind,
- EdMain;
- {$O EdInOut }
- {$O EdFormat }
- {$O EdPrint }
- {$O EdFind }
- {$O EdMain }
-
- àß½¿ óδ »δΓáÑΓÑß∞ ¿ß»«½∞º«óáΓ∞ ó ¬áτÑßΓóÑ «óÑα½Ñ⌐¡«ú« ¼«-
- ñπ½∞, »α¿ ¬«¼»¿½∩µ¿¿ ¬«Γ«α«ú« ¡Ñ íδ½á π¬áºá¡á ñ¿αÑ¬Γ¿óá {$O+}, Γ«
- ¬«¼»¿½∩Γ«α óδóÑñÑΓ ß««íΘÑ¡¿Ñ «í «Φ¿í¬Ñ. ùΓ« ¬áßáÑΓß∩ ßΓá¡ñáαΓ¡δσ
- ¼«ñπ½Ñ⌐, Γ« «óÑα½Ñ⌐¡δ¼ ¼«ªÑΓ íδΓ∞ Γ«½∞¬« ¼«ñπ½∞ Dos. äαπú¿Ñ ßΓá¡-
- ñáαΓ¡δÑ ¼«ñ㫨 ¡Ñ ¼«úπΓ ¿ß»«½∞º«óáΓ∞ß∩ ó ¬áτÑßΓóÑ «óÑα½Ñ⌐¡δσ. è
- Γ«¼π ªÑ »α«úαá¼¼δ, ß«ñÑαªáΘ¿Ñ «óÑα½Ñ⌐¡δÑ ¼«ñπ½¿, »α¿ ¿ß»«½∞º«óá-
- ¡¿¿ IDE αÑá½∞¡«ú« αѪ¿¼á ñ«½ª¡δ ¬«¼»¿½¿α«óáΓ∞ß∩ ¡á ñ¿ß¬. àß½¿ óδ
- »δΓáÑΓÑß∞ óδ»«½¡¿Γ∞ ¬«¼»¿½∩µ¿ε Γᬿσ »α«úαá¼¼ ó »á¼∩Γ∞, Γ« ¬«¼»¿-
- ½∩Γ«α óδó«ñ¿Γ ß««íΘÑ¡¿Ñ «í «Φ¿í¬Ñ.
-
- ô»αáó½Ñ¡¿Ñ «óÑα½Ñ⌐¡δ¼ íπΣÑα«¼
- ─────────────────────────────────────────────────────────────────
-
- ÄóÑα½Ñ⌐¡δ⌐ íπΣÑα Borland Pascal ½πτΦÑ óßÑú« «»¿ßδóáÑΓß∩ ó
- ó¿ñÑ ¬«½∞µÑó«ú« íπΣÑαá, ó ¬«Γ«α«¼ ¿¼ÑÑΓß∩ π¬áºáΓѽ∞ ¡áτá½á ¿ π¬á-
- ºáΓѽ∞ ¬«¡µá. ÄóÑα½Ñ¿ óßÑúñá ºáúαπªáεΓß∩ ó ¡áτὫ íπΣÑαá. Åα¿
- φΓ«¼ í«½ÑÑ "ßΓáαδÑ" «óÑα½Ñ¿ ß¼ÑΘáεΓß∩ ¬ Ñú« ¬«¡µπ. è«úñá íπΣÑα
- ºá»«½¡∩ÑΓß∩ (Γ« ÑßΓ∞ ¼Ñªñπ Ñú« ¡áτὫ¼ ¿ ¬«¡µ«¼ ¡Ñ íπñÑΓ ñ«ßΓá-
- Γ«τ¡« ßó«í«ñ¡«ú« »α«ßΓαá¡ßΓóá), Γ« «óÑα½Ñ¿ ó ¬«¡µÑ íπΣÑαá óδúαπ-
- ªáεΓß∩ («ßó«í«ªñáεΓß∩), ¿ «ßó«í«ªñáÑΓß∩ ¼ÑßΓ« ñ½∩ ¡«óδσ «óÑα½ÑÑó.
-
- ū߬«½∞¬π «íδτ¡á∩ »á¼∩Γ∞ »« ßó«Ñ⌐ »α¿α«ñÑ ¡Ñ ¿¼ÑÑΓ σáαá¬ΓÑαá
- ¬«½∞µÑó«ú« íπΣÑαá, ñÑ⌐ßΓó¿Γѽ∞¡á∩ αÑ὿ºáµ¿∩ ¬«½∞µÑó«ú« íπΣÑαá
- »αÑñπß¼áΓα¿óáÑΓ ¡Ñ߬«½∞¬« Φáú«ó, «íÑß»Ñτ¿óáεΘ¿σ, τΓ«íδ íπΣÑα
- ñÑ⌐ßΓó¿Γѽ∞¡« ßΓá½ ¬«½∞µÑóδ¼. ¥Γ«Γ »α«µÑßß »«¬áºá¡ ¡á É¿ß. 20.1.
- çñÑß∞ ¿º«íαáªÑ¡ »α«µÑßß ºáúαπº¬¿ «óÑα½ÑÑó ó »Ñαó«¡áτá½∞¡« »πßΓ«⌐
- «óÑα½Ñ⌐¡δ⌐ íπΣÑα. æ¡áτá½á ºáúαπªáÑΓß∩ «óÑα½Ñ⌐ A, ºáΓѼ - «óÑα½Ñ⌐
- B, »«Γ«¼ C, ¿, ¡á¬«¡Ñµ, D. çáΦΓα¿σ«óá¡¡δÑ «í½áßΓ¿ »«¬áºδóáεΓ ßó«-
- í«ñ¡«Ñ »α«ßΓαá¡ßΓó« ó íπΣÑαÑ.
-
-
- B.Pascal 7 & Objects/LR - 332 -
-
-
- ÿáú 1 ÿáú 2
- ┌────────────┐ ┌────────────┐
- │ ░░░░░░░░░░ │ │ ░░░░░░░░░░ │
- │ ░░░░░░░░░░ │ │ ░░░░░░░░░░ │
- │ ░░░░░░░░░░ │ │ ░░░░░░░░░░ │
- │ ░░░░░░░░░░ │ ìáτὫ ───> ├────────────┤
- │ ░░░░░░░░░░ │ │ ÄóÑα½Ñ⌐ B │
- ìáτὫ ────> ├────────────┤ ├────────────┤
- │ ÄóÑα½Ñ⌐ Ç │ │ ÄóÑα½Ñ⌐ Ç │
- 諡ѵ ────> └────────────┘ 諡ѵ ───> └────────────┘
-
-
- ÿáú 3 ÿáú 4
- ┌────────────┐ ┌────────────┐
- │ ░░░░░░░░░░ │ │ ÄóÑα½Ñ⌐ æ │
- │ ░░░░░░░░░░ │ ├────────────┤
- ìáτὫ ────> ├────────────┤ │ ÄóÑα½Ñ⌐ é │
- │ ÄóÑα½Ñ⌐ æ │ 諡ѵ ───> ├────────────┤
- ├────────────┤ │ ░░░░░░░░░░ │
- │ ÄóÑα½Ñ⌐ é │ │ ░░░░░░░░░░ │
- ├────────────┤ ìáτὫ ───> ├────────────┤
- │ ÄóÑα½Ñ⌐ Ç │ │ ÄóÑα½Ñ⌐ D │
- 諡ѵ ────> └────────────┘ └────────────┘
-
- É¿ß. 20.1 çáúαπº¬á ¿ «ßó«í«ªñÑ¡¿Ñ «óÑα½ÑÑó.
-
- èᬠ¼«ª¡« ºá¼ÑΓ¿Γ∞, »α¿ »ÑαÑσ«ñÑ «Γ Φáúá 3 ¬ Φáúπ 4 »α«¿ßσ«-
- ñ¿Γ ¡Ñ߬«½∞¬« ¿¡ΓÑαÑß¡δσ ¼«¼Ñ¡Γ«ó. é«-»Ñαóδσ, ºáú«½«ó«¬ ¡áτá½á
- »ÑαѼÑΘáÑΓß∩ ¬ ¬«¡µπ «óÑα½Ñ⌐¡«ú« íπΣÑαá, »α¿ó«ñ∩ ¬ Γ«¼π, τΓ« »«ñ-
- ß¿ßΓѼá π»αáó½Ñ¡¿∩ «óÑα½Ñ∩¼¿ ß¼ÑΘáÑΓ óßÑ ºáúαπªÑ¡¡δÑ «óÑα½Ñ¿ (¿
- π¬áºáΓѽ∞ ¬«¡µá) óóÑασ. ¥Γ« ß¼ÑΘÑ¡¿Ñ ¡Ñ«íσ«ñ¿¼«, τΓ«íδ ßó«í«ñ¡á∩
- «í½áßΓ∞ óßÑúñá ¡áσ«ñ¿½áß∞ ¼Ñªñπ π¬áºáΓѽѼ ¡áτá½á ¿ π¬áºáΓѽѼ
- ¬«¡µá. é«-óΓ«αδσ, τΓ«íδ ºáúαπº¿Γ∞ «óÑα½Ñ⌐ D, »«ñß¿ßΓÑ¼Ñ π»αáó½Ñ-
- ¡¿∩ «óÑα½Ñ∩¼¿ »α¿σ«ñ¿Γß∩ óδúαπº¿Γ∞ ¿º ¬«¡µá íπΣÑαá «óÑα½Ñ⌐ A. é
- φΓ«¼ ß½πτáÑ «óÑα½Ñ⌐ A ∩ó½∩ÑΓß∩ «óÑα½ÑѼ, ¬«Γ«αδσ íδ½ ºáúαπªÑ¡
- αá¡∞ΦÑ óßÑσ, »«φΓ«¼π »αѪñÑ τѼ »α«ñ«½ª¿Γ∞ αáí«Γπ, ½πτΦÑ óßÑú«
- óδúαπº¿Γ∞ ¿¼Ñ¡¡« Ñú«. Çñ¼¿¡¿ßΓαáΓ«α «óÑα½ÑÑó »α«ñ«½ªáÑΓ «ßó«í«ª-
- ñáΓ∞ «óÑα½Ñ¿ ó ¬«¡µÑ íπΣÑαá, «ßó«í«ªñá∩ ¼ÑßΓ« ó Ñú« ¡áτá½Ñ ñ½∩
- ¡«óδσ «óÑα½ÑÑó. Åα¿ φΓ«¼ ¬áªñδ⌐ αẠ»«óΓ«α∩ÑΓß∩ «»Ñαᵿ∩ ß¼ÑΘÑ¡¿∩
- ¿ »ÑαÑ¡«ßá π¬áºáΓѽ∩ ¡áτá½á.
-
- ¥Γ«Γ αѪ¿¼ «»Ñαᵿ∩ ¿ß»«½∞ºπÑΓß∩ áñ¼¿¡¿ßΓαáΓ«α«¼ «óÑα½ÑÑó
- Borland Pascal 0 »« π¼«½τá¡¿ε. Äñ¡á¬«, Borland Pascal Γá¬ªÑ »«º-
- ó«½∩ÑΓ óá¼ ¿ß»«½∞º«óáΓ∞ 󫺼«ª¡«ßΓ∞ «»Γ¿¼¿ºáµ¿¿ á½ú«α¿Γ¼á π»αáó-
- ½Ñ¡¿∩ «óÑα½Ñ∩¼¿.
-
- ÅαÑñ»«½«ª¿¼, τΓ« «óÑα½Ñ⌐ A ß«ñÑαª¿Γ ¡Ñ¬«Γ«αδÑ τáßΓ« ¿ß»«½∞-
- ºπѼδÑ »«ñ»α«úαá¼¼δ. ò«Γ∩ ¡Ñ¬«Γ«αδÑ ¿º φΓ¿σ »«ñ»α«úαá¼¼ ¿ß»«½∞ºπ-
- εΓß∩ óßÑ óαѼ∩, ßπΘÑßΓóπÑΓ óÑα«∩Γ¡«ßΓ∞, τΓ« «óÑα½Ñ⌐ A íπñÑΓ
- óδúαπªÑ¡ ¿º íπΣÑαá ¿ ó߬«αÑ ºáúαπªÑ¡ ó ¡Ñú« ß¡«óá. Åα«í½Ñ¼á ºñÑß∞
- ß«ßΓ«¿Γ ó Γ«¼, τΓ« »«ñß¿ßΓѼá π»αáó½Ñ¡¿∩ «óÑα½Ñ∩¼¿ ¡¿τÑú« ¡Ñ º¡á-
- ÑΓ « τáßΓ«ΓÑ ó맮ó«ó »«ñ»α«úαá¼¼ ó ¼«ñπ½Ñ A. Ä¡á º¡áÑΓ Γ«½∞¬«,
-
- B.Pascal 7 & Objects/LR - 333 -
-
- τΓ« Ñß½¿ »α¿ «íαáΘÑ¡¿¿ ¬ »«ñ»α«úαá¼¼Ñ «óÑα½Ñ∩ A Ñú« ¡ÑΓ ó »á¼∩Γ¿,
- Γ« ¡πª¡« ºáúαπº¿Γ∞ φëà «óÑα½Ñ⌐. Äñ¡« ¿º αÑΦÑ¡¿⌐ ºñÑß∞ ¼«ªÑΓ ß«ß-
- Γ«∩Γ∞ ó Γ«¼, τΓ«íδ »ÑαÑσóáΓδóáΓ∞ ¬áªñ«Ñ «íαáΘÑ¡¿Ñ ¬ »«ñ»α«úαá¼¼á¼
- «óÑα½Ñ∩ A ¿ ºáΓѼ »α¿ ¬áªñ«¼ ó맮óÑ »ÑαѼÑΘáΓ∞ «óÑα½Ñ⌐ A ó ¡áτὫ
- «óÑα½Ñ⌐¡«ú« íπΣÑαá, τΓ«íδ í佫 «ΓαáªÑ¡« Ñú« ¡«ó«Ñ ß«ßΓ«∩¡¿Ñ, ¬á¬
- »«ß½Ññ¡Ñú« ¿ß»«½∞º«óá¡¡«ú« «óÑα½Ñ∩. Æá¬«⌐ »ÑαÑσóáΓ ó맮ó«ó ¬ ß«-
- ªá½Ñ¡¿ε íπñÑΓ ß½¿Φ¬«¼ ¡Ñ»α«¿ºó«ñ¿Γѽ∞¡δ¼ ó ß¼δß½Ñ ß¬«α«ßΓ¿ óδ»«½-
- ¡Ñ¡¿∩, ¿ ó ¡Ñ¬«Γ«αδσ ß½πτá∩σ ¼«ªÑΓ ñáªÑ í«½ÑÑ ºá¼Ññ½¿Γ∞ αáí«Γπ
- »α¿¬½áñ¡«⌐ »α«úαá¼¼δ, τѼ ñ«»«½¡¿Γѽ∞¡á∩ «»Ñαᵿ∩ ºáúαπº¬¿ «óÑα-
- ½Ñ∩.
-
- é Borland Pascal »αÑñπß¼áΓα¿óáÑΓß∩ ¬«¼»α«¼¿ßß¡«Ñ αÑΦÑ¡¿Ñ,
- ¬«Γ«α«Ñ »αá¬Γ¿τÑ߬¿ ¡Ñ πóѽ¿τ¿óáÑΓ ¡Ñ»α«¿ºó«ñ¿Γѽ∞¡δÑ αáßσ«ñδ ¿
- «íÑß»Ñτ¿óáÑΓ óδß«¬πε ßΓѻѡ∞ πß»Ñσá ó ¿ñÑ¡Γ¿Σ¿¬áµ¿¿ »«ß½Ññ¡¿σ ¿ß-
- »«½∞º«óá¡¡δσ «óÑα½ÑÑó, ¬«Γ«αδÑ ¡Ñ ß½ÑñπεΓ αáºúαπªáΓ∞. è«úñá «óÑα-
- ½Ñ⌐ »α¿í½¿ªáÑΓß∩ ¬ ¬«¡µπ «óÑα½Ñ⌐¡«ú« íπΣÑαá, Γ« ¡áτ¿¡áÑΓß∩ Ñú«
- "ΓÑßΓ¿α«óá¡¿Ñ". àß½¿ ó σ«ñÑ φΓ«ú« "ΓÑßΓ¿α«óá¡¿∩" óδ»«½¡∩ÑΓß∩ óδ-
- º«ó »«ñ»α«úαá¼¼δ ñá¡¡«ú« «óÑα½Ñ∩, "»α¿ú«ó«α" Ѽπ íπñÑΓ «Γ¼Ñ¡Ñ¡, ¿
- «¡ ¡Ñ íπñÑΓ αáºúαπªÑ¡, ¬«úñá ñ«ßΓ¿ú¡ÑΓ ¬«¡µá «óÑα½Ñ⌐¡«ú« íπΣÑαá.
- é¼ÑßΓ« φΓ«ú« «¡ »α«ßΓ« »ÑαѼÑΘáÑΓß∩ ó ¡áτὫ íπΣÑαá, ¿ ¡áτ¿¡áÑΓß∩
- ¡«óδÑ µ¿¬½ Ñú« »ÑαѼÑΘÑ¡¿∩ »« ¬«½∞µÑó«¼π «óÑα½Ñ⌐¡«¼π íπΣÑαπ. àß-
- ½¿, ß ñαπú«⌐ ßΓ«α«¡δ, ó »α«µÑßßÑ "ΓÑßΓ¿α«óá¡¿∩" «íαáΘÑ¡¿⌐ ¬ «óÑα-
- ½Ñε ¡Ñ íπñÑΓ, Γ« «óÑα½Ñ⌐ »α¿ ñ«ßΓ¿ªÑ¡¿¿ ¬«¡µá íπΣÑαá óδúαπªáÑΓß∩.
-
- æσѼá ΓÑßΓ¿α«óá¡¿∩ (»α«í/«Γ¬áº«ó) »α¿ó«ñ¿Γ ¬ Γ«¼π, τΓ« τáßΓ«
- ¿ß»«½∞ºπѼδÑ «óÑα½Ñ¿ íπñπΓ ß«σαá¡∩Γ∞ß∩ ó «óÑα½Ñ⌐¡«¼ íπΣÑαÑ ºá
- ßτÑΓ Γ«ú«, τΓ« íπñÑΓ »ÑαÑσóáΓδóáΓ∞ß∩ »«τΓ¿ ¬áªñδ⌐ ó맮ó, ¬«úñá
- «óÑα½Ñ⌐ »α¿í½¿ªáÑΓß∩ ¬ ¬«¡µπ «óÑα½Ñ⌐¡«ú« íπΣÑαá.
-
- îÑσá¡¿º¼«¼ ΓÑßΓ¿α«óá¡¿∩ π»αáó½∩εΓ ñóÑ ¡«óδÑ »«ñ»α«úαá¼¼δ
- »«ñß¿ßΓѼδ π»αáó½Ñ¡¿∩ «óÑα½Ñ∩¼¿ - OvrSetRetry ¿ OvrGetRetry.
- Å«ñ»α«úαá¼¼á OvrGetRetry πßΓá¡áó½¿óáÑΓ αẼÑα «í½áßΓ¿ ó «óÑα½Ñ⌐-
- ¡«¼ íπΣÑαÑ, ¬«Γ«απε ¡πª¡« ΓÑßΓ¿α«óáΓ∞, á OvrGetRetry ó«ºóαáΘáÑΓ
- ΓѬπΘÑÑ ß«ßΓ«∩¡¿Ñ. àß½¿ «óÑα½Ñ⌐ ß¼ÑΘáÑΓß∩ ó »«ß½Ññ¡¿Ñ OvrGetRetry
- íá⌐Γ »ÑαÑñ ¬«¡µ«¼ «óÑα½Ñ⌐¡«ú« íπΣÑαá, Γ« «¡ íπñÑΓ áóΓ«¼áΓ¿τÑ߬¿
- »«ñóÑαúáΓ∞ß∩ ΓÑßΓ¿α«óá¡¿ε. éßÑ ßó«í«ñ¡«Ñ »α«ßΓαá¡ßΓó« ó «óÑα½Ñ⌐-
- ¡«¼ íπΣÑαÑ αáßß¼áΓα¿óáÑΓß∩, ¬á¬ τáßΓ∞ »α«í¡«⌐ «í½áßΓ¿ («í½áßΓ¿
- ΓÑßΓ¿α«óá¡¿∩).
-
-
-
- B.Pascal 7 & Objects/LR - 334 -
-
- Åα«µÑñπαδ ¿ Σπ¡¬µ¿¿ ¼«ñπ½∩ Overlay
- ─────────────────────────────────────────────────────────────────
-
- é ¼«ñπ½Ñ Overlay «»αÑñѽ∩εΓß∩ ¡Ñ߬«½∞¬« »α«µÑñπα ¿ Σπ¡¬µ¿⌐.
- Å«½¡δÑ ¿σ «»¿ßá¡¿∩ óδ ¼«ªÑΓÑ ¡á⌐Γ¿ ó â½áóÑ 1 ("æ»αáó«τ¡¿¬ »« í¿í-
- ½¿«ΓѬÑ") "æ»αáó«τ¡«ú« απ¬«ó«ñßΓóá »α«úαá¼¼¿ßΓá".
-
- Åα«µÑñπαδ ¿ Σπ¡¬µ¿¿ ¼«ñπ½∩ Overlay Æáí½¿µá 20.1
- ┌─────────────────────────┬─────────────────────────────────────┐
- │ Å«ñ»α«úαá¼¼á │ Ä»¿ßá¡¿Ñ │
- ├─────────────────────────┼─────────────────────────────────────┤
- │ OvrClearBuf │ Äτ¿ΘáÑΓ «óÑα½Ñ⌐¡δ⌐ íπΣÑα. │
- ├─────────────────────────┼─────────────────────────────────────┤
- │ OvrGetBuf │ 髺óαáΘáÑΓ ΓѬπΘ¿⌐ αẼÑα «óÑα½Ñ⌐¡«-│
- │ │ ú« íπΣÑαá. │
- ├─────────────────────────┼─────────────────────────────────────┤
- │ OvrGetRetry │ 髺óαáΘáÑΓ ΓѬπΘ¿⌐ αẼÑα »α«í¡«⌐│
- │ │ «í½áßΓ¿ (»«ß½Ññ¡ÑÑ º¡áτÑ¡¿Ñ, πßΓá-│
- │ │ ¡«ó½Ñ¡¡«Ñ OvrSetRetry). │
- ├─────────────────────────┼─────────────────────────────────────┤
- │ OvtInit │ ¥Γá »α«µÑñπαá ¿¡¿µ¿á½¿º¿απÑΓ »«ñß¿ß-│
- │ │ ΓѼπ π»αáó½Ñ¡¿∩ «óÑα½Ñ∩¼¿ ¿ «Γ¬αδóá-│
- │ │ ÑΓ «óÑα½Ñ⌐¡δ⌐ Σá⌐½. │
- ├─────────────────────────┼─────────────────────────────────────┤
- │ OvrInitEMS │ äá¡¡á∩ »α«µÑñπαá, Ñß½¿ φΓ« 󫺼«ª¡«,│
- │ │ ºáúαπªáÑΓ «óÑα½Ñ⌐¡δ⌐ Σá⌐½ ó »á¼∩Γ∞│
- │ │ EMS. Åα¿ φΓ«¼ óßÑ »«ß½ÑñπεΘ¿Ñ ºáú-│
- │ │ απº¬¿ «óÑα½ÑÑó ßó«ñ∩Γß∩ ¬ íδßΓα«⌐│
- │ │ »ÑαÑñáτÑ ¿¡Σ«α¼áµ¿¿ ¿º »á¼∩Γ¿ ó »á-│
- │ │ ¼∩Γ∞. │
- ├─────────────────────────┼─────────────────────────────────────┤
- │ OvrSetBuf │ ôßΓá¡áó½¿óáÑΓ αẼÑα «óÑα½Ñ⌐¡«ú« íπ-│
- │ │ ΣÑαá. │
- ├─────────────────────────┼─────────────────────────────────────┤
- │ OvrSetRetry │ çáñáÑΓ αẼÑα »α«í¡«⌐ «í½áßΓ¿ ó│
- │ │ «óÑα½Ñ⌐¡«¼ íπΣÑαÑ. │
- └─────────────────────────┴─────────────────────────────────────┘
-
- è«¡ßΓá¡Γδ ¿ »ÑαѼѡ¡δÑ ¼«ñπ½∩ Overlay
- ─────────────────────────────────────────────────────────────────
-
-
- B.Pascal 7 & Objects/LR - 335 -
-
-
- é ¼«ñπ½Ñ Overlay «»αÑñÑ½Ñ¡δ »∩Γ∞ »ÑαѼѡ¡δσ:
-
- ÅÑαѼѡ¡δÑ ¼«ñπ½∩ Overlay Æáí½¿µá 20.2
- ┌──────────────────────┬────────────────────────────────────────┐
- │ ÅÑαѼѡ¡á∩ │ Ä»¿ßá¡¿Ñ │
- ├──────────────────────┼────────────────────────────────────────┤
- │ OvrFileMode │ Ä»αÑñѽ∩ÑΓ »ÑαÑñáóáѼδ⌐ DOS »α¿ «Γ¬αδ-│
- │ │ Γ¿¿ Σá⌐½á ¬«ñ ñ«ßΓπ»á. │
- ├──────────────────────┼────────────────────────────────────────┤
- │ OvrLoadCount │ äá¡¡á∩ »ÑαѼѡ¡á∩ πóѽ¿τ¿óáÑΓß∩ »α¿│
- │ │ ¬áªñ«⌐ ºáúαπº¬Ñ «óÑα½Ñ∩. │
- ├──────────────────────┼────────────────────────────────────────┤
- │ OvrReadBuf │ ¥Γá »α«µÑñπα¡á∩ »ÑαѼѡ¡á∩ »«ºó«½∩ÑΓ│
- │ │ óá¼ ¿¡ΓÑα»αÑΓ¿α«óáΓ∞ «»Ñαᵿ¿ ºáúαπº¬¿│
- │ │ «óÑα½Ñ∩. │
- ├──────────────────────┼────────────────────────────────────────┤
- │ OvrResult │ ÅÑαÑñ ó«ºóαáΓ«¼ π»αáó½Ñ¡¿∩ ¬áªñá∩ »α«-│
- │ │ µÑñπαá ó ¼«ñπ½Ñ Overlay ß«σαá¡∩ÑΓ ßó«⌐│
- │ │ ¬«ñ αѺπ½∞ΓáΓá ó »ÑαѼѡ¡«⌐ OvrResult. │
- ├──────────────────────┼────────────────────────────────────────┤
- │ OvrTrapCount │ èáªñδ⌐ αáº, ¬«úñá «íαáΘÑ¡¿Ñ ¬ »«ñ»α«ú-│
- │ │ αá¼¼Ñ «óÑα½Ñ∩ »ÑαÑσóáΓδóáÑΓß∩ »«ñß¿ßΓÑ-│
- │ │ ¼«⌐ π»αáó½Ñ¡¿∩ «óÑα½Ñ∩¼¿ (¬«úñá «óÑα½Ñ∩│
- │ │ ¡ÑΓ ó »á¼∩Γ¿ ¿½¿ «¡ ¡áσ«ñ¿Γß∩ ¡á ΓÑßΓ¿-│
- │ │ α«óá¡¿¿) º¡áτÑ¡¿Ñ »ÑαѼѡ¡«⌐│
- │ │ OvrTrapCount πóѽ¿τ¿óáÑΓß∩. ìáτá½∞¡«Ñ│
- │ │ ÑÑ º¡áτÑ¡¿Ñ αáó¡« 0. │
- └──────────────────────┴────────────────────────────────────────┘
-
- ç¡áτÑ¡¿∩ φΓ¿σ »ÑαѼѡ¡δσ óδ ¼«ªÑΓÑ ¡á⌐Γ¿ ó â½áóÑ 1 ("æ»αá-
- ó«τ¡¿¬ »« í¿í½¿«ΓѬÑ") "æ»αáó«τ¡«ú« απ¬«ó«ñßΓóá »α«úαá¼¼¿ßΓá".
-
- è«ñδ αѺπ½∞ΓáΓá
- ─────────────────────────────────────────────────────────────────
-
- Äí «Φ¿í¬áσ ¼«ñπ½∞ Overlay ß««íΘáÑΓ τÑαѺ »ÑαѼѡ¡πε
- OvrResult. æ¼. ¬«¡ßΓá¡Γδ ovrXXXX ó â½áóÑ 1 ("æ»αáó«τ¡¿¬ »« í¿í-
- ½¿«ΓѬÑ") "æ»αáó«τ¡«ú« απ¬«ó«ñßΓóá »α«úαá¼¼¿ßΓá".
-
- Éáºαáí«Γ¬á »α«úαá¼¼ ß «óÑα½Ñ∩¼¿
- ─────────────────────────────────────────────────────────────────
-
- é φΓ«¼ αáºñÑ½Ñ ñáÑΓß∩ ¡á¿í«½ÑÑ ó᪡á∩ ¿¡Σ«α¼áµ¿∩ »« αáºαá-
- í«Γ¬Ñ »α«úαá¼¼ ß «óÑα½Ñ∩¼¿. Åα«ß¼«Γα¿ΓÑ ÑÑ ó¡¿¼áΓѽ∞¡«: ñ½∩ σ«α«-
- ΦÑ⌐ αáí«Γδ »α¿¬½áñ¡δσ »α«úαá¼¼, ó ¬«Γ«αδσ ¿ß»«½∞ºπεΓß∩ «óÑα½Ñ¿,
- ¼¡«ú¿Ñ «íßπªñáѼδÑ ó«»α«ßδ ∩ó½∩εΓß∩ ª¿º¡Ñ¡¡« óáª¡δ¼¿.
-
-
-
- B.Pascal 7 & Objects/LR - 336 -
-
- âÑ¡Ñαᵿ∩ «óÑα½Ñ⌐¡«ú« ¬«ñá
- ─────────────────────────────────────────────────────────────────
-
- Borland Pascal ñ«»π߬áÑΓ ¿ß»«½∞º«óá¡¿Ñ ¼«ñπ½∩ ó ¬áτÑßΓóÑ
- «óÑα½Ñ⌐¡«ú« Γ«½∞¬« ó Γ«¼ ß½πτáÑ, Ñß½¿ «¡ úÑ¡Ñα¿α«óá½ß∩ ß ñ¿αÑ¬Γ¿-
- ó«⌐ {$O+}. è«úñá ºáñá¡á φΓá ñ¿αÑ¬Γ¿óá, úÑ¡ÑαáΓ«α óδ»«½¡∩Ѽ«ú« ¬«-
- ñá, »α¿ »ÑαÑñáτÑ ßΓ᫬¿ ¿º «ñ¡«⌐ «óÑα½Ñ⌐¡«⌐ »α«µÑñπαδ ó ñαπúπε ¿
- ºáñá¡¿¿ »«ßΓ«∩¡¡δσ »áαá¼ÑΓα«ó, »αÑñ»α¿¡¿¼áÑΓ «ß«íδÑ ¼Ñαδ »αÑñ«ß-
- ë᫪¡«ßΓ¿. ìá»α¿¼Ñα, Ñß½¿ ¼«ñπ½∞ UnitA ß«ñÑαª¿Γ »α«µÑñπαπ ß«
- ß½ÑñπεΘ¿¼ ºáú«½«ó¬«¼:
-
- procedure WriteStr(s: string);
-
- ¿ ¼«ñπ½∞ UnitB ß«ñÑαª¿Γ «»ÑαáΓ«α:
-
- WriteStr('Hello word...');
-
- Γ« Borland Pascal »«¼ÑΘáÑΓ ßΓ᫬«óπε ¬«¡ßΓá¡Γπ 'Hello word...' ó
- ßÑú¼Ñ¡Γ ¬«ñá ¼«ñπ½∩ UnitB ¿ »ÑαÑñáÑΓ π¬áºáΓѽ∞ ¡á ¡Ñú« »α«µÑñπαÑ
- WriteStr. Äñ¡á¬«, Ñß½¿ «íá ¼«ñπ½∩ ∩ó½∩εΓß∩ «óÑα½Ñ⌐¡δ¼¿, Γ« φΓ«
- αáí«ΓáΓ∞ ¡Ñ íπñÑΓ, »«ß¬«½∞¬π »α¿ «íαáΘÑ¡¿¿ ó WriteStr ßÑú¼Ñ¡Γ ¬«-
- ñá ¼«ñπ½∩ UnitB ¼«ªÑΓ íδΓ∞ »ÑαѬαδΓ ¼«ñπ½Ñ¼ UnitA, ¿ ßßδ½¬á ¡á
- ßΓ᫬𠫬áªÑΓß∩ ¡Ññ«»πßΓ¿¼«⌐. ä½∩ Γ«ú«, τΓ«íδ ¿ºíѪáΓ∞ φΓ¿ »α«í-
- ½Ñ¼δ, ¿ß»«½∞ºπÑΓß∩ ñ¿αÑ¬Γ¿óá {$O+}. èáªñδ⌐ αáº, ¬«úñá Æπαí« Åáß-
- ¬á½∞ óßΓαÑτáÑΓ «íαáΘÑ¡¿Ñ ¿º «ñ¡«ú« ¼«ñπ½∩, ߬«¼»¿½¿α«óá¡¡«ú« ß
- ñ¿αÑ¬Γ¿ó«⌐ {$O+}, ¬ ñαπú«¼π ¼«ñπ½ε, ߬«¼»¿½¿α«óá¡¡«¼π ß ñ¿αÑ¬Γ¿-
- ó«⌐ {$O+}, ¬«¼»¿½∩Γ«α »ÑαÑñ »ÑαÑñáτÑ⌐ ßß佫¬ ¡á ¡¿σ «íÑß»Ñτ¿óáÑΓ
- óαѼѡ¡«Ñ ¬«»¿α«óá¡¿Ñ óßÑσ αẼÑΘÑ¡¡δσ ó ßÑú¼Ñ¡ΓÑ ¬«ñá ¬«¡ßΓá¡Γ ó
- ßΓѬ.
-
- ô¬áºá¡¿Ñ ó ¼«ñπ½Ñ ñ¿αÑ¬Γ¿óδ {$O+} ¡Ñ «í∩ºδóáÑΓ óáß ¿ß»«½∞º«-
- óáΓ∞ φëà ¼«ñπ½∞ ¬á¬ «óÑα½Ñ⌐¡δ⌐. Ä¡á »α«ßΓ« π¬áºδóáÑΓ Borland
- Pascal ¡á ¡Ñ«íσ«ñ¿¼«ßΓ∞ «íÑß»ÑτÑ¡¿∩, Ñß½¿ φΓ« ¡πª¡«, ¿ß»«½∞º«óá-
- ¡¿∩ ñá¡¡«ú« ¼«ñπ½∩ ó ¬áτÑßΓóÑ «óÑα½Ñ⌐¡«ú«. àß½¿ óδ αáºαáíáΓδóáÑΓÑ
- ¼«ñπ½¿, ¬«Γ«αδÑ »½á¡¿απÑΓÑ ¿ß»«½∞º«óáΓ∞ ¬á¬ ó «óÑα½Ñ⌐¡δσ, Γᬠ¿ ó
- ¡Ñ«óÑα½Ñ⌐¡δσ »α¿¬½áñ¡δσ »α«úαá¼¼áσ, Γ« ¬«¼»¿½∩µ¿∩ ¿σ ß ñ¿αÑ¬Γ¿ó«⌐
- {$O+} «íÑß»Ñτ¿óáÑΓ ¿ß»«½∞º«óá¡¿Ñ «ñ¡«⌐ óÑαß¿¿ ¼«ñπ½∩ ñ½∩ «í«¿σ
- ß½πτáÑó.
-
-
-
- B.Pascal 7 & Objects/LR - 337 -
-
- ÆαÑí«óá¡¿Ñ ¿ß»«½∞º«óá¡¿∩ ñá½∞¡Ñú« Γ¿»á ó맮ó«ó
- ─────────────────────────────────────────────────────────────────
-
- èᬠπªÑ π»«¼¿¡á½«ß∞ αá¡ÑÑ, »α¿ ½εí«¼ «íαáΘÑ¡¿¿ ¬ «óÑα½Ñ⌐¡«⌐
- »α«µÑñπαÑ ¿½¿ Σπ¡¬µ¿¿ ¿º ñαπú«ú« ¼«ñπ½∩ óδ ñ«½ª¡δ «íÑß»Ñτ¿Γ∞ ñ½∩
- óßÑσ á¬Γ¿ó¡δσ »α«µÑñπα ¿ Σπ¡¬µ¿⌐ ó맮óδ Γ¿»á FAR (ñá½∞¡¿⌐ Γ¿» óδ-
- º«óá).
-
- ¥Γ« ¼«ª¡« σ«α«Φ« »α«¿½½εßΓα¿α«óáΓ∞ ¡á ß½ÑñπεΘѼ »α¿¼ÑαÑ.
- ÅαÑñ»«½«ª¿¼, τΓ« OvrA »αÑñßΓáó½∩ÑΓ ß«í«⌐ »α«µÑñπαπ ó «óÑα½Ñ⌐¡«¼
- ¼«ñπ½Ñ, á »α«µÑñπαδ MainC ¿ MainD - »α«µÑñπαδ ó «ß¡«ó¡«⌐ »α«úαá¼-
- ¼Ñ. àß½¿ «ß¡«ó¡á∩ »α«úαá¼¼á óδºδóáÑΓ MainC, ¬«Γ«αá∩ óδºδóáÑΓ »α«-
- µÑñπαπ MainB, ¬«Γ«αá∩ ó ßó«ε «τÑαÑñ∞ «íαáΘáÑΓß∩ ¬ »α«µÑñπαÑ OvrA,
- Γ« ó« óαѼ∩ «íαáΘÑ¡¿∩ ¬ »α«µÑñπαÑ OvrA »α«µÑñπαδ MainC ¿ MainB
- ∩ó½∩εΓß∩ á¬Γ¿ó¡δ¼¿ («¡¿ ÑΘÑ ¡Ñ óδ»«½¡¿½¿ ó«ºóαáΓ π»αáó½Ñ¡¿∩), »«-
- φΓ«¼π ¡Ñ«íσ«ñ¿¼« ¿ß»«½∞º«óáΓ∞ ñ½∩ ¡¿σ ñá½∞¡¿⌐ Γ¿» ó맮óá. Ä»¿ßá¡-
- ¡δÑ ó «ß¡«ó¡«⌐ »α«úαá¼¼Ñ, »α«µÑñπαδ MainC ¿ MainB ó «íδτ¡«⌐ ß¿Γπ-
- ᵿ¿ ¿ß»«½∞ºπεΓ í½¿ª¡¿⌐ Γ¿» ó맮ó«ó (NEAR). æ »«¼«Θ∞ε ñ¿αÑ¬Γ¿óδ
- ¬«¼»¿½∩Γ«αá {$F+} ¡Ñ«íσ«ñ¿¼« ºáñáΓ∞ ñá½∞¡¿⌐ Γ¿» ó맮ó«ó.
-
- æá¼δ⌐ ½Ñú¬¿⌐ ß»«ß«í πñ«ó½ÑΓó«αÑ¡¿∩ ΓαÑí«óá¡¿∩ ¿ß»«½∞º«óá¡¿∩
- ñá½∞¡Ñú« Γ¿»á ó맮ó«ó ß«ßΓ«¿Γ ó αẼÑΘÑ¡¿¿ ó ¡áτá½Ñ «ß¡«ó¡«⌐
- »α«úαá¼¼δ ¿ ó ¡áτá½Ñ ¬áªñ«ú« ¼«ñπ½∩ ñ¿αÑ¬Γ¿óδ {$F+}. ǽ∞ΓÑα¡áΓ¿ó-
- ¡δ⌐ ß»«ß«í ß«ßΓ«¿Γ ó ¿º¼Ñ¡Ñ¡¿¿ »α¿¡∩Γ«⌐ »« π¼«½τá¡¿ε πßΓá¡«ó¬¿ $F
- ¡á {$F+} ß »«¼«Θ∞ε ñ¿αÑ¬Γ¿óδ ¬«¼á¡ñ¡«⌐ ßΓ᫬¿ /$F+ ¿½¿ ß »«¼«Θ∞ε
- »áαá¼ÑΓαá Force Far Calls (êß»«½∞º«óáΓ∞ ñá½∞¡¿⌐ Γ¿» ó맮óá) ó ñ¿-
- Ὣú«ó«¼ ¼Ñ¡ε Options│Compiler (Åáαá¼ÑΓαδ│諼»¿½∩Γ«α) ßαÑñδ IDE
- ¿¡ΓÑαá¬Γ¿ó¡«ú« ¬«¼»¿½∩Γ«αá. Å« ßαáó¡Ñ¡¿ε ß« ß¼ÑΦá¡¡δ¼ ¿ß»«½∞º«óá-
- ¡¿Ñ¼ ó맮ó«ó í½¿ª¡Ñú« ¿ ñá½∞¡Ñú« Γ¿»á ¿ß»«½∞º«óá¡¿Ñ ó맮ó«ó Γ«½∞-
- ¬« Γ¿»á FAR ¡Ñ »α¿ó«ñ¿Γ ¬ «ß«íÑ¡¡« í«½∞Φ¿¼ ñ«»«½¡¿Γѽ∞¡δ¼ ºáΓαá-
- Γá¼ »á¼∩Γ¿: ñ½∩ φΓ«ú« ΓαÑíπÑΓß∩ «ñ¡« ñ«»«½¡¿Γѽ∞¡«Ñ ß½«ó« »α«ßΓ-
- αá¡ßΓóá ßΓÑ¬á ¡á á¬Γ¿ó¡πε »α«µÑñπαπ ¿ «ñ¿¡ ñ«»«½¡¿Γѽ∞¡δ⌐ íá⌐Γ ¡á
- ¬áªñδ⌐ ó맮ó.
-
-
-
- B.Pascal 7 & Objects/LR - 338 -
-
- ê¡¿µ¿á½¿ºáµ¿∩ áñ¼¿¡¿ßΓαáΓ«αá «óÑα½ÑÑó
- ─────────────────────────────────────────────────────────────────
-
- çñÑß∞ ¼δ αáßß¼«Γα¿¼ ¡Ñ¬«Γ«αδÑ »α¿¼Ñαδ Γ«ú«, ¬á¬ ¿¡¿µ¿á½¿º¿-
- απÑΓß∩ áñ¼¿¡¿ßΓαáΓ«α «óÑα½ÑÑó (»«ñß¿ßΓѼá π»αáó½Ñ¡¿∩ «óÑα½Ñ∩¼¿).
- è«ñ ¿¡¿µ¿á½¿ºáµ¿¿ ñ«½ªÑ¡ íδΓ∞ »«¼ÑΘÑ¡ »ÑαÑñ »Ñαóδ¼ «íαáΘÑ¡¿Ñ¼ ¬
- «óÑα½Ñ⌐¡«⌐ »α«úαá¼¼Ñ. ê¡¿µ¿á½¿ºáµ¿ε «íδτ¡« ß½ÑñπÑΓ ñѽáΓ∞ ó «»Ñ-
- αáΓ«α¡«⌐ τáßΓ¿ »α«úαá¼¼δ.
-
- æ½ÑñπεΘá∩ τáßΓ∞ »α«úαá¼¼δ »«¬áºδóáÑΓ, ¬á¬ ¡Ñ¼¡«ú« ΓαÑíπÑΓß∩
- ñ½∩ Γ«ú«, τΓ«íδ ¿¡¿µ¿á½¿º¿α«óáΓ∞ áñ¼¿¡¿ßΓαáΓ«α «óÑα½ÑÑó.
-
- begin
- OvrInit('EDITOR.OVR');
- end;
-
- Åα«óÑα¬á ¡á «Φ¿í¬¿ ¡Ñ ñѽáÑΓß∩. Å«φΓ«¼π Ñß½¿ ñ½∩ «óÑα½Ñ⌐¡«ú«
- íπΣÑαá ¡Ñ σóáΓáÑΓ »á¼∩Γ¿ ¿½¿ «óÑα½Ñ⌐¡δ⌐ Σá⌐½ ¡Ñ ¡á⌐ñÑ¡, Γ« »α¿
- »«»δ⪥ ó맮óá «óÑα½Ñ⌐¡«⌐ »α«úαá¼¼δ »α«¿º«⌐ñÑΓ «Φ¿í¬á 208
- (Overlay manager not installed - "Çñ¼¿¡¿ßΓαáΓ«α «óÑα½ÑÑó ¡Ñ πßΓá-
- ¡«ó½Ñ¡").
-
- Åα¿óÑñѼ ñαπú«⌐ ¡Ñí«½∞Φ«⌐ »α¿¼Ñα, ∩ó½∩εΘ¿⌐ß∩ αáßΦ¿αÑ¡¿Ñ¼
- »αÑñδñπΘÑú«.
-
- begin
- OvrInit('EDITOR.OVR');
- OvrInitEMS;
- end;
-
- é φΓ«¼ ß½πτáÑ, Ñß½¿ »αÑñ»«½«ª¿Γ∞, τΓ« ñ½∩ «óÑα½Ñ⌐¡«ú« íπΣÑαá
- ¿¼ÑÑΓß∩ ñ«ßΓáΓ«τ¡« »á¼∩Γ¿ ¿ τΓ« ¼«ª¡« ¡á⌐Γ¿ «óÑα½Ñ⌐¡δ⌐ Σá⌐½, áñ-
- ¼¿¡¿ßΓαáΓ«α «óÑα½ÑÑó »α«óÑα∩ÑΓ, ¿¼ÑÑΓß∩ ½¿ »á¼∩Γ∞ EMS, ¿ Ñß½¿ φΓ«
- Γá¬, ºáúαπªáÑΓ «óÑα½Ñ⌐¡δ⌐ Σá⌐½ ó αáßΦ¿αÑ¡¡πε »á¼∩Γ∞.
-
- èᬠπªÑ π»«¼¿¡á½«ß∞ αá¡ÑÑ, ¡áτá½∞¡δ⌐ αẼÑα «óÑα½Ñ⌐¡«ú« íπ-
- ΣÑαá óδí¿αáÑΓß∩ ¼¿¡¿¼á½∞¡« 󫺼«ª¡δ¼ ¿½¿, ¿¡áτÑ ú«ó«α∩, ¡áßΓ«½∞¬«
- í«½∞Φ¿¼, τΓ«íδ ó¼ÑßΓ¿Γ∞ «óÑα½Ñ⌐ ¡á¿í«½∞ΦÑú« αẼÑαá. ä½∩ ¡Ñ¬«Γ«-
- αδσ »α¿¬½áñ¡δσ ºáñáτ φΓ«ú« ¼«ªÑΓ íδΓ∞ ñ«ßΓáΓ«τ¡δ¼, «ñ¡á¬« »αÑñß-
- Γáó¿¼ ß¿Γπᵿε, »α¿ ¬«Γ«α«⌐ «ñ¡á ¿º Σπ¡¬µ¿⌐ »α«úαá¼¼δ αÑ὿ºπÑΓß∩
- ß »«¼«Θ∞ε ñóπσ ¿½¿ í«½ÑÑ ¼«ñπ½Ñ⌐, ¬áªñδ⌐ ¿º ¬«Γ«αδσ ∩ó½∩ÑΓß∩
- «óÑα½Ñ⌐¡δ¼. àß½¿ «íΘ¿⌐ αẼÑα Γá¬¿σ ¼«ñπ½Ñ⌐ í«½∞ΦÑ, τѼ αẼÑα
- ¡á¿í«½∞ΦÑú« «óÑα½Ñ∩, Γ« τáßΓ«Ñ «íαáΘÑ¡¿Ñ ¼«ñπ½Ñ⌐ ñαπú ¬ ñαπúπ
- »α¿óÑñÑΓ ¬ ¿¡Γѡ߿󡫼π ßó«»¿¡úπ.
-
- ÄτÑó¿ñ¡«, αÑΦÑ¡¿Ñ ºá¬½ετáÑΓß∩ ó Γ«¼, τΓ«íδ πóѽ¿τ¿Γ∞ αẼÑα
- «óÑα½Ñ⌐¡«ú« íπΣÑαá Γᬿ¼ «íαẫ¼, τΓ«íδ ó ½εí«⌐ ºáñá¡¡δ⌐ ¼«¼Ñ¡Γ
- óαѼѡ¿ ¿¼Ñ½«ß∞ ñ«ßΓáΓ«τ¡« »á¼∩Γ¿ ñ½∩ Γ«ú«, τΓ«íδ ß«ñÑαªáΓ∞ ó ßÑ-
- íÑ óßÑ «óÑα½Ñ¿, τáßΓ« «íαáΘáεΘ¿Ñß∩ ñαπú ¬ ñαπúπ. æ½ÑñπεΘá∩ τáßΓ∞
- »α«úαá¼¼δ »«¬áºδóáÑΓ ¿ß»«½∞º«óá¡¿Ñ ñ½∩ πóѽ¿τÑ¡¿∩ αẼÑαá «óÑα-
- ½Ñ⌐¡«ú« íπΣÑαá »α«µÑñπαδ OvrSetBuf:
-
- const
-
- B.Pascal 7 & Objects/LR - 339 -
-
- OvrMaxSize = 80000;
- begin
- OvrInit('EDITOR.OVR');
- OvrInitEMS;
- OvrSetBuf(OvrMaxSize);
- end;
-
- ä½∩ «»αÑñѽѡ¿∩ ¿ñÑá½∞¡«ú« αẼÑαá «óÑα½Ñ⌐¡«ú« íπΣÑαá «íΘ¿σ
- αѬ«¼Ñ¡ñᵿ⌐ ¡ÑΓ. Å«ñσ«ñ∩ΘÑÑ º¡áτÑ¡¿Ñ ¼«ª¡« «»αÑñѽ¿Γ∞ Γ«½∞¬«
- ¿¼Ñ∩ ¡Ñ¬«Γ«απε ¿¡Σ«α¼áµ¿ε « »α¿¬½áñ¡«⌐ ºáñáτ¿ ¿ φ¬ß»Ñα¿¼Ñ¡Γá½∞¡δ¼
- »πΓѼ.
-
- êß»«½∞º«óá¡¿Ñ »α«µÑñπαδ OvrInitEMS ñ½∩ αẼÑΘÑ¡¿∩ «óÑα½Ñ⌐¡«-
- ú« Σá⌐½á ó αáßΦ¿αÑ¡¡«⌐ »á¼∩Γ¿ ¡Ñ πßΓαá¡∩ÑΓ ¡Ñ«íσ«ñ¿¼«ßΓ¿ αáí«Γδ ß
- «óÑα½Ñ⌐¡δ¼ íπΣÑα«¼. éÑñ∞ «óÑα½Ñ¿ »ÑαÑñ óδ»«½¡Ñ¡¿Ñ¼ ΓѼ ¡Ñ ¼Ñ¡ÑÑ
- ñ«½ª¡δ ¬«»¿α«óáΓ∞ß∩ ¿º αáßΦ¿αÑ¡¡«⌐ »á¼∩Γ¿ ó «íδτ¡πε (Γ« ÑßΓ∞ ó
- «óÑα½Ñ⌐¡δ⌐ íπΣÑα). Äñ¡á¬«, »«ß¬«½∞¬π Γá¬¿Ñ »ÑαÑñáτ¿ ¿º »á¼∩Γ¿ ó
- »á¼∩Γ∞ óδ»«½¡∩εΓß∩ º¡áτ¿Γѽ∞¡« íδßΓαÑÑ, τѼ τΓÑ¡¿Ñ ß ñ¿ß¬á, Γ«
- ¡Ñ«íσ«ñ¿¼«ßΓ∞ πóѽ¿τÑ¡¿∩ αẼÑαá «óÑα½Ñ⌐¡«ú« íπΣÑαá ßΓá¡«ó¿Γß∩
- ¼Ñ¡ÑÑ «τÑó¿ñ¡«⌐.
-
- ìπª¡« Γá¬ªÑ »«¼¡¿Γ∞ « Γ«¼, τΓ« »α«µÑñπαá OvrSetBuf πóѽ¿τ¿-
- óáÑΓ αẼÑα «óÑα½Ñ⌐¡«ú« íπΣÑαá ºá ßτÑΓ π¼Ñ¡∞ΦÑ¡¿∩ αẼÑαá ñ¿¡á¼¿-
- τÑ߬¿ αáß»αÑñѽ∩Ѽ«⌐ «í½áßΓ¿ »á¼∩Γ¿. Æá¬¿¼ «íαẫ¼, ñ¿¡á¼¿τÑ߬¿
- αáß»αÑñѽ∩Ѽá∩ «í½áßΓ∞ ñ«½ª¡á íδΓ∞ »πßΓ«⌐, ¿¡áτÑ »α«µÑñπαá
- OvrSetBuf ¡Ñ «¬áªÑΓ ¡¿¬á¬«ú« ñÑ⌐ßΓó¿∩. àß½¿ óδ ¿ß»«½∞ºπÑΓÑ ¼«ñπ½∞
- Graph, πíÑñ¿ΓÑß∞ ó Γ«¼, τΓ« óδ «íαáΘáÑΓÑß∞ ¬ »α«µÑñπαÑ OvrSetBuf
- »ÑαÑñ óδº«ó«¼ »α«µÑñπαδ InitGraph, ¬«Γ«αá∩ óδñѽ∩ÑΓ »á¼∩Γ∞ ó ñ¿-
- ¡á¼¿τÑ߬¿ αáß»αÑñѽ∩Ѽ«⌐ «í½áßΓ¿.
-
- Åα¿óÑñѼ ΓÑ»Ñα∞ í«½ÑÑ ¿ßτÑα»δóáεΘ¿⌐ »α¿¼Ñα ¿¡¿µ¿á½¿ºáµ¿¿
- »«ñß¿ßΓѼδ π»αáó½Ñ¡¿∩ «óÑα½Ñ∩¼¿, ó¬½ετáεΘÑ⌐ ó ßÑí∩ »«½¡πε »α«óÑα-
- ¬π ¡á 󫺼«ª¡«Ñ 󫺡¿¬¡«óÑ¡¿Ñ «Φ¿í«¬.
-
- const
- OvrMaxSize = 80000;
- var
- OvrName: string[79];
- Size: Longint;
- begin
- OvrName:='EDITOR.OVR';
- repeat
- OvrInit(OvrName);
- if OvrResult=ovrNotFound then
- begin
- WriteLn('ÄóÑα½Ñ⌐¡δ⌐ Σá⌐½ ¡Ñ ¡á⌐ñÑ¡');
- WriteLn('éóÑñ¿ΓÑ »αáó¿½∞¡«Ñ ¿¼∩ «óÑα½Ñ⌐¡«ú« Σá⌐½á:');
- ReadLn(OvrName);
- end;
- until OvrResult<>ovrNotFound;
- if OvrResult<>ovrOk then
- begin
- WriteLn('ÄΦ¿í¬á áñ¼¿¡¿ßΓαáΓ«αá «óÑα½ÑÑó.')
-
- B.Pascal 7 & Objects/LR - 340 -
-
- Halt(1);
- end;
- OvrInEMS;
- if OvrResult<>OvrOk then
- begin
- case OvrResult of
- ovrIOError: Write('ÄΦ¿í¬á óó«ñá-óδó«ñá',
- ' «óÑα½Ñ⌐¡«ú« Σá⌐½á');
- ovrNoEMSDriver: Write('äαá⌐óÑα EMS ¡Ñ',
- ' πßΓá¡«ó½Ñ¡');
- ovrNoEMSMemory: Write('ìÑ σóáΓáÑΓ αáßΦ¿αÑ¡¡«⌐',
- ' »á¼∩Γ¿');
- end;
- Write('. ì᪼¿ΓÑ ¬½áó¿Φπ Enter...');
- ReadLn;
- end;
- OvrSetBuf(OvrMaxSize);
- end;
-
- æ¡áτá½á, Ñß½¿ »α¿¡∩Γ«Ñ »« π¼«½τá¡¿ε ¿¼∩ «óÑα½Ñ⌐¡«ú« Σá⌐½á
- í佫 ¡ÑóÑα¡δ¼, »«½∞º«óáΓѽε íπñÑΓ óδó«ñ¿Γ∞ß∩ »«ñß¬áº¬á ¡á óóÑñÑ-
- ¡¿Ñ »αáó¿½∞¡«ú« ¿¼Ñ¡¿ Σá⌐½á.
-
- äá½ÑÑ »α«óÑα∩εΓß∩ ñαπú¿Ñ «Φ¿í¬¿, ¬«Γ«αδÑ ¼«úπΓ »α«¿º«⌐Γ¿ »α¿
- ¿¡¿µ¿á½¿ºáµ¿¿. é ß½πτáÑ «í¡áαπªÑ¡¿∩ «Φ¿í¬¿ »α«úαá¼¼á «ßΓá¡áó½¿óá-
- ÑΓß∩, Γᬠ¬á¬ «Φ¿í¬¿ ó OvrInit ∩ó½∩εΓß∩ ΣáΓá½∞¡δ¼¿. (àß½¿ «¡¿ ¿ú-
- ¡«α¿απεΓß∩, Γ« »α¿ »Ñαó«¼ «íαáΘÑ¡¿¿ ¬ «óÑα½Ñ⌐¡«⌐ »α«úαá¼¼Ñ ó«
- óαѼ∩ óδ»«½¡Ñ¡¿∩ »α«¿º«⌐ñÑΓ «Φ¿í¬á.)
-
- àß½¿ »αÑñ»«½«ª¿Γ∞, τΓ« ¿¡¿µ¿á½¿ºáµ¿∩ »α«σ«ñ¿Γ πß»ÑΦ¡«, ñá½ÑÑ
- ñ½∩ ºáúαπº¬¿ «óÑα½Ñ⌐¡«ú« Σá⌐½á ó αáßΦ¿αÑ¡¡πε »á¼∩Γ∞ (Ñß½¿ φΓ«
- 󫺼«ª¡«) óδ»«½¡∩ÑΓß∩ «íαáΘÑ¡¿Ñ ¬ »α«µÑñπαÑ OvrInitEMS. é ß½πτáÑ
- «Φ¿í¬¿ ¡á φ¬αá¡ óδó«ñ¿Γß∩ ñ¿áú¡«ßΓ¿τÑ߬«Ñ ß««íΘÑ¡¿Ñ, «ñ¡á¬« »α«ú-
- αá¼¼á ¡Ñ «ßΓá¡áó½¿óáÑΓß∩. é¼ÑßΓ« φΓ«ú« «¡á »α«ßΓ« »α«ñ«½ªáÑΓ ßτ¿-
- ΓδóáΓ∞ «óÑα½Ñ¿ ß ñ¿ß¬á.
-
- ìᬫ¡Ñµ, ñ½∩ ºáñá¡¿∩ º¡áτÑ¡¿∩ αẼÑαá «óÑα½Ñ⌐¡«ú« íπΣÑαá,
- «»αÑñѽѡ¡«ú« ß »«¼«Θ∞ε á¡á½¿ºá ¿½¿ φ¬ß»Ñα¿¼Ñ¡Γá ß ¬«¡¬αÑΓ¡«⌐
- »α¿¬½áñ¡«⌐ »α«úαá¼¼«⌐, óδºδóáÑΓß∩ »α«µÑñπαá OvrSetBuf. ÄΦ¿í¬¿,
- ¬«Γ«αδÑ ¼«úπΓ ó«º¡¿¬¡πΓ∞ »α¿ óδ»«½¡Ñ¡¿¿ ñá¡¡«⌐ »α«µÑñπαδ, ¿ú¡«α¿-
- απεΓß∩, σ«Γ∩ OvrResult ¼«ªÑΓ ó«ºóαáΘáΓ∞ ¬«ñ ó«ºóαáΓá »« «Φ¿í¬Ñ -3
- (OvrNoMemory). àß½¿ »á¼∩Γ¿ ¡Ññ«ßΓáΓ«τ¡«, »«ñß¿ßΓѼá π»αáó½Ñ¡¿∩
- «óÑα½Ñ∩¼¿ íπñÑΓ »α«ßΓ« »α«ñ«½ªáΓ∞ ¿ß»«½∞º«óáΓ∞ íπΣÑα ¼¿¡¿¼á½∞¡«ú«
- αẼÑαá, óδñѽѡ¡δ⌐ »α¿ ºá»π᪥ »α«úαá¼¼δ.
-
-
-
- B.Pascal 7 & Objects/LR - 341 -
-
- ÉáºñÑ½δ ¿¡¿µ¿á½¿ºáµ¿¿ ó «óÑα½Ñ⌐¡δσ ¼«ñπ½∩σ
- ─────────────────────────────────────────────────────────────────
-
- ǡὫú¿τ¡« ßΓáΓ¿τÑ߬¿¼ ¼«ñπ½∩¼ «óÑα½Ñ⌐¡δÑ ¼«ñ㫨 ¼«úπΓ ß«-
- ñÑαªáΓ∞ ßѬµ¿ε ¿¡¿µ¿á½¿ºáµ¿¿. ò«Γ∩ «óÑα½Ñ⌐¡δ⌐ ¬«ñ ¿¡¿µ¿á½¿ºáµ¿¿
- ¡Ñ «Γ½¿τáÑΓß∩ «Γ «íδτ¡«ú« ¬«ñá ¿¡¿µ¿á½¿ºáµ¿¿, áñ¼¿¡¿ßΓαáΓ«α «óÑα-
- ½ÑÑó ñ«½ªÑ¡ »Ñαó«¡áτá½∞¡« ¿¡¿µ¿á½¿º¿α«óáΓ∞ß∩ Γᬿ¼ «íαẫ¼, τΓ«íδ
- «¡ ¼«ú ºáúαπªáΓ∞ ¿ óδ»«½¡∩Γ∞ «óÑα½Ñ⌐¡δÑ ¼«ñπ½¿.
-
- éº∩ó ó ¬áτÑßΓóÑ »α¿¼Ñαá αá¡ÑÑ αáßß¼«ΓαÑ¡¡πε »α«úαá¼¼π
- Editor, »αÑñ»«½«ª¿¼, τΓ« ¼«ñ㫨 EdInOut ¿ EdMain ß«ñÑαªáΓ ¬«ñ
- ¿¡¿µ¿á½¿ºáµ¿¿. Åα¿ φΓ«¼ ΓαÑíπÑΓß∩, τΓ«íδ »α«µÑñπαá OvrInit óδºδ-
- óá½áß∞ »ÑαÑñ ¬«ñ«¼ ¿¡¿µ¿á½¿ºáµ¿¿ ¼«ñπ½∩ EdInOut, ¿ Ññ¿¡ßΓóÑ¡¡δ⌐
- ß»«ß«í «ßπΘÑßΓó¿Γ∞ φΓ« ß«ßΓ«¿Γ ó« óóÑñÑ¡¿¿ ñ«»«½¡¿Γѽ∞¡«ú« ¡Ñ«-
- óÑα½Ñ⌐¡«ú« ¼«ñπ½∩, ¬«Γ«αδ⌐ ß½ÑñπÑΓ »ÑαÑñ EdInOut ¿ óδºδóáÑΓ ó
- ßó«Ñ¼ αáºñÑ½Ñ ¿¡¿µ¿á½¿ºáµ¿¿ »α«µÑñπαπ OvrInit.
-
- unit EdInit;
- interface
- implementation
- uses Overlay;
- const
- OvrMaxSize = 80000;
- begin
- OvrInit('EDITOR.OVR');
- OvrInitEMS;
- OvrSetBuf(OvrMaxSize);
- end.
-
- é «»ÑαáΓ«αÑ uses »α«úαá¼¼δ ¼«ñπ½∞ EdInit ñ«½ªÑ¡ ß½Ññ«óáΓ∞
- »ÑαÑñ óßѼ¿ «óÑα½Ñ⌐¡δ¼¿ ¼«ñπ½∩¼¿:
-
- program Editor;
- {$F}
- uses
- Overlay,Crt,Dos,EdInit,EdInOut,EdFormat,EdPrint,EdMain;
- {$O EdInOut }
- {$O EdFormat }
- {$O EdPrint }
- {$O EdFind }
- {$O EdMain }
-
- é «íΘѼ ß½πτáÑ, σ«Γ∩ ¿ß»«½∞º«óá¡¿Ñ ¬«ñá ¿¡¿µ¿á½¿ºáµ¿¿ ó
- «óÑα½Ñ⌐¡δσ ¼«ñπ½∩σ ¿ ñ«»π߬áÑΓß∩, »« α∩ñπ »α¿τ¿¡ Ñú« ß½ÑñπÑΓ ¿º-
- íÑúáΓ∞.
-
- é«-»Ñαóδσ, ¬«ñ ¿¡¿µ¿á½¿ºáµ¿¿, ñáªÑ Ñß½¿ «¡ óδ»«½¡∩ÑΓß∩ Γ«½∞-
- ¬« «ñ¿¡ αáº, ∩ó½∩ÑΓß∩ τáßΓ∞ε «óÑα½Ñ∩ ¿ íπñÑΓ ºá¡¿¼áΓ∞ »α«ßΓαá¡ß-
- Γó« ó «óÑα½Ñ⌐¡«¼ íπΣÑαÑ »α¿ ¬áªñ«⌐ ºáúαπº¬Ñ «óÑα½Ñ∩. é«-óΓ«αδσ,
- Ñß½¿ í«½∞Φ«Ñ τ¿ß½« «óÑα½Ñ⌐¡δσ ¼«ñπ½Ñ⌐ ß«ñÑαªáΓ ¬«ñ ¿¡¿µ¿á½¿ºáµ¿¿,
- ¬áªñδ⌐ ¿º ¡¿σ »α¿ñÑΓß∩ ßτ¿ΓδóáΓ∞ ó »á¼∩Γ∞ »α¿ ºáúαπº¬Ñ »α«úαá¼¼δ.
-
- ìἡ«ú« í«½ÑÑ »α¿ó½Ñ¬áΓѽ∞¡δ⌐ »«ñσ«ñ ß«ßΓ«¿Γ ó Γ«¼, τΓ«íδ
-
- B.Pascal 7 & Objects/LR - 342 -
-
- ß«íαáΓ∞ óÑß∞ ¬«ñ ¿¡¿µ¿á½¿ºáµ¿¿ ó «óÑα½Ñ⌐¡δ⌐ ¼«ñπ½∞ ¿¡¿µ¿á½¿ºáµ¿¿,
- ¬«Γ«αδ⌐ óδºδóáÑΓß∩ Γ«½∞¬« «ñ¿¡ αẠ»α¿ ºáúαπº¬Ñ »α«úαá¼¼δ ¿ ¬ ¬«-
- Γ«α«¼π ºáΓѼ »α«úαá¼¼á ¡Ñ «íαáΘáÑΓß∩.
-
- ùΓ« ¡Ñ ñ«½ª¡« ¿ß»«½∞º«óáΓ∞ß∩ ó ¬áτÑßΓóÑ «óÑα½ÑÑó
- ─────────────────────────────────────────────────────────────────
-
- ÄΓñѽ∞¡δÑ ¼«ñ㫨 ¡Ñ ¼«úπΓ ¿ß»«½∞º«óáΓ∞ß∩, ¬á¬ «óÑα½Ñ⌐¡δÑ. é
- τáßΓ¡«ßΓ¿, ¡Ñ »δΓá⌐ΓÑß∞ ¿ß»«½∞º«óáΓ∞ ó ¬áτÑßΓóÑ «óÑα½Ñ⌐¡δσ ¼«ñπ-
- ½Ñ⌐ ß½ÑñπεΘ¿Ñ:
-
- 1. î«ñπ½¿, ߬«¼»¿½¿α«óá¡¡δÑ ß ñ¿αÑ¬Γ¿ó«⌐ {$O-}. àß½¿ óδ »δ-
- ΓáÑΓÑß∞ ¿ß»«½∞º«óáΓ∞ ¬á¬ «óÑα½Ñ⌐¡δ⌐ ¼«ñπ½∞, ¬«Γ«αδ⌐ ¡Ñ
- íδ½ ß¬«¼»¿½¿α«óá¡ ß ñ¿αÑ¬Γ¿ó«⌐ {$O+}, Γ« ¬«¼»¿½∩Γ«α óδ-
- ñáÑΓ ß««íΘÑ¡¿Ñ «í «Φ¿í¬Ñ. Æá¬¿¼¿ ¡Ñ«óÑα½Ñ⌐¡δ¼¿ ¼«ñπ½∩¼¿
- ∩ó½∩εΓß∩ ¼«ñ㫨 System, Overlay, Crt, Graph, Turbo3 ¿
- Graph3.
-
- 2. î«ñπ½¿, ¬«Γ«αδÑ ß«ñÑαªáΓ ñαá⌐óÑαδ »αÑαδóá¡¿⌐. êº-ºá Γ«-
- ú«, τΓ« ßá¼á «»Ñαᵿ«¡¡á∩ ß¿ßΓѼá DOS ¿¼ÑÑΓ ¡Ñ«óÑα½Ñ⌐¡πε
- ßΓαπ¬Γπαπ, ¼«ñπ½¿, αÑ὿ºπεΘ¿Ñ »α«µÑñπαδ »αÑαδóá¡¿⌐
- (interrupt), ¡Ñ ñ«½ª¡δ íδΓ∞ «óÑα½Ñ⌐¡δ¼¿. é ¬áτÑßΓóÑ »α¿-
- ¼Ñαá Γᬫú« ¼«ñπ½∩ ¼«ª¡« »α¿óÑßΓ¿ ßΓá¡ñáαΓ¡δ⌐ ¼«ñπ½∞
- Crt, αÑ὿ºπεΘ¿⌐ ñαá⌐óÑα «íαáí«Γ¬¿ »αÑαδóá¡¿∩, 󫺡¿¬áε-
- ΘÑú« »α¿ ¡áªáΓ¿¿ ¬½áó¿Φ Ctrl+Break.
-
- 3. äαá⌐óÑαδ BGI ¿½¿ Φα¿ΣΓδ, ºáαÑú¿ßΓα¿α«óá¡¡δÑ ß »«¼«Θ∞ε
- ó맮óá »«ñ»α«úαá¼¼ RegisterBGIdriver ¿½¿
- RegisterBGIfont.
-
- Çñ¼¿¡¿ßΓαáΓ«α«¼ «óÑα½ÑÑó Borland Pascal »«½¡«ßΓ∞ε »«ññÑন-
- óáÑΓß∩ ó맮ó «óÑα½Ñ⌐¡δσ »α«µÑñπα ß »«¼«Θ∞ε π¬áºáΓѽÑ⌐ »α«µÑñπα. é
- ¬áτÑßΓóÑ »α¿¼Ñα«ó ¿ß»«½∞º«óá¡¿∩ π¬áºáΓѽÑ⌐ »α«µÑñπα ¼«ª¡« »α¿óÑß-
- Γ¿ »α«µÑñπαδ ºáóÑαΦÑ¡¿∩ ¿ ñαá⌐óÑαδ πßΓα«⌐ßΓó ñ½∩ ΓѬßΓ«óδσ Σá⌐-
- ½«ó.
-
- ǡὫú¿τ¡«, »«½¡«ßΓ∞ε »«ññÑনóáÑΓß∩ »ÑαÑñáτá «óÑα½Ñ⌐¡δσ
- »α«µÑñπα ¿ Σπ¡¬µ¿⌐ ó ¬áτÑßΓóÑ »áαá¼ÑΓα«ó »α«µÑñπα¡«ú« Γ¿»á ¿
- »α¿ßóá¿óá¡¿Ñ «óÑα½Ñ⌐¡δσ »α«µÑñπα ¿ Σπ¡¬µ¿⌐ »ÑαѼѡ¡δ¼ »α«µÑñπα¡«-
- ú« Γ¿»á.
-
-
-
- B.Pascal 7 & Objects/LR - 343 -
-
- ÄΓ½áñ¬á «óÑα½ÑÑó
- ─────────────────────────────────────────────────────────────────
-
- ü«½∞Φ¿¡ßΓó« «Γ½áñτ¿¬«ó «í½áñáεΓ óÑß∞¼á «úαá¡¿τÑ¡¡δ¼¿ 󫺼«ª-
- ¡«ßΓ∩¼¿ «Γ½áñ¬¿ «óÑα½ÑÑó, Ñß½¿ «¡¿ ó««íΘÑ «í½áñáεΓ Γᬿ¼¿ ßαÑñß-
- ΓóἿ. ¥Γ«ú« ¡Ñ½∞º∩ ߬áºáΓ∞ « Borland Pascal ¿ Æπαí« «Γ½áñτ¿¬Ñ
- (Turbo Debugger). éßΓα«Ñ¡¡δ⌐ «Γ½áñτ¿¬ »«½¡«ßΓ∞ε »«ññÑনóáÑΓ »α¿
- αáí«ΓÑ ß «óÑα½Ñ∩¼¿ »«Φáú«óδ⌐ αѪ¿¼ ¿ Γ«τ¬¿ «ßΓá¡«óá, ¿ß»«½∞ºπ∩
- »α¿ φΓ«¼ ¼ÑΓ«ñ, »«½¡«ßΓ∞ε »α«ºαáτ¡δ⌐ ñ½∩ »«½∞º«óáΓѽ∩. æ »«¼«Θ∞ε
- «óÑα½ÑÑó óδ ½Ñú¬« ¼«ªÑΓÑ ¬«¡ßΓαπ¿α«óáΓ∞ ¿ «Γ½áª¿óáΓ∞ »α¿¬½áñ¡δÑ
- »á¬ÑΓδ í«½∞Φ«ú« «íΩѼá. éßÑ φΓ« ¼«ª¡« ñѽáΓ∞ ¬á¬ ß »«¼«Θ∞ε Æπαí«
- «Γ½áñτ¿¬á, Γᬠ¿ ¿º ¿¡ΓÑαá¬Γ¿ó¡«⌐ ßαÑñδ ¬«¼»¿½∩Γ«αá IDE.
-
-
- é¡ÑΦ¡¿Ñ »α«úαá¼¼δ ó «óÑα½Ñ∩σ
- ─────────────────────────────────────────────────────────────────
-
- ǡὫú¿τ¡« «íδτ¡δ¼ »α«µÑñπαá¼ ¿ Σπ¡¬µ¿∩¼ Borland Pascal »α¿
- ¿ß»«½∞º«óá¡¿¿ ó¡ÑΦ¡¿σ »α«úαá¼¼ ¡á ∩ºδ¬Ñ áßßѼí½Ñαá ñ½∩ «íÑß»ÑτÑ-
- ¡¿∩ ¬«ααÑ¬Γ¡«⌐ αáí«Γδ »«ñß¿ßΓѼδ π»αáó½Ñ¡¿∩ «óÑα½Ñ∩¼¿ ñ«½ª¡δ ß«í-
- ½εñáΓ∞ß∩ «»αÑñѽѡ¡δÑ »αáó¿½á »α«úαá¼¼¿α«óá¡¿∩.
-
- àß½¿ ó »α«úαá¼¼Ñ ¡á ∩ºδ¬Ñ áßßѼí½Ñαá «ßπΘÑßΓó½∩ÑΓß∩ «íαáΘÑ-
- ¡¿Ñ ¬ ½εí«⌐ «óÑα½Ñ⌐¡«⌐ »α«µÑñπαÑ ¿½¿ Σπ¡¬µ¿¿, Γ« ó »α«úαá¼¼Ñ áß-
- ßѼí½Ñαá ñ«½ªÑ¡ ¿ß»«½∞º«óáΓ∞ß∩ ñá½∞¡¿⌐ Γ¿» ó맮óá, ¿ ß »«¼«Θ∞ε
- αÑú¿ßΓαá BP ñ«½ª¡δ íδΓ∞ πßΓá¡«ó½Ñ¡δ úαá¡¿µδ ßΓѬá. ìá»α¿¼Ñα,
- »αÑñ»«½«ª¿¼, τΓ« OtherProc ∩ó½∩ÑΓß∩ «óÑα½Ñ⌐¡«⌐ »α«µÑñπα«⌐ ó ñαπ-
- ú«¼ ¼«ñπ½Ñ ¿ ÑÑ óδºδóáÑΓ »α«úαá¼¼á ExternProc ¡á ∩ºδ¬Ñ áßßѼí½Ñ-
- αá. Æ«úñá »α«úαá¼¼á ExternProc ñ«½ª¡á ¿¼ÑΓ∞ ñá½∞¡¿⌐ Γ¿» ó맮óá ¿
- πßΓá¡áó½¿óáΓ∞ úαá¡¿µδ ßΓѬá ß½ÑñπεΘ¿¼ «íαẫ¼:
-
- ExternProc PROC FAR
- PUSH bp ; ß«σαá¡¿Γ∞ αÑú¿ßΓα éÉ
- mov bp,sp ; πßΓá¡«ó¿Γ∞ úαá¡¿µδ ßΓѬá
- SUB sp,LocalSize ; óδñѽ¿Γ∞ ½«¬á½∞¡δÑ
- ; »ÑαѼѡ¡δÑ
- ...
- CALL OtherProc ; óδºóáΓ∞ ñαπú«⌐ «óÑα½Ñ⌐¡δ⌐
- ; ¼«ñπ½∞
- ...
- mov sp,bp ; «Γ¼Ñ¡¿Γ∞ ½«¬á½∞¡δÑ »ÑαѼѡ¡δÑ
- pop bp ; ó«ßßΓá¡«ó¿Γ∞ αÑú¿ßΓα éÉ
- RET ParamSize ; ó«ºóαáΓ π»αáó½Ñ¡¿∩
- ExternProc ENDP
-
- úñÑ LocalSize »αÑñßΓáó½∩ÑΓ ß«í«⌐ αẼÑα ½«¬á½∞¡δσ »ÑαѼѡ¡δσ, á
- ParamSize - αẼÑα »áαá¼ÑΓα«ó. àß½¿ º¡áτÑ¡¿Ñ LocalSize αáó¡« 0,
- Γ« ñóÑ ßΓ᫬¿, ó ¬«Γ«αδσ óδñѽ∩εΓß∩ ¿ π¡¿τΓ«ªáεΓß∩ ½«¬á½∞¡δÑ »Ñ-
- αѼѡ¡δÑ, ¼«ª¡« «»πßΓ¿Γ∞.
-
- àß½¿ ó »α«úαá¼¼Ñ ExternProc ¿¼ÑεΓß∩ ¬«ßóÑ¡¡δÑ ßß佬¿ ¡á
- «óÑα½Ñ⌐¡δÑ »α«µÑñπαδ ¿ Σπ¡¬µ¿¿, Γ« φΓ¿ ΓαÑí«óá¡¿∩ «ßΓáεΓß∩ ΓѼ¿
- ªÑ. ìá»α¿¼Ñα, Ñß½¿ »α«µÑñπαá OtherProc óδºδóáÑΓ «óÑα½Ñ⌐¡δÑ »α«µÑ-
-
- B.Pascal 7 & Objects/LR - 344 -
-
- ñπαδ ¿½¿ Σπ¡¬µ¿¿, ¡« ßá¼á ¡Ñ ∩ó½∩ÑΓß∩ «óÑα½Ñ⌐¡«⌐, Γ« »α«úαá¼¼á
- ExternProc ñ«½ª¡á, ΓѼ ¡Ñ ¼Ñ¡ÑÑ, ¿¼ÑΓ∞ ñá½∞¡¿⌐ Γ¿» ó맮óá ¿ πßΓá-
- ¡áó½¿óáΓ∞ úαá¡¿µδ ßΓѬá.
-
- é Γ«¼ ß½πτáÑ, Ñß½¿ ó »α«úαá¼¼Ñ ¡á ∩ºδ¬Ñ áßßѼí½Ñαá «ΓßπΓß-
- ΓóπεΓ »α∩¼δÑ ¿½¿ ¬«ßóÑ¡¡δÑ ßß佬¿ ¡á «óÑα½Ñ⌐¡δÑ »α«µÑñπαδ ¿½¿
- Σπ¡¬µ¿¿, Γ« ¡¿¬á¬¿σ ߻ѵ¿á½∞¡δσ ΓαÑí«óá¡¿⌐ ß«í½εñáΓ∞ß∩ ¡Ñ ñ«½ª¡«:
- »α«úαá¼¼á áßßѼí½ÑαÑ ¼«ªÑΓ ¿ß»«½∞º«óáΓ∞ í½¿ª¡¿⌐ Γ¿» ó맮óá ¿ ¡Ñ
- πßΓá¡áó½¿óáΓ∞ úαá¡¿µ ßΓѬá.
-
- ÄóÑα½Ñ⌐¡δÑ »α«úαá¼¼δ ¡á ∩ºδ¬Ñ áßßѼí½Ñαá ¡Ñ ñ«½ª¡δ ß«ºñáóáΓ∞
- »ÑαѼѡ¡δσ ó ßÑú¼Ñ¡ΓÑ ¬«ñá, »«ß¬«½∞¬π »α¿ «ßó«í«ªñÑ¡¿¿ «óÑα½Ñ∩
- ½εíδÑ ¿º¼Ñ¡Ñ¡¿∩, ó¡ÑßÑ¡¡δÑ ó «óÑα½Ñ⌐¡δ⌐ ßÑú¼Ñ¡Γ ¬«ñá, ΓÑα∩εΓß∩.
- ǡὫú¿τ¡«, ¡Ñ ß½ÑñπÑΓ ßτ¿ΓáΓ∞, τΓ« π¬áºáΓѽ¿ ¡á αẼÑΘÑ¡¡δÑ ó
- «óÑα½Ñ⌐¡«¼ ßÑú¼Ñ¡ΓÑ ¬«ñá «íΩѬΓδ «ßΓá¡πΓß∩ ñÑ⌐ßΓó¿Γѽ∞¡δ¼¿ »α¿
- ó맮óÑ ñαπú¿σ «óÑα½ÑÑó, »«ß¬«½∞¬π »«ñß¿ßΓѼá π»αáó½Ñ¡¿∩ «óÑα½Ñ∩¼¿
- ¼«ªÑΓ ßó«í«ñ¡« »ÑαѼÑΘáΓ∞ ¿ «ßó«í«ªñáΓ∞ «óÑα½Ñ⌐¡δÑ ßÑú¼Ñ¡Γδ ¬«ñá.
-
-
-
- B.Pascal 7 & Objects/LR - 345 -
-
- çáñá¡¿Ñ Σπ¡¬µ¿¿ τΓÑ¡¿∩ «óÑα½Ñ∩
- ─────────────────────────────────────────────────────────────────
-
- ÅÑαѼѡ¡á∩ OvrReadBuf »«ºó«½∩ÑΓ óá¼ »ÑαÑσóáΓδóáΓ∞ «»Ñαᵿ¿
- ºáúαπº¬¿ «óÑα½ÑÑó. ìá»α¿¼Ñα, óδ ¼«ªÑΓÑ αÑ὿º«óáΓ∞ «íαáí«Γ¬π «Φ¿-
- í«¬ ¿½¿ »α«óÑα¬π ¡á½¿τ¿∩ ߼ѡ¡«ú« ñ¿ß¬á. è«úñá áñ¼¿¡¿ßΓαáΓ«απ
- «óÑα½ÑÑó ΓαÑíπÑΓß∩ ßτ¿ΓáΓ∞ «óÑα½Ñ⌐, «¡ óδºδóáÑΓ Σπ¡¬µ¿ε, áñαÑß
- ¬«Γ«α«⌐ ºá»¿ßá¡ ó OverReadBuf. àß½¿ Σπ¡¬µ¿∩ ó«ºóαáΘáÑΓ ¡π½Ñó«Ñ
- º¡áτÑ¡¿Ñ, Γ« áñ¼¿¡¿ßΓαáΓ«α «óÑα½ÑÑó »αÑñ»«½áúáÑΓ, τΓ« «»Ñαᵿ∩
- íδ½á πß»ÑΦ¡«⌐. àß½¿ Σπ¡¬µ¿∩ ó«ºóαáΘáÑΓ ¡Ñ¡π½Ñó«⌐ αѺπ½∞ΓáΓ, Γ«
- ¬«¼»¿½∩Γ«α úÑ¡Ñα¿απÑΓ «Φ¿í¬π φΓá»á óδ»«½¡Ñ¡¿∩ 209. Åáαá¼ÑΓα
- OvrSeg π¬áºδóáÑΓ, ¬á¬«⌐ ¿¼Ñ¡¡« «óÑα½Ñ⌐ ΓαÑíπÑΓß∩ ºáúαπº¿Γ∞, ¡«,
- ¬á¬ óδ ñá½ÑÑ πó¿ñ¿ΓÑ, óá¼ φΓá ¿¡Σ«α¼áµ¿∩ ¡Ñ »«ΓαÑíπÑΓß∩.
-
- ùΓ«íδ πßΓá¡«ó¿Γ∞ ßó«ε ß«íßΓóÑ¡¡πε Σπ¡¬µ¿ε τΓÑ¡¿∩ «óÑα½Ñ∩,
- óá¼ ¡πª¡« ß¡áτá½á ß«σαá¡¿Γ∞ »αÑñδñπΘÑÑ º¡áτÑ¡¿Ñ OvrReadBuf ó »Ñ-
- αѼѡ¡«⌐ Γ¿»á OvrReadFunc, á ºáΓѼ »α¿ßó«¿Γ∞ OvrReadBuf óáΦπ
- Σπ¡¬µ¿ε τΓÑ¡¿∩ «óÑα½Ñ∩. é ßó«Ñ⌐ Σπ¡¬µ¿¿ τΓÑ¡¿∩ óá¼ ß½ÑñπÑΓ ñ½∩
- óδ»«½¡Ñ¡¿∩ Σá¬Γ¿τÑ߬«⌐ «»Ñαᵿ¿ ºáúαπº¬¿ óδºóáΓ∞ ß«σαá¡Ñ¡¡πε
- Σπ¡¬µ¿ε τΓÑ¡¿∩ «óÑα½Ñ∩. ïεíδÑ ¡πª¡δÑ óá¼ »α«óÑન ñ«»πßΓ¿¼«ßΓ¿
- (Γá¬¿Ñ ¬á¬ »α«óÑα¬á ¡á½¿τ¿∩ ߼ѡ¡«ú« ñ¿ß¬á) ß½ÑñπÑΓ óδ»«½¡∩Γ∞ »Ñ-
- αÑñ óδº«ó«¼ ß«σαá¡Ñ¡¡«⌐ Σπ¡¬µ¿¿ τΓÑ¡¿∩, á óßÑ »α«óÑન ¡á «Φ¿í¬¿
- ß½ÑñπÑΓ óδ»«½¡∩Γ∞ »«ß½Ñ ó맮óá.
-
- Åα¿¼Ñτá¡¿Ñ: ìÑ »δΓá⌐ΓÑß∞ óδºδóáΓ∞ ¿º ßó«Ñ⌐ Σπ¡¬µ¿¿
- τΓÑ¡¿∩ «óÑα½Ñ∩ ¬á¬¿Ñ-½¿í« «óÑα½Ñ⌐¡δÑ »«ñ»α«úαá¼¼δ - φΓ«
- »α¿óÑñÑΓ ¬ ßí«ε ß¿ßΓѼδ.
-
- è«ñ ñ½∩ πßΓá¡«ó¬¿ Σπ¡¬µ¿¿ τΓÑ¡¿∩ «óÑα½Ñ∩ ñ«½ªÑ¡ ß½Ññ«óáΓ∞
- ¡Ñ»«ßαÑñßΓóÑ¡¡« »«ß½Ñ ó맮óá OvrInit; ó φëà ¼«¼Ñ¡Γ OvrReadBuf
- íπñÑΓ ß«ñÑαªáΓ∞ áñαÑß ¿ß»«½∞ºπѼ«⌐ »« π¼«½τá¡¿ε Σπ¡¬µ¿¿ τΓÑ¡¿∩ ß
- ñ¿ß¬á.
-
- àß½¿ óδ Γá¬ªÑ óδºδóáÑΓÑ OvrInitEMS, «¡á ¿ß»«½∞ºπÑΓ óáΦπ
- Σπ¡¬µ¿ε τΓÑ¡¿∩ ñ½∩ τΓÑ¡¿∩ «óÑα½ÑÑó ß ñ¿ß¬á ó »á¼∩Γ∞ EMS, ¿ ó ß½π-
- τáÑ «ΓßπΓßΓó¿∩ «Φ¿í«¬ ß«σαá¡∩ÑΓ áñαÑß ¿ß»«½∞ºπѼ«⌐ »« π¼«½τá¡¿ε
- Σπ¡¬µ¿¿ τΓÑ¡¿∩ ó EMS ó OvrReadBuf. àß½¿ óδ σ«Γ¿ΓÑ Γá¬ªÑ »ÑαÑ«»αÑ-
- ñѽ¿Γ∞ Σπ¡¬µ¿ε τΓÑ¡¿∩ ó EMS, »α«ßΓ« »«óΓ«α¿ΓÑ »«ß½Ñ ó맮óá
- OvrInitEMS »α«µÑßß πßΓá¡«ó¬¿.
-
- êß»«½∞ºπѼá∩ »« π¼«½τá¡¿ε Σπ¡¬µ¿∩ τΓÑ¡¿∩ ß ñ¿ß¬á ó ß½πτáÑ
- πß»ÑΦ¡«ú« óδ»«½¡Ñ¡¿∩ ó«ºóαáΘáÑΓ 0. é »α«Γ¿ó¡«¼ ß½πτáÑ ó«ºóαáΘáÑΓ-
- ß∩ ¬«ñ «Φ¿í¬¿ DOS. ǡὫú¿τ¡«, ¿ß»«½∞ºπѼá∩ »« π¼«½τá¡¿ε Σπ¡¬µ¿∩
- τΓÑ¡¿∩ ¿º EMS ó ß½πτáÑ πß»ÑΦ¡«ú« óδ»«½¡Ñ¡¿∩ ó«ºóαáΘáÑΓ 0. é »α«-
- Γ¿ó¡«¼ ß½πτáÑ ó«ºóαáΘáÑΓß∩ ¬«ñ «Φ¿í¬¿ EMS («Γ $80 ñ« $FF). Å«ñ-
- α«í¡« ¬«ñδ «Φ¿í«¬ DOS «»¿ßδóáεΓß∩ ó "æ»αáó«τ¡«¼ απ¬«ó«ñßΓóÑ »α«ú-
- αá¼¼¿ßΓá". è«ñδ «Φ¿í«¬ EMS ¼«ª¡« ¡á⌐Γ¿ ó ñ«¬π¼Ñ¡Γᵿ¿ »« EMS.
-
- æ½ÑñπεΘ¿⌐ Σαáú¼Ñ¡Γ »α«úαá¼¼δ »«¬áºδóáÑΓ, ¬á¬ ¡á»¿ßáΓ∞ ¿ πß-
- Γá¡«ó¿Γ∞ Σπ¡¬µ¿ε τΓÑ¡¿∩ «óÑα½Ñ∩. ì«óá∩ Σπ¡¬µ¿∩ τΓÑ¡¿∩ «óÑα½Ñ∩
- »«óΓ«α¡« óδºδóáÑΓ ß«σαá¡Ñ¡¡δÑ Σπ¡¬µ¿¿ τΓÑ¡¿∩ «óÑα½Ñ∩, »«¬á ¡Ñ
- 󫺡¿¬áÑΓ «Φ¿í¬á.
-
-
- B.Pascal 7 & Objects/LR - 346 -
-
- éßÑ «Φ¿í¬¿ »ÑαÑñáεΓß∩ »α«µÑñπαá¼ DOSError ¿½¿ EMSError (¬«-
- Γ«αδÑ ºñÑß∞ ¡Ñ »«¬áºá¡δ), ¬«Γ«αδÑ ¼«úπΓ óδóÑßΓ¿ «Φ¿í¬π »«½∞º«óá-
- Γѽε. çá¼ÑΓ¿¼, τΓ« »áαá¼ÑΓα OvrSeg »α«ßΓ« »ÑαÑñáÑΓß∩ ß«σαá¡Ñ¡¡«⌐
- Σπ¡¬µ¿¿ τΓÑ¡¿∩ «óÑα½Ñ∩ ¿ ¡Ñ «íαáíáΓδóáÑΓß∩ ¡Ñ»«ßαÑñßΓóÑ¡¡« ¡«ó«⌐
- Σπ¡¬µ¿Ñ⌐ τΓÑ¡¿∩ «óÑα½Ñ∩.
-
- uses Overlay;
- var
- SaveOvrRead: OvrReadFunc;
- UsingEMS: Boolean;
-
- function MyOvrRead(OvrSeg: Word): Integer: far;
- var
- E: Integer;
- begin
- repeat
- E := SaveOvrRead(OvrSeg);
- if E <> 0 then
- if UsingEMS then
- EMSError(E) else DOSError(E);
- until E = 0;
- MyOvrRead := 0;
- end;
-
- begin
- OvrInit('MYPROG.OVR');
- SaveOvrRead := OvrReadBuf; { ß«σαá¡¿Γ∞ }
- OvrReadBuf := MyOvrRead; { πßΓá¡«ó¿Γ∞ ßó«ε }
- UsingEMS := False;
- OvrInitEMS;
- if OvrResult = OvrOK then
- begin
- SaveOvrRead := OvrReadBuf { ß«σαá¡Ñ¡¿Ñ }
- OvrReadBuf := MyOvrRead; { πßΓá¡«ó¿Γ∞ ßó«ε }
- UsingEMS := True;
- end;
- .
- .
- .
- end.
-
-
-
- B.Pascal 7 & Objects/LR - 347 -
-
- ÄóÑα½Ñ¿ ó Σá⌐½áσ .EXE
- ─────────────────────────────────────────────────────────────────
-
- Borland Pascal Γá¬ªÑ »«ºó«½∩ÑΓ óá¼ ºá»¿ßδóáΓ∞ «óÑα½Ñ¿ ó ¬«-
- ¡Ñµ óδ»«½¡∩Ѽ«ú« Σá⌐½á .EXE »α¿¬½áñ¡«⌐ »α«úαá¼¼δ, á ¡Ñ ó «Γñѽ∞-
- ¡δ⌐ Σá⌐½ .OVR. ùΓ«íδ »α¿ß«Ññ¿¡¿Γ∞ Σá⌐½ .OVR ¬ ¬«¡µπ Σá⌐½á .EXE,
- ¿ß»«½∞ºπ⌐ΓÑ ¬«¼á¡ñπ DOS COPY ß »áαá¼ÑΓα«¼ ¬«¼á¡ñ¡«⌐ ßΓ᫬¿ /B,
- ¡á»α¿¼Ñα:
-
- COPY/B MYPROG.EXE + MYPROG.OVR
-
- éδ ñ«½ª¡δ πíÑñ¿Γ∞ß∩, τΓ« Σá⌐½ .EXE ¬«¼»¿½¿α«óá½ß∩ íѺ ó¬½ε-
- τÑ¡¿∩ ó ¡Ñú« ¿¡Σ«α¼áµ¿¿ ñ½∩ «Γ½áñ¬¿. Æá¬¿¼ «íαẫ¼, ó ¿¡ΓÑúα¿α«-
- óá¡¡«⌐ ¿¡ΓÑαá¬Γ¿ó¡«⌐ ßαÑñÑ IDE ó ¼Ñ¡ε Options│Compiler (Åáαá¼ÑΓ-
- αδ│諼»¿½∩Γ«α) »α«óÑα∞ΓÑ »áαá¼ÑΓα Standalone (ÇóΓ«¡«¼¡á∩ «Γ½áñ-
- ¬á). Åα¿ ¿ß»«½∞º«óá¡¿¿ ¬«¼»¿½∩Γ«αá, αáí«ΓáεΘÑú« ß ¬«¼á¡ñ¡«⌐ ßΓα«-
- ¬«⌐, π¬áª¿ΓÑ »áαá¼ÑΓα /V.
-
- ä½∩ τΓÑ¡¿∩ «óÑα½Ñ∩ ¡Ñ ¿º «Γñѽ∞¡«ú« Σá⌐½á .OVR, á ¿º ¬«¡µá
- Σá⌐½á .EXE »α«ßΓ« ºáñá⌐ΓÑ »α¿ ó맮óÑ OvrInit ¿¼∩ Σá⌐½á .EXE. àß½¿
- óδ αáí«ΓáÑΓÑ »«ñ π»αáó½Ñ¡¿Ñ¼ DOS óÑαß¿¿ 3.σ, Γ« ¼«ªÑΓÑ ¿ß»«½∞º«-
- óáΓ∞ ñ½∩ »«½πτÑ¡¿∩ ¿¼Ñ¡¿ Σá⌐½á .EXE ßΓá¡ñáαΓ¡πε Σπ¡¬µ¿ε ParamStr,
- ¡á»α¿¼Ñα:
-
- OvrInit(ParamStr(0));
-
-
-
- B.Pascal 7 & Objects/LR - 348 -
-
- ───────────────────────────────────────────────────────────────────────
- ùáßΓ∞ III. é ßαÑñÑ Borland Pascal
- ─────────────────────────────────────────────────────────────────
-
-
- â½áóá 21. êß»«½∞º«óá¡¿Ñ »á¼∩Γ¿
- ─────────────────────────────────────────────────────────────────
-
- é ñá¡¡«⌐ ú½áóÑ «»¿ßδóáÑΓß∩, ¬á¬ »α«úαá¼¼δ Borland Pascal ¿ß-
- »«½∞ºπεΓ »á¼∩Γ∞. Borland Pascal ¼«ªÑΓ ß«ºñáóáΓ∞ »α¿¬½áñ¡δÑ »α«ú-
- αá¼¼δ ñ½∩ αÑá½∞¡«ú« αѪ¿¼á DOS, ºáΘ¿ΘÑ¡¡«ú« αѪ¿¼á DOS, ¿
- Windows; ó ¬áªñ«¼ Γ¿»Ñ »α¿¬½áñ¡«⌐ »α«úαá¼¼δ »á¼∩Γ∞ ¿ß»«½∞ºπÑΓß∩
- »«-αạ«¼π. é ñá¡¡«⌐ ú½áóÑ »«∩ß¡∩ÑΓß∩, ¬á¬ ¿ß»«½∞ºπÑΓ »á¼∩Γ∞ ¬áª-
- ñδ⌐ ¿º φΓ¿σ Γ¿»«ó »α«úαá¼¼. îδ αáßß¼«Γα¿¼ Γá¬ªÑ ó¡πΓαÑ¡¡¿Ñ Σ«α¼á-
- Γδ ñá¡¡δσ, »«ñß¿ßΓѼπ π»αáó½Ñ¡¿∩ ñ¿¡á¼¿τÑ߬¿ αáß»αÑñѽ∩Ѽ«⌐ «í-
- ½áßΓ∞ε »á¼∩Γ¿ ¿ »α∩¼«⌐ ñ«ßΓπ» ¬ »á¼∩Γ¿.
-
- êß»«½∞º«óá¡¿Ñ »á¼∩Γ¿ »α«úαἼἿ αÑá½∞¡«ú« αѪ¿¼á DOS
- ─────────────────────────────────────────────────────────────────
-
- ìá É¿ß. 21.1 »α¿óÑñÑ¡á ßσѼá αáß»αÑñѽѡ¿∩ »á¼∩Γ¿ »α«úαá¼¼δ
- Borland Pascal, ñ½∩ αÑá½∞¡«ú« αѪ¿¼á DOS.
-
- ÅαÑΣ¿¬ß »α«úαá¼¼¡«ú« ßÑú¼Ñ¡Γá (PSP) - φΓ« «í½áßΓ∞ ñ½¿¡«⌐ 256
- íá⌐Γ, ¬«Γ«αá∩ ßΓα«¿Γß∩ «»Ñαᵿ«¡¡«⌐ ß¿ßΓѼ«⌐ DOS »α¿ ºáúαπº¬Ñ
- Σá⌐½á .EXE. ÇñαÑß PSP ß«σαá¡∩ÑΓß∩ ó »αÑñ«»¿ßá¡¡«⌐ »ÑαѼѡ¡«⌐
- Borland Pascal ñ½¿¡«⌐ ó ß½«ó« ß ¿¼Ñ¡Ñ¼ PrefixSeg.
-
- èáªñ«⌐ »α«úαá¼¼Ñ (¬«Γ«αá∩ ó¬½ετáÑΓ ó ßÑí∩ «ß¡«ó¡πε »α«úαá¼¼π
- ¿ ¬áªñδ⌐ ¼«ñπ½∞) ß««ΓóÑΓßΓóπÑΓ ßÑú¼Ñ¡Γ ÑÑ ¬«ñá. Äß¡«ó¡á∩ »α«úαá¼-
- ¼á ºá¡¿¼áÑΓ »Ñαóδ⌐ ßÑú¼Ñ¡Γ ¬«ñá. æ½ÑñπεΘ¿Ñ ßÑú¼Ñ¡Γδ ¬«ñá ºá¡∩Γδ
- ¼«ñπ½∩¼¿ (ó »«α∩ñ¬Ñ, «íαáΓ¡«¼ Γ«¼π, ó ¬«Γ«α«¼ «¡¿ π¬áºá¡δ ó «»Ñ-
- αáΓ«αÑ uses). ū߽Ññ¡¿⌐ ßÑú¼Ñ¡Γ ¬«ñá ºá¡∩Γ í¿í½¿«ΓѬ«⌐ ¿ß»«½¡∩ε-
- ΘÑ⌐ ß¿ßΓѼδ (¼«ñπ½∞ System). ÉẼÑα «Γñѽ∞¡«ú« ßÑú¼Ñ¡Γá ¡Ñ ¼«ªÑΓ
- »αÑóδΦáΓ∞ 64è, «ñ¡á¬« «íΘ¿⌐ αẼÑα ¬«ñá «úαá¡¿τÑ¡ Γ«½∞¬« «íΩѼ«¼
- ¿¼ÑεΘÑ⌐ß∩ »á¼∩Γ¿.
-
-
- B.Pascal 7 & Objects/LR - 349 -
-
-
- éÑασ¡∩∩ úαá¡¿µá »á¼∩Γ¿ DOS
- HeapEnd ──>┌────────────────────────────┐
- │ │
- │ ßó«í«ñ¡á∩ »á¼∩Γ∞ │
- │ │
- HeapPtr ──>│............................│
- │ ñ¿¡á¼¿τÑ߬¿ αáß»αÑñѽ∩Ѽá∩ │
- │ «í½áßΓ∞ »á¼∩Γ¿ │
- │ (αáßΓÑΓ óóÑασ) ^ │
- HeapOrg ──>├────────────────────────────┤<── OvrHeapEnd
- │ «óÑα½Ñ⌐¡δ⌐ íπΣÑα │
- ├────────────────────────────┤<── OvrHeapOrg
- │ ßΓѬ (αáßΓÑΓ ó¡¿º) v │
- SSeg:SPtr ──>│............................│
- │ ßó«í«ñ¡δ⌐ ßΓѬ │
- SSeg:0000 ──>├────────────────────────────┤
- │ ú½«íá½∞¡δÑ »ÑαѼѡ¡δÑ │
- │............................│<───────┐
- │ Γ¿»¿º¿α«óá¡¡δÑ ¬«¡ßΓá¡Γδ │ │
- DSeg:0000 ──>├────────────────────────────┤ │
- │ ¬«ñ«óδ⌐ ßÑú¼Ñ¡Γ │ │
- │ ¼«ñπ½∩ System │ │
- │............................│ │
- │ ¬«ñ«óδ⌐ ßÑú¼Ñ¡Γ │ │
- │ »Ñαó«ú« ¼«ñπ½∩ │ │
- │............................│ │
- └────────────────────────────┘ ß«ñÑন¼«Ñ
- . ¬«ñ«óδ⌐ ßÑú¼Ñ¡Γ . «íαáºá
- . ñαπú¿σ ¼«ñπ½Ñ⌐ . Σá⌐½á .EXE
- ┌────────────────────────────┐ │
- │............................│ │
- │ ¬«ñ«óδ⌐ ßÑú¼Ñ¡Γ │ │
- │ »«ß½Ññ¡Ñú« ¼«ñπ½∩ │ │
- ├────────────────────────────┤ │
- │ ¬«ñ«óδ⌐ ßÑú¼Ñ¡Γ │ │
- │ ú½áó¡«⌐ »α«úαá¼¼δ │ │
- ├────────────────────────────┤<───────┘
- │ »αÑΣ¿¬ß ßÑú¼Ñ¡Γá »α«úαá¼¼δ │
- │ (PSP) │
- PrefixSeg ──>└────────────────────────────┘
-
- É¿ß. 21.1 æσÑ¼á »á¼∩Γ¿ ñ½∩ »α«úαá¼¼δ αÑá½∞¡«ú« αѪ¿¼á DOS.
-
- æÑú¼Ñ¡Γ ñá¡¡δσ (áñαÑßπѼδ⌐ τÑαѺ αÑú¿ßΓα DS) ß«ñÑαª¿Γ óßÑ
- Γ¿»¿º¿α«óá¡¡δÑ ¬«¡ßΓá¡Γδ, ºá ¬«Γ«α묨 ß½ÑñπεΓ óßÑ ú½«íá½∞¡δÑ »Ñ-
- αѼѡ¡δÑ. é »α«µÑßßÑ óδ»«½¡Ñ¡¿∩ »α«úαá¼¼δ αÑú¿ßΓα DS ¡¿¬«úñá ¡Ñ
- ¿º¼Ñ¡∩ÑΓß∩. ÉẼÑα ßÑú¼Ñ¡Γá ñá¡¡δσ ¡Ñ ¼«ªÑΓ »αÑóδΦáΓ∞ 64è.
-
- Åα¿ óσ«ñÑ ó »α«úαá¼¼π αÑú¿ßΓα ßÑú¼Ñ¡Γá ßΓѬá (SS) ¿ π¬áºá-
- Γѽ∞ ßΓѬá (SÉ) ºáúαπªáεΓß∩ Γá¬, τΓ« »áαá αÑú¿ßΓα«ó SS:SÉ π¬áºδ-
- óáÑΓ ¡á »Ñαóδ⌐ íá⌐Γ, ß½ÑñπεΘ¿⌐ ºá ßÑú¼Ñ¡Γ«¼ ßΓѬá. ÉÑú¿ßΓα SS ó
- »α«µÑßßÑ óδ»«½¡Ñ¡¿∩ »α«úαá¼¼δ ¡¿¬«úñá ¡Ñ ¿º¼Ñ¡∩ÑΓß∩, á SP ¼«ªÑΓ
-
- B.Pascal 7 & Objects/LR - 350 -
-
- »ÑαѼÑΘáΓ∞ß∩ 󡿺, »«¬á ¡Ñ ñ«ßΓ¿ú¡ÑΓ ¡¿ª¡Ñ⌐ úαá¡¿µδ ßÑú¼Ñ¡Γá.
- ÉẼÑα ßÑú¼Ñ¡Γá ßΓÑ¬á ¡Ñ ¼«ªÑΓ »αÑóδΦáΓ∞ 64è. Å« π¼«½τá¡¿ε Ѽπ
- ¡áº¡áτáÑΓß∩ αẼÑα, αáó¡δ⌐ 16è, ¡« ß »«¼«Θ∞ε ñ¿αÑ¬Γ¿óδ ¬«¼»¿½∩Γ«-
- αá $î φΓ« º¡áτÑ¡¿Ñ ¼«ª¡« ¿º¼Ñ¡¿Γ∞.
-
- ÄóÑα½Ñ⌐¡δ⌐ íπΣÑα ¿ß»«½∞ºπÑΓß∩ ßΓá¡ñáαΓ¡δ¼ ¼«ñπ½Ñ¼ Overlay
- ñ½∩ σαá¡Ñ¡¿∩ «óÑα½Ñ⌐¡«ú« ¬«ñá. Å« π¼«½τá¡¿ε αẼÑα «óÑα½Ñ⌐¡«ú«
- íπΣÑαá ß««ΓóÑΓßΓóπÑΓ αẼÑαπ ¡á¿í«½∞ΦÑú« «óÑα½Ñ∩ ó »α«úαá¼¼Ñ. àß-
- ½¿ »α«úαá¼¼á ¡Ñ ¿¼ÑÑΓ «óÑα½ÑÑó, Γ« αẼÑα «óÑα½Ñ⌐¡«ú« íπΣÑαá íπ-
- ñÑΓ ¡π½Ñóδ¼. ÉẼÑα «óÑα½Ñ⌐¡«ú« íπΣÑαá ¼«ª¡« πóѽ¿τ¿Γ∞ ß »«¼«Θ∞ε
- ó맮óá »«ñ»α«úαá¼¼δ OvrSetBuf ¼«ñπ½∩ Overlay. é φΓ«¼ ß½πτáÑ αáº-
- ¼Ñα ñ¿¡á¼¿τÑ߬¿ αáß»αÑñѽ∩Ѽ«⌐ «í½áßΓ¿ »á¼∩Γ¿ ß««ΓóÑΓßΓóÑ¡¡«
- π¼Ñ¡∞ΦáÑΓß∩, á HeapOrg »ÑαѼÑΘáÑΓß∩ óóÑασ.
-
- é ñ¿¡á¼¿τÑ߬¿ αáß»αÑñѽ∩Ѽ«⌐ «í½áßΓ¿ ß«σαá¡∩εΓß∩ ñ¿¡á¼¿τÑß-
- ¬¿Ñ »ÑαѼѡ¡δÑ, Γ« ÑßΓ∞ »ÑαѼѡ¡δÑ, óδñѽѡ¡δÑ »α¿ «íαáΘÑ¡¿∩σ ¬
- ßΓá¡ñáαΓ¡δ¼ »α«µÑñπαá¼ New ¿ GetMem. Ä¡á ºá¡¿¼áÑΓ óßε ßó«í«ñ¡πε
- »á¼∩Γ∞ ¿½¿ τáßΓ∞ ßó«í«ñ¡«⌐ »á¼∩Γ¿, «ßΓáóΦπεß∩ »α¿ óδ»«½¡Ñ¡¿¿
- »α«úαá¼¼δ. äÑ⌐ßΓó¿Γѽ∞¡δ⌐ αẼÑα ñ¿¡á¼¿τÑ߬¿ αáß»αÑñѽ∩Ѽ«⌐ «í-
- ½áßΓ¿ ºáó¿ß¿Γ «Γ ¼á¬ß¿¼á½∞¡«ú« ¿ ¼¿¡¿¼á½∞¡«ú« º¡áτÑ¡¿⌐, ¬«Γ«αδÑ
- ¼«ª¡« πßΓá¡«ó¿Γ∞ ñ½∩ ñ¿¡á¼¿τÑ߬¿ αáß»αÑñѽ∩Ѽ«⌐ «í½áßΓ¿ ß »«¼«Θ∞ε
- ñ¿αÑ¬Γ¿óδ ¬«¼»¿½∩Γ«αá $î. âáαá¡Γ¿α«óá¡¡δ⌐ ¼¿¡¿¼á½∞¡δ⌐ αẼÑα ñ¿-
- ¡á¼¿τÑ߬¿ αáß»αÑñѽ∩Ѽ«⌐ «í½áßΓ¿ ¡Ñ ¼«ªÑΓ íδΓ∞ ¼Ñ¡∞ΦÑ ¼¿¡¿¼á½∞¡«-
- ú« º¡áτÑ¡¿∩, πßΓá¡«ó½Ñ¡¡«ú« ñ½∩ φΓ«⌐ «í½áßΓ¿. Å« π¼«½τá¡¿ε ¼¿¡¿-
- ¼á½∞¡δÑ αẼÑα ñ¿¡á¼¿τÑ߬¿ αáß»αÑñѽ∩Ѽ«⌐ «í½áßΓ¿ αáóÑ¡ 0 íá⌐Γ, á
- ¼á¬ß¿¼á½∞¡δ⌐ - 640è; φΓ« «º¡áτáÑΓ, τΓ« »« π¼«½τá¡¿ε ñ¿¡á¼¿τÑ߬¿
- αáß»αÑñѽ∩Ѽá∩ «í½áßΓ∞ ºá¡¿¼áÑΓ óßε ñ«ßΓπ»¡πε »á¼∩Γ∞.
-
- Å«ñß¿ßΓѼá ñ¿¡á¼¿τÑ߬«ú« αáß»αÑñѽѡ¿∩ »á¼∩Γ¿ (∩ó½∩εΘá∩ß∩
- τáßΓ∞ε í¿í½¿«ΓѬ¿ ¿ß»«½¡∩εΘÑ⌐ ß¿ßΓѼδ), ¬á¬ ¼«ª¡« ñ«úáñáΓ∞ß∩, π»-
- αáó½∩ÑΓ ñ¿¡á¼¿τÑ߬¿ αáß»αÑñѽ∩Ѽ«⌐ «í½áßΓ∞ε. äÑΓá½∞¡« «¡á «»¿ßδ-
- óáÑΓß∩ ó ß½ÑñπεΘѼ αáºñѽÑ.
-
- Çñ¼¿¡¿ßΓαáΓ«α ñ¿¡á¼¿τÑ߬¿ αáß»αÑñѽ∩Ѽ«⌐ «í½áßΓ¿ »á¼∩Γ¿ DOS
- ─────────────────────────────────────────────────────────────────
-
- 信ἿτÑ߬¿ αáß»αÑñѽ∩Ѽá∩ «í½áßΓ∞ - φΓ« »«σ«ªá∩ ¡á ßΓѬ
- ßΓαπ¬Γπαá, ¬«Γ«αá∩ πóѽ¿τ¿óáÑΓß∩, ¡áτ¿¡á∩ «Γ ¼½áñΦ¿σ áñαÑß«ó »á-
- ¼∩Γ¿. Åα¿ φΓ«¼ ¿ß»«½∞ºπÑΓß∩ ßÑú¼Ñ¡Γ ñ¿¡á¼¿τÑ߬¿ αáß»αÑñѽ∩Ѽ«⌐
- «í½áßΓ¿. 쿪¡∩∩ úαá¡¿µá ñ¿¡á¼¿τÑ߬¿ αáß»αÑñѽ∩Ѽ«⌐ «í½áßΓ¿ ºá»«-
- ¼¿¡áÑΓß∩ ó »ÑαѼѡ¡«⌐ HÑápOrg, á óÑασ¡∩∩ úαá¡¿µá ñ¿¡á¼¿τÑ߬¿
- αáß»αÑñѽ∩Ѽ«⌐ «í½áßΓ¿ ß««ΓóÑΓßΓóπÑΓ ¡¿ª¡Ñ⌐ úαá¡¿µÑ ßó«í«ñ¡«⌐ »á-
- ¼∩Γ¿ ¿ ß«σαá¡∩ÑΓß∩ ó »ÑαѼѡ¡«⌐ ìÑápPtr. Åα¿ ¬áªñ«¼ óδñѽѡ¿¿ ñ¿-
- ¡á¼¿τÑ߬«⌐ »ÑαѼѡ¡«⌐ ó ñ¿¡á¼¿τÑ߬¿ αáß»αÑñѽ∩Ѽ«⌐ «í½áßΓ¿ »«ñ-
- ß¿ßΓѼá ñ¿¡á¼¿τÑ߬«ú« αáß»αÑñѽѡ¿∩ »á¼∩Γ¿ (áñ¼¿¡¿ßΓαáΓ«α ñ¿¡á¼¿-
- τÑ߬¿ αáß»αÑñѽ∩Ѽ«⌐ «í½áßΓ¿) »ÑαѼÑΘáÑΓ »ÑαѼѡ¡πε HeapPtr óóÑασ
- ¡á αẼÑα »ÑαѼѡ¡«⌐, ¬á¬ íδ «αúá¡¿ºπ∩ »α¿ φΓ«¼ ßΓѬ ñ¿¡á¼¿τÑ߬¿σ
- »ÑαѼѡ¡δσ, ó ¬«Γ«α«¼ «ñ¡á »ÑαѼѡ¡á∩ αẼÑΘáÑΓß∩ ¡áñ ñαπú«⌐.
-
- ÅÑαѼѡ¡á∩ ìÑápPtr »«ß½Ñ ¬áªñ«⌐ «»Ñαᵿ¿ ¬á¬ »αá󿽫 ¡«α¼á-
- ½¿ºπÑΓß∩, ¿ ß¼ÑΘÑ¡¿Ñ, Γᬿ¼ «íαẫ¼, »α¿¡¿¼áÑΓ º¡áτÑ¡¿∩ ó ñ¿á»á-
- º«¡Ñ «Γ $0000 ñ« $000F. Æá¬ ¬á¬ ¬áªñá∩ »ÑαѼѡ¡á∩ ñ«½ª¡á µÑ½¿¬«¼
- ß«ñÑαªáΓ∞ß∩ ó «ñ¡«¼ ßÑú¼Ñ¡ΓÑ, ¼á¬ß¿¼á½∞¡δ⌐ αẼÑα «Γñѽ∞¡«⌐ »ÑαÑ-
-
- B.Pascal 7 & Objects/LR - 351 -
-
- ¼Ñ¡¡«⌐, ¬«Γ«αá∩ ¼«ªÑΓ íδΓ∞ αẼÑΘÑ¡á ó ñ¿¡á¼¿τÑ߬¿ αáß»αÑñѽ∩Ѽ«⌐
- «í½áßΓ¿, ß«ßΓáó½∩ÑΓ 65521 íá⌐Γ (τΓ« ß««ΓóÑΓßΓóπÑΓ $10000 ¼¿¡πß
- $000F).
-
-
-
- B.Pascal 7 & Objects/LR - 352 -
-
- îÑΓ«ñδ «ßó«í«ªñÑ¡¿∩
- «í½áßΓÑ⌐ ñ¿¡á¼¿τÑ߬¿ αáß»αÑñѽ∩Ѽ«⌐ »á¼∩Γ¿
- ─────────────────────────────────────────────────────────────────
-
- 信ἿτÑ߬¿Ñ »ÑαѼѡ¡δÑ, ß«σαá¡∩ѼδÑ ó ñ¿¡á¼¿τÑ߬¿ αáß»αÑñÑ-
- ½∩Ѽ«⌐ «í½áßΓ¿, «ßó«í«ªñáεΓß∩ «ñ¡¿¼ ¿º ñóπσ ß½ÑñπεΘ¿σ ß»«ß«í«ó:
-
- 1. æ »«¼«Θ∞ε »α«µÑñπα Dispose ¿½¿ FrÑÑîѼ.
-
- 2. æ »«¼«Θ∞ε »α«µÑñπα îárk ¿ RÑlÑásÑ.
-
- Åα«ßΓÑ⌐ΦÑ⌐ ßσѼ«⌐ ¿ß»«½∞º«óá¡¿∩ »α«µÑñπα îárk ¿ RÑlÑásÑ,
- ¡á»α¿¼Ñα, ∩ó½∩ÑΓß∩ óδ»«½¡Ñ¡¿Ñ ß½ÑñπεΘ¿σ «»ÑαáΓ«α«ó:
-
- New(Ptr1);
- New(Ptr2);
- Mark(P);
- New(Ptr3);
- New(Ptr4);
- New(Ptr5);
-
- æσѼá ñ¿¡á¼¿τÑ߬¿ αáß»αÑñѽ∩Ѽ«⌐ «í½áßΓ¿ »α¿ φΓ«¼ íπñÑΓ óδú-
- ½∩ñÑΓ∞, ¬á¬ »«¬áºá¡« ¡á É¿ß. 21.2.
-
- HeapEnd ──>┌──────────────────────────┐ éÑασ¡∩∩ úαá¡¿µá
- │ │ »á¼∩Γ¿
- │ │
- HeapPtr ──>├──────────────────────────┤
- │ ß«ñÑন¼«Ñ Ptr5^ │
- Ptr5 ──>├──────────────────────────┤
- │ ß«ñÑন¼«Ñ Ptr4^ │
- Ptr4 ──>├──────────────────────────┤
- │ ß«ñÑন¼«Ñ Ptr3^ │
- Ptr3 ──>├──────────────────────────┤
- │ ß«ñÑন¼«Ñ Ptr2^ │
- Ptr2 ──>├──────────────────────────┤
- │ ß«ñÑন¼«Ñ Ptr1^ │
- Ptr1 ──>└──────────────────────────┘ 쿪¡∩∩ úαá¡¿µá »á¼∩Γ¿
-
- É¿ß. 21.2 îÑΓ«ñ «ßó«í«ªñÑ¡¿∩ «í½áßΓÑ⌐ ñ¿¡á¼¿τÑ߬¿ αáß»αÑñÑ-
- ½∩Ѽ«⌐ «í½áßΓ¿ »«¼«Θ∞ε »α«µÑñπα îárk ¿ RÑlÑásÑ.
-
- Ä»ÑαáΓ«α îárk(P) «Γ¼ÑτáÑΓ ß«ßΓ«∩¡¿Ñ ñ¿¡á¼¿τÑ߬¿ αáß»αÑñѽ∩Ñ-
- ¼«⌐ «í½áßΓ¿ ¡Ñ»«ßαÑñßΓóÑ¡¡« »ÑαÑñ óδñѽѡ¿Ñ¼ »á¼∩Γ¿ ñ½∩ »ÑαѼѡ-
- ¡«⌐ Ptr3 (»πΓѼ ß«σαá¡Ñ¡¿∩ ΓѬπΘÑú« º¡áτÑ¡¿∩ »ÑαѼѡ¡«⌐ ìÑápPtr ó
- P). àß½¿ óδ»«½¡∩ÑΓß∩ «»ÑαáΓ«α RÑleásÑ(P), Γ« ßσѼá ñ¿¡á¼¿τÑ߬¿
- αáß»αÑñѽ∩Ѽ«⌐ «í½áßΓ¿ ßΓá¡«ó¿Γß∩ Γᬫ⌐, ¬á¬ »«¬áºá¡« ¡á É¿ß.
- 21.3. Åα¿ φΓ«¼, »«ß¬«½∞¬π »α«¿ºó«ñ¿Γß∩ «íαáΘÑ¡¿Ñ ¬ »α«µÑñπαÑ
- îárk, «ßó«í«ªñáÑΓß∩ »á¼∩Γ∞, óδñѽѡ¡á∩ »«ñ óßÑ π¬áºáΓѽ¿.
-
- Åα¿¼Ñτá¡¿Ñ: éδ»«½¡Ñ¡¿Ñ »α«µÑñπαδ RÑleásÑ(ìÑápÄrg) »«½-
- ¡«ßΓ∞ε «ßó«í«ªñáÑΓ ñ¿¡á¼¿τÑ߬¿ αáß»αÑñѽ∩Ѽπε «í½áßΓ∞ »á¼∩-
- Γ¿, »«ß¬«½∞¬π »ÑαѼѡ¡á∩ ìÑápOrg π¬áºδóáÑΓ ¡á ¡¿ª¡εε úαá¡¿-
-
- B.Pascal 7 & Objects/LR - 353 -
-
- µπ ñ¿¡á¼¿τÑ߬¿ αáß»αÑñѽ∩Ѽ«⌐ «í½áßΓ¿.
-
- HeapEnd ──>┌──────────────────────────┐ éÑασ¡∩∩ úαá¡¿µá
- │ │ »á¼∩Γ¿
- │ │
- │ │
- │ │
- │ │
- │ │
- HeapPtr ──>├──────────────────────────┤
- │ ß«ñÑন¼«Ñ Ptr2^ │
- Ptr2 ──>├──────────────────────────┤
- │ ß«ñÑন¼«Ñ Ptr1^ │
- Ptr1 ──>└──────────────────────────┘ 쿪¡∩∩ úαá¡¿µá »á¼∩Γ¿
-
- É¿ß. 21.3 æσѼá ñ¿¡á¼¿τÑ߬¿ αáß»αÑñѽ∩Ѽ«⌐ «í½áßΓ¿ »α¿ óδ-
- »«½¡Ñ¡¿¿ »α«µÑñπαδ RÑleásÑ(P).
-
- Åα¿¼Ñ¡Ñ¡¿Ñ »α«µÑñπα îárk ¿ RÑlÑásÑ ñ½∩ «ßó«í«ªñÑ¡¿∩ »á¼∩Γ¿,
- óδñѽѡ¡«⌐ ñ½∩ ñ¿¡á¼¿τÑ߬¿σ »ÑαѼѡ¡δσ, ¡á ¬«Γ«αδÑ ßßδ½áεΓß∩ π¬á-
- ºáΓѽ¿, óδ»«½¡∩Ѽ«Ñ ó »«α∩ñ¬Ñ, ó Γ«τ¡«ßΓ¿ «íαáΓ¡«¼ »«α∩ñ¬π óδñÑ-
- ½Ñ¡¿∩ »á¼∩Γ¿, óÑß∞¼á φΣΣÑ¬Γ¿ó¡«. Äñ¡á¬« ó í«½∞Φ¿¡ßΓóÑ »α«úαá¼¼
- ¿¼ÑÑΓß∩ ΓÑ¡ñÑ¡µ¿∩ ó í«½ÑÑ ß½πτá⌐¡«¼π óδñѽѡ¿ε ¿ «ßó«í«ªñÑ¡¿ε »á-
- ¼∩Γ¿, «ΓóÑñÑ¡¡«⌐ ñ½∩ ñ¿¡á¼¿τÑ߬¿σ »ÑαѼѡ¡δσ, ¡á ¬«Γ«αδÑ ßßδ½áεΓ-
- ß∩ π¬áºáΓѽ¿, τΓ« ó½ÑτÑΓ ºá ß«í«⌐ ¡Ñ«íσ«ñ¿¼«ßΓ∞ ¿ß»«½∞º«óá¡¿∩ í«-
- ½ÑÑ Γ«¡¬¿σ ¼ÑΓ«ñ«ó π»αáó½Ñ¡¿∩ »á¼∩Γ∞ε, ¬«Γ«αδÑ αÑ὿º«óá¡δ ß »«-
- ¼«Θ∞ε »α«µÑñπα Dispose ¿ FrÑÑMem. ¥Γ¿ »α«µÑñπαδ »«ºó«½∩εΓ ó ½εí«⌐
- ¼«¼Ñ¡Γ «ßó«í«ñ¿Γ∞ »á¼∩Γ∞, óδñѽѡ¡πε ñ½∩ ½εí«⌐ ñ¿¡á¼¿τÑ߬«⌐ »ÑαÑ-
- ¼Ñ¡¡«⌐, ¡á ¬«Γ«απε ßßδ½áÑΓß∩ π¬áºáΓѽ∞.
-
- è«úñá ß »«¼«Θ∞ε »α«µÑñπα Dispose ¿ FrÑÑîѼ «ßó«í«ªñáÑΓß∩ »á-
- ¼∩Γ∞, «ΓóÑñÑ¡¡á∩ ñ½∩ ñ¿¡á¼¿τÑ߬«⌐ »ÑαѼѡ¡«⌐, ¡Ñ ∩ó½∩εΘá∩ß∩ "ßá-
- ¼«⌐ óÑασ¡Ñ⌐" »ÑαѼѡ¡«⌐ ó ñ¿¡á¼¿τÑ߬¿ αáß»αÑñѽ∩Ѽ«⌐ «í½áßΓ¿, Γ«
- ñ¿¡á¼¿τÑ߬¿ αáß»αÑñѽ∩Ѽá∩ «í½áßΓ∞ ßΓá¡«ó¿Γß∩ Σαáú¼Ñ¡Γ¿α«óá¡¡«⌐.
- ÅαÑñ»«½«ª¿¼, τΓ« óδ»«½¡∩½áß∞ Γá ªÑ »«ß½Ññ«óáΓѽ∞¡«ßΓ¿ «»ÑαáΓ«α«ó,
- τΓ« ¿ ó »αÑñδñπΘѼ »α¿¼ÑαÑ. Æ«úñá »«ß½Ñ óδ»«½¡Ñ¡¿∩ »α«µÑñπαδ
- Dispose(Ptr3) ó µÑ¡ΓαÑ ñ¿¡á¼¿τÑ߬¿ αáß»αÑñѽ∩Ѽ«⌐ «í½áßΓ¿ »á¼∩Γ¿
- «íαáºπÑΓß∩ ¡Ñºá¡∩Γ«Ñ »α«ßΓαá¡ßΓó« ("ñδαá"). ¥Γ« »«¬áºá¡« ¡á É¿ß.
- 21.4.
-
-
- B.Pascal 7 & Objects/LR - 354 -
-
-
- HeapEnd ──>┌──────────────────────────┐ éÑασ¡∩∩ úαá¡¿µá
- │ │ »á¼∩Γ¿
- │ │
- HeapPtr ──>├──────────────────────────┤
- │ ß«ñÑন¼«Ñ Ptr5^ │
- Ptr5 ──>├──────────────────────────┤
- │ ß«ñÑন¼«Ñ Ptr4^ │
- Ptr4 ──>├──────────────────────────┤
- │▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒│
- │▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒│
- ├──────────────────────────┤
- │ ß«ñÑন¼«Ñ Ptr2^ │
- Ptr2 ──>├──────────────────────────┤
- │ ß«ñÑন¼«Ñ Ptr1^ │
- Ptr1 ──>└──────────────────────────┘ 쿪¡∩∩ úαá¡¿µá »á¼∩Γ¿
-
- É¿ß. 21.4 櫺ñá¡¿Ñ ¡Ñºá¡∩Γ«⌐ «í½áßΓ¿ ("ñδαδ") ó ñ¿¡á¼¿τÑ߬¿
- αáß»αÑñѽ∩Ѽ«⌐ «í½áßΓ¿ »á¼∩Γ¿.
-
- àß½¿ ó ñá¡¡δ⌐ ¼«¼Ñ¡Γ óδ»«½¡∩ÑΓß∩ »α«µÑñπαá New(Ptr3), Γ« φΓ«
- «»∩Γ∞ »α¿óÑñÑΓ ¬ óδñѽѡ¿ε Γ«⌐ ªÑ «í½áßΓ¿ »á¼∩Γ¿. æ ñαπú«⌐ ßΓ«α«-
- ¡δ, óδ»«½¡Ñ¡¿Ñ »α«µÑñπαδ Dispose(Ptr4) πóѽ¿τ¿Γ αẼÑα ßó«í«ñ¡«ú«
- í½«¬á, Γᬠ¬á¬ Ptr3 ¿ Ptr4 í뫨 ß«ßÑñ¡¿¼¿ í½«¬á¼¿ (ß¼. É¿ß.
- 21.5).
-
- HeapEnd ──>┌──────────────────────────┐ éÑασ¡∩∩ úαá¡¿µá
- │ │ »á¼∩Γ¿
- │ │
- HeapPtr ──>├──────────────────────────┤
- │ ß«ñÑন¼«Ñ Ptr5^ │
- Ptr5 ──>├──────────────────────────┤
- │▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒│
- │▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒│
- │▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒│
- │▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒│
- ├──────────────────────────┤
- │ ß«ñÑন¼«Ñ Ptr2^ │
- Ptr2 ──>├──────────────────────────┤
- │ ß«ñÑন¼«Ñ Ptr1^ │
- Ptr1 ──>└──────────────────────────┘ 쿪¡∩∩ úαá¡¿µá »á¼∩Γ¿
-
- É¿ß. 21.5 ôóѽ¿τÑ¡¿Ñ αẼÑαá ¡Ñºá¡∩Γ«ú« í½«¬á »á¼∩Γ¿.
-
- é ¬«¡Ñτ¡«¼ ¿Γ«úÑ óδ»«½¡Ñ¡¿Ñ »α«µÑñπαδ Dispose(Ptr5) »α¿óÑñÑΓ
- ß¡áτá½á ¬ ß«ºñá¡¿ε ¡Ñºá¡∩Γ«ú« í½«¬á í«½∞ΦÑú« αẼÑαá, á ºáΓѼ
- ìÑápPtr »ÑαѼÑßΓ¿Γß∩ ó í«½ÑÑ ¼½áñΦ¿Ñ áñαÑßá »á¼∩Γ¿. ū߬«½∞¬π
- »«ß½Ññ¡¿¼ ñ«»πßΓ¿¼δ¼ π¬áºáΓѽѼ ΓÑ»Ñα∞ íπñÑΓ Ptr2 (ß¼. É¿ß.
- 21 6), Γ« φΓ« »α¿óÑñÑΓ ¬ ñÑ⌐ßΓó¿Γѽ∞¡«¼π «ßó«í«ªñÑ¡¿ε ¡Ñºá¡∩Γ«ú«
- í½«¬á.
-
- HeapEnd ──>┌──────────────────────────┐ éÑασ¡∩∩ úαá¡¿µá
- │ │ »á¼∩Γ¿
-
- B.Pascal 7 & Objects/LR - 355 -
-
- │ │
- │ │
- │ │
- │ │
- │ │
- │ │
- │ │
- HeapPtr ──>├──────────────────────────┤
- │ ß«ñÑন¼«Ñ Ptr2^ │
- Ptr2 ──>├──────────────────────────┤
- │ ß«ñÑন¼«Ñ Ptr1^ │
- Ptr1 ──>└──────────────────────────┘ 쿪¡∩∩ úαá¡¿µá »á¼∩Γ¿
-
- É¿ß. 21.7 Äßó«í«ªñÑ¡¿Ñ ¡Ñºá¡∩Γ«ú« í½«¬á »á¼∩Γ¿.
-
- èᬠ»«¬áºá¡« ¡á É¿ß. 21.7, ñ¿¡á¼¿τÑ߬¿ αáß»αÑñѽ∩Ѽá∩ «í-
- ½áßΓ∞ »á¼∩Γ¿ ΓÑ»Ñα∞ ¡áσ«ñ¿Γß∩ ó Γ«¼ ªÑ ßἫ¼ ß«ßΓ«∩¡¿¿, ó ¬á¬«¼
- «¡á ¡áσ«ñ¿½áß∞ íδ »«ß½Ñ óδ»«½¡Ñ¡¿∩ »α«µÑñπαδ RÑlÑásÑ(P). Äñ¡á¬«
- ß«ºñáóáѼδÑ ¿ «ßó«í«ªñáѼδÑ »α¿ Γᬫ¼ »α«µÑßßÑ ¡Ñºá¡∩ΓδÑ í½«¬¿
- «Γ߽Ѫ¿óáεΓß∩ ñ½∩ ¿σ 󫺼«ª¡«ú« »«óΓ«α¡«ú« ¿ß»«½∞º«óá¡¿∩.
-
-
- 滿߫¬ ßó«í«ñ¡δσ í½«¬«ó
- ─────────────────────────────────────────────────────────────────
-
- ÇñαÑßá ¿ αẼÑαδ ßó«í«ñ¡δσ í½«¬«ó, ß«ºñá¡¡δσ »α¿ «»Ñαᵿ∩σ
- Dispose ¿ FrÑÑîѼ, σαá¡∩Γß∩ ó ß»¿ß¬Ñ ßó«í«ñ¡δσ í½«¬«ó, ¬«Γ«αδ⌐
- πóѽ¿τ¿óáÑΓß∩ 󡿺, ¡áτ¿¡á∩ ß« ßΓáαΦ¿σ áñαÑß«ó »á¼∩Γ¿, ó ßÑú¼Ñ¡ΓÑ
- ñ¿¡á¼¿τÑ߬¿ αáß»αÑñѽ∩Ѽ«⌐ «í½áßΓ¿. èáªñδ⌐ αẠ»ÑαÑñ óδñѽѡ¿Ñ¼
- »á¼∩Γ¿ ñ½∩ ñ¿¡á¼¿τÑ߬«⌐ »ÑαѼѡ¡«⌐, »ÑαÑñ ΓѼ, ¬á¬ ñ¿¡á¼¿τÑ߬¿
- αáß»αÑñѽ∩Ѽá∩ «í½áßΓ∞ íπñÑΓ αáßΦ¿αÑ¡á, »α«óÑα∩ÑΓß∩ ß»¿ß«¬ ßó«-
- í«ñ¡δσ í½«¬«ó. àß½¿ ¿¼ÑÑΓß∩ í½«¬ ß««ΓóÑΓßΓóπεΘÑú« αẼÑαá (Γ«
- ÑßΓ∞ αẼÑα ¬«Γ«α«ú« í«½∞ΦÑ ¿½¿ αáóÑ¡ ΓαÑíπѼ«¼π αẼÑαπ), Γ« «¡
- ¿ß»«½∞ºπÑΓß∩.
-
- Åα«µÑñπαá RÑlÑásÑ óßÑúñá «τ¿ΘáÑΓ ß»¿ß«¬ ßó«í«ñ¡δσ í½«¬«ó.
- Æá¬¿¼ «íαẫ¼, »α«úαá¼¼á ñ¿¡á¼¿τÑ߬«ú« αáß»αÑñѽѡ¿∩ »á¼∩Γ¿ "ºá-
- íδóáÑΓ" « ¡Ñºá¡∩Γδσ í½«¬áσ, ¬«Γ«αδÑ ¼«úπΓ ßπΘÑßΓó«óáΓ∞ ¡¿ªÑ π¬á-
- ºáΓѽ∩ ñ¿¡á¼¿τÑ߬¿ αáß»αÑñѽ∩Ѽ«⌐ «í½áßΓ¿. àß½¿ óδ τÑαÑñπÑΓÑ «í-
- αáΘÑ¡¿∩ ¬ »α«µÑñπαá¼ îárk ¿ RÑlÑásÑ ß «íαáΘÑ¡¿∩¼¿ ¬ »α«µÑñπαá¼
- Dispose ¿ FrÑÑîѼ, Γ« ¡πª¡« «íÑß»Ñτ¿Γ∞ «ΓßπΓßΓó¿Ñ Γᬿσ ßó«í«ñ¡δσ
- í½«¬«ó.
-
- ÅÑαѼѡ¡á∩ FreeList ¼«ñπ½∩ System π¬áºδóáÑΓ ¡á »Ñαóδ⌐ ßó«-
- í«ñ¡δ⌐ í½«¬ ñ¿¡á¼¿τÑ߬¿ αáß»αÑñѽ∩Ѽ«⌐ «í½áßΓ¿ »á¼∩Γ¿. äá¡¡δ⌐
- í½«¬ ß«ñÑαª¿Γ π¬áºáΓѽ∞ ¡á ß½ÑñπεΘ¿⌐ ßó«í«ñ¡δ⌐ í½«¬ ¿ Γ.ñ. Å«ß-
- ½Ññ¡¿⌐ ßó«í«ñ¡δ⌐ í½«¬ ß«ñÑαª¿Γ π¬áºáΓѽ∞ ¡á óÑαΦ¿¡π ñ¿¡á¼¿τÑ߬¿
- αáß»αÑñѽ∩Ѽ«⌐ «í½áßΓ¿ (Γ« ÑßΓ∞ áñαÑß, ºáñá¡¡δ⌐ HeapPtr). àß½¿
- ßó«í«ñ¡δσ í½«¬«ó ó ß»¿ß¬Ñ ßó«í«ñ¡δσ í½«¬«ó ¡ÑΓ, Γ« FreeList íπñÑΓ
- αáó¡« HeapPtr.
-
- ö«α¼áΓ »Ñαóδσ 8 íá⌐Γ ßó«í«ñ¡«ú« í½«¬á ºáñáÑΓß∩ Γ¿»«¼
- TFreeRec:
-
- B.Pascal 7 & Objects/LR - 356 -
-
-
- type
- PFreeRec = ^TFreeRec;
- TFreeRec = record
- Next: PFreeRec;
- Size: Pointer;
- end;
-
- Å«½Ñ Next π¬áºδóáÑΓ ¡á ß½ÑñπεΘ¿⌐ ßó«í«ñ¡δ⌐ í½«¬, ¿½¿ ¡á Γπ
- ªÑ ∩τÑ⌐¬π, τΓ« ¿ HeapPtr, Ñß½¿ í½«¬ ∩ó½∩ÑΓß∩ »«ß½Ññ¡¿¼ ßó«í«ñ¡δ¼
- í½«¬«¼. é »«½Ñ Size ºá»¿ßá¡ αẼÑα ßó«í«ñ¡«ú« í½«¬á. ç¡áτÑ¡¿Ñ ó
- »«½Ñ Size »αÑñßΓáó½∩ÑΓ ß«í«⌐ ¡Ñ «íδτ¡«Ñ 32-í¿Γ«ó«Ñ º¡áτÑ¡¿Ñ, á
- "¡«α¼á½¿º«óá¡¡«Ñ" º¡áτÑ¡¿Ñ-π¬áºáΓѽ∞ ß τ¿ß½«¼ ßó«í«ñ¡δσ »áαáúαá-
- Σ«ó (16-íá⌐Γ«óδσ í½«¬«ó) ó ßΓáαΦѼ ß½«óÑ ¿ ßτÑΓτ¿¬«¼ ßó«í«ñ¡δσ
- íá⌐Γ («Γ 0 ñ« 15) ó ¼½áñΦѼ ß½«óÑ. æ½ÑñπεΘá∩ Σπ¡¬µ¿∩ BlockSize
- »αÑ«íαáºπÑΓ º¡áτÑ¡¿Ñ »«½∩ Size ó «íδτ¡«Ñ º¡áτÑ¡¿Ñ Γ¿»á Longint:
-
- function BlockSize(Size: Pointer): Longint;
- type
- PtrRec = record Lo, Hi: Word end;
- begin
- BlockSize := Longint(PtrRec(Size)).Hi)*16+PtrRec(Size).Lo
- end;
-
- ùΓ«íδ «íÑß»Ñτ¿Γ∞, τΓ« ó ¡áτá½Ñ ßó«í«ñ¡«ú« í½«¬á óßÑúñá ¿¼ÑÑΓ-
- ß∩ ¼ÑßΓ« ñ½∩ TFreePtr, »«ñß¿ßΓѼá π»αáó½Ñ¡¿∩ ñ¿¡á¼¿τÑ߬¿ αáß»αÑ-
- ñѽ∩Ѽ«⌐ «í½áßΓ∞ε »á¼∩Γ¿ «¬απú½∩ÑΓ αẼÑα ¬áªñ«ú« í½«¬á, óδñѽѡ-
- ¡«ú« »«ñ»α«úαἼἿ New ¿ GetMem ñ« 8-íá⌐Γ«ó«⌐ úαá¡¿µδ. Æá¬¿¼
- «íαẫ¼, 8 íá⌐Γ óδñѽ∩ÑΓß∩ ñ½∩ í½«¬«ó αẼÑα«¼ 1..8, 16 íá⌐Γ -
- ñ½∩ í½«¬«ó αẼÑα«¼ 9..16 ¿ Γ.ñ. æ¡áτá½á φΓ« ¬áªÑΓß∩ ¡Ñ»α«¿ºó«ñ¿-
- Γѽ∞¡«⌐ ΓαáΓ«⌐ »á¼∩Γ¿. ¥Γ« ó ßἫ¼ ñÑ½Ñ Γá¬, Ñß½¿ íδ ¬áªñδ⌐ í½«¬
- íδ½ αẼÑα«¼ 1 íá⌐Γ. ì« «íδτ¡« í½«¬¿ ¿¼ÑεΓ í«½∞Φ¿⌐ αẼÑα, »«φΓ«-
- ¼π «Γ¡«ß¿Γѽ∞¡δ⌐ αẼÑα ¡Ñ¿ß»«½∞ºπѼ«ú« »α«ßΓαá¡ßΓóá ¼Ñ¡∞ΦÑ.
-
- 8-íá⌐Γ«óδ⌐ ¬«φΣΣ¿µ¿Ñ¡Γ αáºñα«í½Ñ¡¡«ßΓ¿ «íÑß»Ñτ¿óáÑΓ, τΓ«
- »α¿ í«½∞Φ«¼ τ¿ß½Ñ ß½πτá⌐¡«ú« óδñѽѡ¿∩ ¿ «ßó«í«ªñÑ¡¿∩ í½«¬«ó «Γ-
- ¡«ß¿Γѽ∞¡« ¡Ñí«½∞Φ«ú« αẼÑαá (τΓ« Γ¿»¿τ¡« ñ½∩ ºá»¿ßÑ⌐ »ÑαѼѡ¡«⌐
- ñ½¿¡δ ó »α«úαá¼¼áσ «íαáí«Γ¬¿ ΓѬßΓá) ¡Ñ »α¿óÑñÑΓ ¬ ß¿½∞¡«⌐ Σαáú-
- ¼Ñ¡Γᵿ¿ ñ¿¡á¼¿τÑ߬¿ αáß»αÑñѽ∩Ѽ«⌐ «í½áßΓ¿. é ¬áτÑßΓóÑ »α¿¼Ñαá
- »αÑñ»«½«ª¿¼, τΓ« ºá¡¿¼áÑΓß∩ ¿ «ßó«í«ªñáÑΓß∩ í½«¬ αẼÑα«¼ 50
- íá⌐Γ. Å«ß½Ñ Ñú« «ßó«í«ªñÑ¡¿∩ ºá»¿ß∞ « ¡Ñ¼ ó¬½ετáÑΓß∩ ó ß»¿ß«¬
- ßó«í«ñ¡δσ í½«¬«ó. ¥Γ«Γ í½«¬ «¬απú½∩ÑΓß∩ ñ« 56 (7*8) íá⌐Γ. àß½¿ ó
- ñá½∞¡Ñ⌐ΦѼ »«ΓαÑíπÑΓß∩ í½«¬ αẼÑα«¼ «Γ 49 ñ« 56 íá⌐Γ, Γ« ñá¡¡δ⌐
- í½«¬ íπñÑΓ »«½¡«ßΓ∞ε »«óΓ«α¡« ¿ß»«½∞º«óá¡, á ¡Ñ «ßΓá¡ÑΓß∩ «Γ 1 ñ«
- 7 íá⌐Γ »á¼∩Γ¿ (¿ß»«½∞º«óá¡¿Ñ ¬«Γ«αδ⌐ ¼á½«óÑα«∩Γ¡«), ¬«Γ«αδÑ íπñπΓ
- Γ«½∞¬« Σαáú¼Ñ¡Γ¿α«óáΓ∞ ñ¿¡á¼¿τÑ߬¿ αáß»αÑñѽ∩Ѽπε «í½áßΓ∞.
-
-
- ÅÑαѼѡ¡á∩ HeapError
- ─────────────────────────────────────────────────────────────────
-
- ÅÑαѼѡ¡á∩ HeapError »«ºó«½∩ÑΓ óá¼ αÑ὿º«óáΓ∞ Σπ¡¬µ¿ε «íαá-
- í«Γ¬¿ «Φ¿í¬¿ ñ¿¡á¼¿τÑ߬¿ αáß»αÑñѽ∩Ѽ«⌐ «í½áßΓ¿ »á¼∩Γ¿. ¥Γá Σπ¡¬-
-
- B.Pascal 7 & Objects/LR - 357 -
-
- µ¿∩ óδºδóáÑΓß∩ ¬áªñδ⌐ αáº, ¬«úñá »α«úαá¼¼á ñ¿¡á¼¿τÑ߬«ú« αáß»αÑ-
- ñѽѡ¿∩ »á¼∩Γ¿ ¡Ñ ¼«ªÑΓ óδ»«½¡¿Γ∞ ºá»α«ß ¡á óδñѽѡ¿Ñ »á¼∩Γ¿.
- ìÑápàrror ∩ó½∩ÑΓß∩ π¬áºáΓѽѼ, ¬«Γ«αδ⌐ ßßδ½áÑΓß∩ ¡á Σπ¡¬µ¿ε ß«
- ß½ÑñπεΘ¿¼ ºáú«½«ó¬«¼:
-
- function HeapFunc(Size: Word): Integer; far;
-
- çá¼ÑΓ¿¼, τΓ« ñ¿αÑ¬Γ¿óá far π¬áºδóáÑΓ Σπ¡¬µ¿¿ «íαáí«Γ¬¿ «Φ¿í-
- ¬¿ ñ¿¡á¼¿τÑ߬¿ αáß»αÑñѽ∩Ѽ«⌐ «í½áßΓ¿ ¡Ñ ¡Ñ«íσ«ñ¿¼«ßΓ∞ ¿ß»«½∞º«-
- óáΓ∞ ñá½∞¡εε ¼«ñѽ∞ ó맮óá.
-
- öπ¡¬µ¿∩ «íαáí«Γ¬¿ «Φ¿í¬¿ ñ¿¡á¼¿τÑ߬¿ αáß»αÑñѽ∩Ѽ«⌐ «í½áßΓ¿
- αÑ὿ºπÑΓß∩ »πΓѼ »α¿ßóá¿óá¡¿∩ ÑÑ áñαÑßá »ÑαѼѡ¡«⌐ ìÑápEror:
-
- HeapError := @HeapFunc;
-
- öπ¡¬µ¿∩ «íαáí«Γ¬¿ «Φ¿í¬¿ ñ¿¡á¼¿τÑ߬¿ αáß»αÑñѽ∩Ѽ«⌐ «í½áßΓ¿
- »á¼∩Γ¿ »«½πτáÑΓ π»αáó½Ñ¡¿Ñ, ¬«úñá »α¿ «íαáΘÑ¡¿¿ ¬ »α«µÑñπαá¼ New
- ¿½¿ GetîѼ ºá»α«ß ¡Ñ ¼«ªÑΓ íδΓ∞ óδ»«½¡Ñ¡. Åáαá¼ÑΓα Size ß«ñÑনΓ
- αẼÑα í½«¬á, ñ½∩ ¬«Γ«α«ú« ¡Ñ «¬áºá½«ß∞ «í½áßΓ¿ »á¼∩Γ¿ ß««ΓóÑΓß-
- ΓóπεΘÑú« αẼÑαá, ¿ Σπ¡¬µ¿∩ «íαáí«Γ¬¿ «Φ¿í¬¿ ñ¿¡á¼¿τÑ߬¿ αáß»αÑ-
- ñѽ∩Ѽ«⌐ «í½áßΓ¿ »«»δΓáÑΓß∩ «ßó«í«ñ¿Γ∞ í½«¬, αẼÑα ¬«Γ«α«ú« ¡Ñ
- ¼Ñ¡∞ΦÑ ñá¡¡«ú« αẼÑαá.
-
- é ºáó¿ß¿¼«ßΓ¿ «Γ πß»Ñσá óδ»«½¡Ñ¡¿∩ φΓ«⌐ »«»δΓ¬¿ Σπ¡¬µ¿∩ «í-
- αáí«Γ¬¿ «Φ¿í¬¿ ñ¿¡á¼¿τÑ߬¿ αáß»αÑñѽ∩Ѽ«⌐ «í½áßΓ¿ ó«ºóαáΘáÑΓ º¡á-
- τÑ¡¿∩ 0, 1 ¿½¿ 2. 髺óαáΘáѼ«Ñ º¡áτÑ¡¿Ñ 0 ßó¿ñÑΓѽ∞ßΓóπÑΓ « ¡Ñπ-
- ñáτ¡«⌐ »«»δΓ¬Ñ, τΓ« ¡Ñ¼Ññ½Ñ¡¡« »α¿ó«ñ¿Γ ¬ 󫺡¿¬¡«óÑ¡¿ε «Φ¿í¬¿ ó«
- óαѼ∩ óδ»«½¡Ñ¡¿∩ »α«úαá¼¼δ. 髺óαáΘáѼ«Ñ º¡áτÑ¡¿Ñ 1 Γá¬ªÑ ßó¿ñÑ-
- Γѽ∞ßΓóπÑΓ « ¡Ñπñáτ¡«⌐ »«»δΓ¬Ñ, ¡« ó¼ÑßΓ« «Φ¿í¬¿ φΓá»á óδ»«½¡Ñ¡¿∩
- «¡« »α¿ó«ñ¿Γ ¬ Γ«¼π, τΓ« »α«µÑñπαδ GetîѼ ¿½¿ FrÑÑîѼ ó«ºóαáΘáεΓ
- π¬áºáΓѽ∞ nil. ìᬫ¡Ñµ, ó«ºóαáΘáѼ«Ñ º¡áτÑ¡¿Ñ 2 ßó¿ñÑΓѽ∞ßΓóπÑΓ
- «í πñáτ¡«⌐ »«»δ⪥ ¿ óδºδóáÑΓ »«óΓ«α¡πε »«»δΓ¬π óδñѽ¿Γ∞ »á¼∩Γ∞
- (¬«Γ«αá∩ Γá¬ªÑ ¼«ªÑΓ »α¿óÑßΓ¿ ¬ ó맮óπ Σπ¡¬µ¿¿ «íαáí«Γ¬¿ «Φ¿í¬¿
- ñ¿¡á¼¿τÑ߬¿ αáß»αÑñѽ∩Ѽ«⌐ «í½áßΓ¿).
-
- æΓá¡ñáαΓ¡á∩ «íαáí«Γ¬¿ Σπ¡¬µ¿∩ «Φ¿í¬¿ ñ¿¡á¼¿τÑ߬¿ αáß»αÑñѽ∩-
- Ѽ«⌐ «í½áßΓ¿ óßÑúñá ó«ºóαáΘáÑΓ º¡áτÑ¡¿Ñ 0, »α¿ó«ñ∩, Γᬿ¼ «íαá-
- º«¼, ¬ «Φ¿í¬Ñ óß∩¬¿⌐ αáº, ¬«úñá ¡Ñ ¼«úπΓ íδΓ∞ óδ»«½¡Ñ¡δ »α«µÑñπαδ
- New ¿½¿ GetîѼ. Äñ¡á¬« ñ½∩ ¼¡«ú¿σ »α¿¬½áñ¡δσ »α«úαá¼¼ í«½ÑÑ »«ñ-
- σ«ñ∩ΘÑ⌐ ∩ó½∩ÑΓß∩ »α«ßΓá∩ Σπ¡¬µ¿∩ «íαáí«Γ¬¿ «Φ¿í¬¿ ñ¿¡á¼¿τÑ߬¿
- αáß»αÑñѽ∩Ѽ«⌐ «í½áßΓ¿, »α¿¼Ñα ¬«Γ«α«⌐ »α¿óÑñÑ¡ ¡¿ªÑ:
-
- function HeapFunc(Size: Word): Integer; far;
- begin
- HeapFunc := 1;
- end;
-
- àß½¿ Γá¬á∩ Σπ¡¬µ¿∩ αÑ὿º«óá¡á, Γ« ó¼ÑßΓ« »α¿¡πñ¿Γѽ∞¡«ú«
- ºáóÑαΦÑ¡¿∩ αáí«Γδ »α«úαá¼¼δ ó ß¿Γπᵿ¿, ¬«úñá »α«µÑñπαδ New ¿½¿
- GetîѼ ¡Ñ ¼«úπΓ óδ»«½¡¿Γ∞ ºá»α«ß, «¡á íπñÑΓ ó«ºóαáΘáΓ∞ »πßΓ«⌐
- π¬áºáΓѽ∞ (π¬áºáΓѽ∞ nil).
-
-
- B.Pascal 7 & Objects/LR - 358 -
-
- é맮ó Σπ¡¬µ¿¿ «Φ¿í¬¿ ñ¿¡á¼¿τÑ߬¿ αáß»αÑñѽ∩Ѽ«⌐ «í½áßΓ¿ »á-
- ¼∩Γ¿ ß« º¡áτÑ¡¿Ñ¼ »áαá¼ÑΓαá Size, αáó¡δ¼ 0, »«¬áºδóáÑΓ, τΓ« πñ«ó-
- ½ÑΓó«αÑ¡¿Ñ ºá»α«ßá ¡á óδñѽѡ¿Ñ »á¼∩Γ¿ »α¿óѽ« ¬ αáßΦ¿αÑ¡¿ε ñ¿¡á-
- ¼¿τÑ߬¿ αáß»αÑñѽ∩Ѽ«⌐ «í½áßΓ¿ »á¼∩Γ¿ »πΓѼ »ÑαѼÑΘÑ¡¿∩ HeapPtr
- óóÑασ. ¥Γ« »α«¿ßσ«ñ¿Γ, ¬«úñá ó ß»¿ß¬Ñ ßó«í«ñ¡δσ í½«¬«ó ¡ÑΓ ßó«-
- í«ñ¡δσ í½«¬«ó, ¿½¿ ¬«úñá óßÑ ßó«í«ñ¡δÑ í½«¬¿ ß½¿Φ¬«¼ ¼á½δ ñ½∩
- πñ«ó½ÑΓó«αÑ¡¿∩ ñá¡¡«ú« ºá»α«ßá. é맮ó ß« º¡áτÑ¡¿Ñ¼ Size, αáó¡δ¼
- 0, ¡Ñ π¬áºδóáÑΓ ¡á ß«ßΓ«∩¡¿Ñ «Φ¿í¬¿, »«ß¬«½∞¬π ¼Ñªñπ HeapPtr ¿
- HeapEnd ñ«ßΓáΓ«τ¡« »α«ßΓαá¡ßΓóá ñ½∩ αáßΦ¿αÑ¡¿∩, «ñ¡á¬« Γᬫ⌐ óδ-
- º«ó ß½πª¿Γ »αÑñπ»αѪñÑ¡¿Ñ¼, τΓ« ¡Ñ¿ß»«½∞ºπѼá∩ «í½áßΓ∞ óδΦÑ
- HeapPtr ß«¬αáΓ¿½áß∞, ¿ »«ñß¿ßΓѼá π»αáó½Ñ¡¿∩ ñ¿¡á¼¿τÑ߬¿ αáß»αÑ-
- ñѽ∩Ѽ«⌐ «í½áßΓ∞ε »á¼∩Γ¿ ¿ú¡«α¿απÑΓ º¡áτÑ¡¿Ñ, ó«ºóαáΘáѼ«Ñ »α¿
- ó맮óÑ Γᬫú« Γ¿»á.
-
-
-
- B.Pascal 7 & Objects/LR - 359 -
-
- êß»«½∞º«óá¡¿Ñ »á¼∩Γ¿
- ó »α«úαá¼¼áσ DOS ºáΘ¿ΘÑ¡¡«ú« αѪ¿¼á
- ─────────────────────────────────────────────────────────────────
-
- é ñá¡¡«¼ αáºñÑ½Ñ »«∩ß¡∩ÑΓß∩ ¿ß»«½∞º«óá¡¿Ñ »á¼∩Γ∞ ó »α«úαá¼-
- ¼áσ Borland Pascal ñ½∩ ºáΘ¿ΘÑ¡¡«ú« αѪ¿¼á.
-
- æÑú¼Ñ¡Γδ ¬«ñá
- ─────────────────────────────────────────────────────────────────
-
- Åਪ½áñ¡á∩ »α«úαá¼¼á ¿ ¬áªñá∩ í¿í½¿«ΓѬá ó »α¿¬½áñ¡«⌐ »α«ú-
- αá¼¼Ñ ¿½¿ DLL ¿¼ÑÑΓ ßó«⌐ ß«íßΓóÑ¡¡δ⌐ ßÑú¼Ñ¡Γ ¬«ñá. Å« π¼«½τá¡¿ε
- ¼«ñπ½¿ ß á¡á½«ú¿τ¡δ¼¿ áΓα¿íπΓἿ úαπ»»¿απεΓß∩ ó ßÑú¼Ñ¡Γáσ ¬«ñá.
- éδ ¼«ªÑΓÑ π»αáó½∩Γ∞ Γᬿ¼ úαπ»»¿α«ó᡿Ѽ ß »«¼«Θ∞ε ñ¿αÑ¬Γ¿ó $S ¿
- $G ¿¼∩_¼«ñπ½∩. ÉẼÑα «ñ¡«ú« ßÑú¼Ñ¡Γá ¬«ñá ¡Ñ ¼«ªÑΓ »αÑóδΦáΓ∞
- 64è, ¡« «íΘ¿⌐ αẼÑα ¬«ñá «úαá¡¿τÑ¡ Γ«½∞¬« «íΩѼ«¼ ñ«ßΓπ»¡«⌐ »á-
- ¼∩Γ¿.
-
- ÇΓα¿íπΓδ ßÑú¼Ñ¡Γá
- ─────────────────────────────────────────────────────────────────
-
- èáªñδ⌐ ßÑú¼Ñ¡Γ ¬«ñá ¿¼ÑÑΓ ¡áí«α áΓα¿íπΓ«ó, «»αÑñѽ∩εΘ¿σ »«-
- óÑñÑ¡¿Ñ ßÑú¼Ñ¡Γá ¬«ñá »α¿ ºáúαπº¬Ñ ó »á¼∩Γ∞.
-
- ÇΓα¿íπΓδ MOVEABLE ¿½¿ FIXED
- ─────────────────────────────────────────────────────────────────
-
- è«úñá ßÑú¼Ñ¡Γ ¬«ñá ¿¼ÑÑΓ áΓα¿íπΓ MOVEABLE (»ÑαѼÑΘáѼδ⌐),
- áñ¼¿¡¿ßΓαáΓ«α »á¼∩Γ¿ ¼«ªÑΓ »ÑαѼÑΘáΓ∞ ßÑú¼Ñ¡Γ ó Σ¿º¿τÑ߬«⌐ »á¼∩-
- Γ¿, τΓ«íδ πñ«ó½ÑΓó«α¿Γ∞ ñαπú¿Ñ ºá»α«ßδ αáß»αÑñѽѡ¿∩ »á¼∩Γ¿. è«ú-
- ñá ßÑú¼Ñ¡Γ ¬«ñá ¿¼ÑÑΓ áΓα¿íπΓ FIXED (Σ¿¬ß¿α«óá¡¡δ⌐), «¡ ¡¿ »α¿
- ¬á¬¿σ «íßΓ«∩Γѽ∞ßΓóáσ ¡Ñ »ÑαѼÑΘáÑΓß∩ ó Σ¿º¿τÑ߬«⌐ »á¼∩Γ¿. ÅαÑñ-
- »«τΓ¿Γѽ∞¡δ¼ áΓα¿íπΓ«¼ ∩ó½∩ÑΓß∩ MOVEABLE, ¿ »«¬á ¡Ñ íπñÑΓ áíß«-
- ½εΓ¡« ¡Ñ«íσ«ñ¿¼« σαá¡¿Γ∞ ßÑú¼Ñ¡Γá ó «ñ¡¿σ ¿ ΓÑσ ªÑ áñαÑßáσ »á¼∩Γ¿
- (φΓ« ¿¼ÑÑΓ ¼ÑßΓ«, ¡á»α¿¼Ñα, ñ½∩ «íαáí«Γτ¿¬á »αÑαδóá¡¿⌐), ß½ÑñπÑΓ
- ¿ß»«½∞º«óáΓ∞ φëà áΓα¿íπΓ. è«úñá óá¼ »«ΓαÑíπÑΓß∩ Σ¿¬ß¿α«óá¡¡δ⌐
- ßÑú¼Ñ¡Γ ¬«ñá, Γᬫ⌐ ßÑú¼Ñ¡Γ ¬«ñá ß½ÑñπÑΓ ßñѽáΓ∞ »« 󫺼«ª¡«ßΓ¿
- ¼á½Ñ¡∞¬¿¼.
-
- ÇΓα¿íπΓδ PRELOAD ¿½¿ DEMANDLOAD
- ─────────────────────────────────────────────────────────────────
-
- æÑú¼Ñ¡Γ ¬«ñá, ¿¼ÑεΘ¿⌐ áΓα¿íπΓ PRELOAD (»αÑñóáα¿Γѽ∞¡« ºáúαπ-
- ªáѼδ⌐), áóΓ«¼áΓ¿τÑ߬¿ ºáúαπªáÑΓß∩ »α¿ á¬Γ¿ó¿ºáµ¿¿ »α¿¬½áñ¡«⌐
- »α«úαá¼¼δ ¿½¿ í¿í½¿«ΓѬ¿. ÇΓα¿íπΓ DEMANDLOAD (ºáúαπªáѼδ⌐ »« ºá»-
- α«ßπ) «Γ¬½áñδóáÑΓ ºáúαπº¬π ßÑú¼Ñ¡Γá ¿½¿ »α«úαá¼¼δ ñ« Σá¬Γ¿τÑ߬«ú«
- ó맮óá ßÑú¼Ñ¡Γá. ò«Γ∩ φΓ« ΓαÑíπÑΓ í«½∞ΦÑ óαѼѡ¿, ¡« »«ºó«½∩ÑΓ
- »α¿¬½áñ¡«⌐ »α«úαá¼¼Ñ φ¬«¡«¼¿Γ∞ »á¼∩Γ∞.
-
- ÇΓα¿íπΓδ DISCARDABLE ¿½¿ PERMAMENT
- ─────────────────────────────────────────────────────────────────
-
- è«úñá ßÑú¼Ñ¡Γ ¿¼ÑÑΓ áΓα¿íπΓ DIASCARDABLE (óδúαπªáѼδ⌐), áñ-
-
- B.Pascal 7 & Objects/LR - 360 -
-
- ¼¿¡¿ßΓαáΓ«α »á¼∩Γ¿ ºáΘ¿ΘÑ¡¡«ú« αѪ¿¼á ¼«ªÑΓ «ßó«í«ñ¿Γ∞ ºá¡¿¼áѼπε
- ßÑú¼Ñ¡Γ«¼ »á¼∩Γ∞, ¬«úñá ΓαÑíπÑΓß∩ ñ«»«½¡¿Γѽ∞¡á∩ »á¼∩Γ∞. è«úñá
- ßÑú¼Ñ¡Γ ¿¼ÑÑΓ áΓα¿íπΓ PERMANENT (»«ßΓ«∩¡¡δ⌐), «¡ óßÑ óαѼ∩ σαá-
- ¡¿Γß∩ ó »á¼∩Γ¿. è«úñá »α¿¬½áñ¡á∩ »α«úαá¼¼á óδºδóáÑΓ ßÑú¼Ñ¡Γ
- DISCARDABLE, «ΓßπΓßΓóπεΘ¿⌐ ó »á¼∩Γ¿, áñ¼¿¡¿ßΓαáΓ«α ºáΘ¿ΘÑ¡¡«ú«
- αѪ¿¼á ß¡áτá½á ºáúαπªáÑΓ Ñú« ¿º Σá⌐½á .EXE. ¥Γ« ΓαÑíπÑΓ í«½∞ΦÑ
- óαѼѡ¿, τѼ Ñß½¿ íδ ßÑú¼Ñ¡Γ ¿¼Ñ½ áΓα¿íπΓ PERMANENT, ¡« »«ºó«½∩ÑΓ
- óδ»«½¡∩Γ∞ »α¿¬½áñ¡πε »α«úαá¼¼π ó ¼Ñ¡∞ΦѼ «íΩÑ¼Ñ »á¼∩Γ¿.
-
- æÑú¼Ñ¡Γ DISCARDABLE ó »α«úαá¼¼Ñ DOS ºáΘ¿ΘÑ¡¡«ú« αѪ¿¼á á¡á-
- ½«ú¿τÑ¡ «óÑα½Ñ⌐¡«¼π ßÑú¼Ñ¡Γπ ó »α«úαá¼¼Ñ DOS, ó Γ« óαѼ∩ ¬á¬ ßÑú-
- ¼Ñ¡Γ PERMANENT ó ºáΘ¿ΘÑ¡¡«¼ αѪ¿¼Ñ DOS á¡á½«ú¿τÑ¡ ßÑú¼Ñ¡Γπ »α«ú-
- αá¼¼δ DOS, ¡Ñ ∩ó½∩εΘѼπß∩ «óÑα½Ñ⌐¡δ¼.
-
-
-
- B.Pascal 7 & Objects/LR - 361 -
-
- æÑú¼Ñ¡Γδ ñá¡¡δσ ¿ ßΓѬá
- ─────────────────────────────────────────────────────────────────
-
- èáªñá∩ »α¿¬½áñ¡á∩ »α«úαá¼¼á ºáΘ¿ΘÑ¡¡«ú« αѪ¿¼á DOS ¿½¿ í¿í-
- ½¿«ΓѬá ß«ñÑαª¿Γ ßÑú¼Ñ¡Γ ñá¡¡δσ, ¬«Γ«αδÑ ¼«ªÑΓ ¿¼ÑΓ∞ αẼÑα ñ«
- 64è. ìá ßÑú¼Ñ¡Γ óßÑúñá π¬áºδóáÑΓ αÑú¿ßΓα ßÑú¼Ñ¡Γá ñá¡¡δσ (DS).
- ¥Γ«Γ ßÑú¼Ñ¡Γ ß«ñÑαª¿Γ Γ¿»¿º¿α«óá¡¡δÑ ¬«¡ßΓá¡Γδ ¿ ú½«íá½∞¡δÑ »ÑαÑ-
- ¼Ñ¡¡δÑ.
-
- èα«¼Ñ ßÑú¼Ñ¡Γá ñá¡¡δσ, »α¿¬½áñ¡á∩ »α«úαá¼¼á ºáΘ¿ΘÑ¡¡«ú« αÑ-
- ª¿¼á DOS ¿¼ÑÑΓ ßÑú¼Ñ¡Γ ßΓѬá, ¬«Γ«αδ⌐ ¿ß»«½∞ºπÑΓß∩ ñ½∩ σαá¡Ñ¡¿∩
- ½«¬á½∞¡δσ »ÑαѼѡ¡δσ, αáß»αÑñѽѡ¡δσ »α«µÑñπαἿ ¿ Σπ¡¬µ¿∩¼¿. ìá
- óσ«ñÑ ó »α¿¬½áñ¡πε »α«úαá¼¼π αÑú¿ßΓα ßÑú¼Ñ¡Γá ßΓѬá (SS) ¿ π¬áºá-
- Γѽ∞ ßΓѬá (SP) ºáúαπªÑ¡δ Γᬿ¼ «íαẫ¼, τΓ« »áαá αÑú¿ßΓα«ó SS:SP
- π¬áºδóáÑΓ ¡á »Ñαóδ⌐ íá⌐Γ »«ß½Ñ ßÑú¼Ñ¡Γá ßΓѬá. è«úñá óδºδóáεΓß∩
- »α«µÑñπαδ ¿ Σπ¡¬µ¿¿, SP ñ½∩ óδñѽѡ¿∩ »α«ßΓαá¡ßΓóá ñ½∩ »áαá¼ÑΓ-
- α«ó, áñαÑßá ó«ºóαáΓá ¿ ½«¬á½∞¡δσ »ÑαѼѡ¡δσ »ÑαѼÑΘáÑΓß∩ 󡿺.
- è«úñá »«ñ»α«úαá¼¼á ó«ºóαáΘáÑΓ π»αáó½Ñ¡¿Ñ, »α«µÑßß ¿º¼Ñ¡∩ÑΓß∩ ¡á
- «íαáΓ¡δ⌐: π¬áºáΓѽ∞ ßΓѬá πóѽ¿τ¿óáÑΓß∩ ñ« º¡áτÑ¡¿∩, ¬«Γ«α«Ñ «¡
- ¿¼Ñ½ »ÑαÑñ ó맮ó«¼. Å« π¼«½τá¡¿ε αẼÑα ßÑú¼Ñ¡Γá ßΓѬá αáóÑ¡ 16è,
- ¡« ß »«¼«Θ∞ε ñ¿αÑ¬Γ¿óδ ¬«¼»¿½∩Γ«αá $M Ñú« ¼«ª¡« ¿º¼Ñ¡¿Γ∞.
-
- é «Γ½¿τ¿Ñ «Γ »α¿¬½áñ¡«⌐ »α«úαá¼¼δ, DDL DOS ºáΘ¿ΘÑ¡¡«ú« αѪ¿-
- ¼á ¡Ñ ¿¼ÑÑΓ ßÑú¼Ñ¡Γá ßΓѬá. è«úñá ó DLL óδºδóáÑΓß∩ »α«µÑñπαá ¿½¿
- Σπ¡¬µ¿∩, αÑú¿ßΓα DS ¿º¼Ñ¡∩ÑΓß∩, τΓ«íδ π¬áºδóáΓ∞ ¡á ßÑú¼Ñ¡Γ ñá¡¡δσ
- DLL, ¡« »áαá αÑú¿ßΓα«ó SS:SP ¡Ñ ¼«ñ¿Σ¿µ¿απÑΓß∩. Æá¬¿¼ «íαẫ¼,
- DLL óßÑúñá ¿ß»«½∞ºπÑΓ ßÑú¼Ñ¡Γ ßΓѬá óδºδóáεΘÑ⌐ »α¿¬½áñ¡«⌐ »α«ú-
- αá¼¼δ.
-
- 꺼ѡѡ¿Ñ áΓα¿íπΓ«ó
- ─────────────────────────────────────────────────────────────────
-
- êß»«½∞ºπѼδÑ »« π¼«½τá¡¿ε áΓα¿íπΓδ ßÑú¼Ñ¡Γá ¬«ñá - φΓ« áΓα¿-
- íπΓδ MOVEABLE, DEMANDLOAD ¿ DISCARDABLE. ì« ß »«¼«Θ∞ε ñ¿αÑ¬Γ¿óδ
- ¬«¼»¿½∩Γ«αá $C óδ ¼«ªÑΓÑ ºáñáΓ∞ ñαπú¿Ñ ¿ß»«½∞ºπѼδÑ »« π¼«½τá¡¿ε
- áΓα¿íπΓδ, ¡á»α¿¼Ñα:
-
- {$C MOVEABLE PRELOAD PERMANENT}
-
- é »α¿¬½áñ¡«⌐ »α«úαá¼¼Ñ ºáΘ¿ΘÑ¡¡«ú« αѪ¿¼á DOS ¡ÑΓ ¡Ñ«íσ«ñ¿-
- ¼«ßΓ¿ ó áñ¼¿¡¿ßΓαáΓ«αÑ «óÑα½ÑÑó. Çñ¼¿¡¿ßΓαáΓ«α »á¼∩Γ¿ DOS ºáΘ¿-
- ΘÑ¡¡«ú« αѪ¿¼á ó¬½ετáÑΓ ó ßÑí∩ »«½¡δ⌐ ¡áí«α ßαÑñßΓó π»αáó½Ñ¡¿∩
- «óÑα½Ñ∩¼¿, π»αáó½∩Γ∞ ¬«Γ«α묨 ¼«ª¡« τÑαѺ áΓα¿íπΓδ ßÑú¼Ñ¡Γá ¬«ñá.
- Ä»¿ßδóáѼδÑ ¡¿ªÑ ßαÑñßΓóá ñ«ßΓπ»¡δ ñ½∩ ½εí«⌐ »α«úαá¼¼δ ºáΘ¿ΘÑ¡¡«-
- ú« αѪ¿¼á DOS.
-
- Åα¿¼Ñτá¡¿Ñ: Å«ñα«í¡«ßΓ¿ « ñ¿αÑ¬Γ¿óÑ ¬«¼»¿½∩Γ«αá $C
- ¼«ª¡« ¡á⌐Γ¿ ó â½áóÑ 2 ("ä¿αÑ¬Γ¿óδ ¬«¼»¿½∩Γ«αá") ó "æ»αáó«τ-
- ¡«¼ απ¬«ó«ñßΓóÑ »α«úαá¼¼¿ßΓá".
-
-
-
- B.Pascal 7 & Objects/LR - 362 -
-
- Çñ¼¿¡¿ßΓαáΓ«α ñ¿¡á¼¿τÑ߬¿
- αáß»αÑñѽ∩Ѽ«⌐ «í½áßΓ¿ »á¼∩Γ¿ DOS
- ─────────────────────────────────────────────────────────────────
-
- ÉáßΦ¿αÑ¡¿∩ Borland ºáΘ¿ΘÑ¡¡«ú« αѪ¿¼á DOS ó¬½ετáεΓ ó ßÑí∩
- »«½¡δ⌐ áñ¼¿¡¿ßΓαáΓ«α »á¼∩Γ¿ ºáΘ¿ΘÑ¡¡«ú« αѪ¿¼á. Åα¿ óδ»«½¡Ñ¡¿¿
- »α«úαá¼¼δ ºáΘ¿ΘÑ¡¡«ú« αѪ¿¼á DOS óß∩ ñ«ßΓπ»¡á∩ »á¼∩Γ∞ »αÑóαáΘáÑΓ-
- ß∩ ó ú½«íá½∞¡πε ñ¿¡á¼¿τÑ߬¿ αáß»αÑñѽ∩Ѽπε «í½áßΓ∞ »á¼∩Γ¿, ¬«Γ«-
- αá∩ π»αáó½∩ÑΓß∩ áñ¼¿¡¿ßΓαáΓ«α«¼ »á¼∩Γ¿ (»«ñß¿ßΓѼ«⌐ π»αáó½Ñ¡¿∩
- »á¼∩Γ∞ε) ºáΘ¿ΘÑ¡¡«ú« αѪ¿¼á. Åਪ½áñ¡á∩ »α«úαá¼¼á ¼«ªÑΓ »«½πτ¿Γ∞
- ñ«ßΓπ» ¬ ú½«íá½∞¡«⌐ ñ¿¡á¼¿τÑ߬¿ αáß»αÑñѽ∩Ѽ«⌐ «í½áßΓ¿ »á¼∩Γ¿ τÑ-
- αѺ »«ñ»α«úαá¼¼δ GlobalXXXX ¼«ñπ½∩ WinAPI. ò«Γ∩ ¼«ª¡« αáß»αÑñÑ-
- ½∩Γ∞ í½«¬¿ ú½«íá½∞¡«⌐ »á¼∩Γ¿ ½εí«ú« αẼÑαá, ú½«íá½∞¡á∩ ñ¿¡á¼¿-
- τÑ߬¿ αáß»αÑñѽ∩Ѽá∩ «í½áßΓ∞ »á¼∩Γ¿ »αÑñ¡áº¡áτÑ¡á Γ«½∞¬« ñ½∩
- í«½∞Φ¿σ í½«¬«ó (1024 íá⌐Γ ¿½¿ í«½ÑÑ). ä½∩ ¬áªñ«ú« í½«¬á ú½«íá½∞-
- ¡«⌐ »á¼∩Γ¿ ΓαÑíπÑΓß∩ ñ«»«½¡¿Γѽ∞¡« 32 íá⌐Γá (φΓ« ¡Ñ»α«¿ºó«ñ¿Γѽ∞-
- ¡δÑ ºáΓαáΓδ), á «íΘÑÑ τ¿ß½« í½«¬«ó ú½«íá½∞¡«⌐ »á¼∩Γ¿ ¡Ñ ¼«ªÑΓ
- »αÑóδΦáΓ∞ 8192.
-
- Åα¿¼Ñτá¡¿Ñ: Å«ñα«í¡ÑÑ αáßΦ¿αÑ¡¿∩ Borland ºáΘ¿ΘÑ¡¡«ú«
- αѪ¿¼á DOS «»¿ßδóáεΓß∩ ó â½áóÑ 17 "Åα«úαá¼¼¿α«óá¡¿Ñ ó ºáΘ¿-
- ΘÑ¡¡«¼ αѪ¿¼Ñ DOS".
-
- Borland Pascal ó¬½ετáÑΓ ó ßÑí∩ áñ¼¿¡¿ßΓαáΓ«α »á¼∩Γ¿ (¬«Γ«αδ⌐
- ¡áºδóáεΓ Γá¬ªÑ »«ñß¿ßΓѼ«⌐ π»αáó½Ñ¡¿∩ »á¼∩Γ∞ε), αÑ὿ºπεΘ¿⌐ ßΓá¡-
- ñáαΓ¡δÑ »α«µÑñπαδ New, Dispose, GetMem ¿ FreeMem. Çñ¼¿¡¿ßΓαáΓ«α
- »á¼∩Γ¿ ¿ß»«½∞ºπÑΓ ñ½∩ óßÑσ αáß»αÑñѽѡ¿⌐ »á¼∩Γ¿ ú½«íá½∞¡πε ñ¿¡á-
- ¼¿τÑ߬¿ αáß»αÑñѽ∩Ѽπε «í½áßΓ∞. ū߬«½∞¬π ú½«íá½∞¡á∩ ñ¿¡á¼¿τÑ߬¿
- αáß»αÑñѽ∩Ѽá∩ «í½áßΓ∞ »á¼∩Γ¿ «úαá¡¿τÑ¡á 8192 í½«¬á¼¿ (τΓ« «τÑ-
- ó¿ñ¡« ¼Ñ¡∞ΦÑ, τѼ ¼«ªÑΓ »«ΓαÑí«óáΓ∞ß∩ ñ½∩ ¡Ñ¬«Γ«αδσ »α¿¬½áñ¡δσ
- »α«úαá¼¼), áñ¼¿¡¿ßΓαáΓ«α »á¼∩Γ¿ Borland Pascal αÑ὿ºπÑΓ á½ú«α¿Γ¼
- óΓ«α¿τ¡«ú« αáß»αÑñѽѡ¿∩ ßÑú¼Ñ¡Γ«ó, ¬«Γ«αδ⌐ π½πτΦáÑΓ »α«¿ºó«ñ¿-
- Γѽ∞¡«ßΓ∞ ¿ ñ«»π߬áÑΓ αáß»αÑñѽѡ¿Ñ ßπΘÑßΓóÑ¡¡« í«½∞ΦÑú« ¬«½¿-
- τÑßΓóá í½«¬«ó.
-
- Åα¿¼Ñτá¡¿Ñ: Borland Pascal ñ½∩ αáßΦ¿αÑ¡¡«ú« αѪ¿¼á DOS
- ¡Ñ »«ññÑনóáÑΓ ßσѼπ αáß»αÑñѽѡ¿∩ ß »«¼«Θ∞ε »α«µÑñπα MArk
- ¿ Release, »αÑñπß¼«ΓαÑ¡¡πε ñ½∩ αÑá½∞¡«ú« αѪ¿¼á DOS.
-
- ǽú«α¿Γ¼ óΓ«α¿τ¡«ú« αáß»αÑñѽѡ¿∩ í½«¬«ó αáí«ΓáÑΓ ß½ÑñπεΘ¿¼
- «íαẫ¼. Åα¿ óδñѽѡ¿¿ í«½∞Φ«ú« í½«¬á áñ¼¿¡¿ßΓαáΓ«α »á¼∩Γ¿ »α«ßΓ«
- óδñѽ∩ÑΓ ú½«íá½∞¡πε »á¼∩Γ∞ ß »«¼«Θ∞ε »«ñ»α«úαá¼¼δ GlobalAlloc.
- Åα¿ óδñѽѡ¿¿ ¼á½Ñ¡∞¬«ú« í½«¬á áñ¼¿¡¿ßΓαáΓ«α óδñѽ∩ÑΓ í«½ÑÑ ¬απ»-
- ¡δ⌐ í½«¬ »á¼∩Γ¿, á ºáΓѼ αáºí¿óáÑΓ Ñú« (óΓ«α¿τ¡« αáß»αÑñѽ∩ÑΓ) »«
- ΓαÑí«óá¡¿ε ¡á í«½ÑÑ ¼Ñ½¬¿Ñ í½«¬¿. ÅÑαÑñ ΓѼ, ¬á¬ áñ¼¿¡¿ßΓαáΓ«α
- »á¼∩Γ¿ óδñѽ∩ÑΓ ¡«óδ⌐ í½«¬ ú½«íá½∞¡«⌐ »á¼∩Γ¿, ¬«Γ«αδ⌐, ó ßó«ε
- «τÑαÑñ∞, íπñÑΓ αáß»αÑñѽ∩Γ∞ß∩ »«óΓ«α¡«, »α¿ αáß»αÑñѽѡ¿¿ ¼á½Ñ¡∞-
- ¬¿σ í½«¬«ó »«óΓ«α¡« ¿ß»«½∞ºπÑΓß∩ óßÑ ñ«ßΓπ»¡«Ñ »α«ßΓαá¡ßΓó« óΓ«-
- α¿τ¡«ú« αáß»αÑñѽѡ¿∩.
-
- Åα¿¼Ñτá¡¿Ñ: Äí ¿ß»«½∞º«óá¡¿¿ áñ¼¿¡¿ßΓαáΓ«αá »á¼∩Γ¿ ó
- DLL »«ñα«í¡ÑÑ αáß߬áºδóáÑΓß∩ ó â½áóÑ 11 "信ἿτÑ߬¿ ¬«¼»«-
- ¡πѼδÑ í¿í½¿«ΓѬ¿".
-
- B.Pascal 7 & Objects/LR - 363 -
-
-
- ÅÑαѼѡ¡á∩ HeapLimit «»αÑñѽ∩ÑΓ »«α«ú ¼Ñªñπ ¼á½Ñ¡∞¬¿¼¿ ¿
- í«½∞Φ¿¼¿ í½«¬á¼¿ ñ¿¡á¼¿τÑ߬¿ αáß»αÑñѽ∩Ѽ«⌐ »á¼∩Γ¿. Å« π¼«½τá¡¿ε
- ÑÑ º¡áτÑ¡¿Ñ αáó¡« 1024 íá⌐Γá¼. ÅÑαѼѡ¡á∩ HeapBlock «»αÑñѽ∩ÑΓ
- αẼÑα, ¿ß»«½∞ºπѼδ⌐ áñ¼¿¡¿ßΓαáΓ«α«¼ »á¼∩Γ¿ »α¿ αáß»αÑñѽѡ¿¿
- í½«¬«ó, óδñѽѡ¡δσ ñ½∩ óΓ«α¿τ¡«ú« αáß»αÑñѽѡ¿∩. Å« π¼«½τá¡¿ε
- º¡áτÑ¡¿Ñ HeapBlock αáó¡« 8192 íá⌐Γá¼. ç¡áτÑ¡¿∩ φΓ¿σ »ÑαѼѡ¡δσ
- ¿º¼Ñ¡∩Γ∞ ¡Ñ ß½ÑñπÑΓ, ¡« Ñß½¿ óδ φΓ« ßñѽáÑΓÑ, πíÑñ¿ΓÑß∞, τΓ« º¡á-
- τÑ¡¿Ñ HeapBlock ß«ßΓáó½∩ÑΓ ¡Ñ ¼Ñ¡∞ΦÑ τÑΓδαÑσ¬αáΓ¡«ú« αẼÑαá
- HeapLimit.
-
- ÅÑαѼѡ¡á∩ HeapAllocFpals «»αÑñѽ∩ÑΓ º¡áτÑ¡¿Ñ Σ½áú«ó áΓα¿íπ-
- Γ«ó, »ÑαÑñáóáѼδσ GlobalAlloc, ¬«úñá áñ¼¿¡¿ßΓαáΓ«α »á¼∩Γ¿ αáß»αÑ-
- ñѽ∩ÑΓ í½«¬¿ ú½«íá½∞¡«⌐ »á¼∩Γ¿. Å« π¼«½τá¡¿ε ÑÑ º¡áτÑ¡¿Ñ αáó¡«
- gmem_Moveable.
-
- ÅÑαѼѡ¡á∩ HeapError
- ─────────────────────────────────────────────────────────────────
-
- ÅÑαѼѡ¡á∩ HeapError »«ºó«½∩ÑΓ óá¼ αÑ὿º«óáΓ∞ Σπ¡¬µ¿ε «íαá-
- í«Γ¬¿ «Φ¿í¬¿ ñ¿¡á¼¿τÑ߬¿ αáß»αÑñѽ∩Ѽ«⌐ «í½áßΓ¿ »á¼∩Γ¿. ¥Γá Σπ¡¬-
- µ¿∩ óδºδóáÑΓß∩ ¬áªñδ⌐ αáº, ¬«úñá »α«úαá¼¼á ñ¿¡á¼¿τÑ߬«ú« αáß»αÑ-
- ñѽѡ¿∩ »á¼∩Γ¿ ¡Ñ ¼«ªÑΓ óδ»«½¡¿Γ∞ ºá»α«ß ¡á óδñѽѡ¿Ñ »á¼∩Γ¿.
- ìÑápError ∩ó½∩ÑΓß∩ π¬áºáΓѽѼ, ¬«Γ«αδ⌐ ßßδ½áÑΓß∩ ¡á Σπ¡¬µ¿ε ß«
- ß½ÑñπεΘ¿¼ ºáú«½«ó¬«¼:
-
- function HeapFunc(Size: word): integer; far;
-
- çá¼ÑΓ¿¼, τΓ« ñ¿αÑ¬Γ¿óá far π¬áºδóáÑΓ Σπ¡¬µ¿¿ «íαáí«Γ¬¿ «Φ¿í-
- ¬¿ ñ¿¡á¼¿τÑ߬¿ αáß»αÑñѽ∩Ѽ«⌐ «í½áßΓ¿ ¡Ñ ¡Ñ«íσ«ñ¿¼«ßΓ∞ ¿ß»«½∞º«-
- óáΓ∞ ñá½∞¡εε ¼«ñѽ∞ ó맮óá.
-
- öπ¡¬µ¿∩ «íαáí«Γ¬¿ «Φ¿í¬¿ ñ¿¡á¼¿τÑ߬¿ αáß»αÑñѽ∩Ѽ«⌐ «í½áßΓ¿
- αÑ὿ºπÑΓß∩ »πΓѼ »α¿ßóá¿óá¡¿∩ ÑÑ áñαÑßá »ÑαѼѡ¡«⌐ ìÑápEror:
-
- HeapError := @HeapFunc;
-
- öπ¡¬µ¿∩ «íαáí«Γ¬¿ «Φ¿í¬¿ ñ¿¡á¼¿τÑ߬¿ αáß»αÑñѽ∩Ѽ«⌐ «í½áßΓ¿
- »á¼∩Γ¿ »«½πτáÑΓ π»αáó½Ñ¡¿Ñ, ¬«úñá »α¿ «íαáΘÑ¡¿¿ ¬ »α«µÑñπαá¼ New
- ¿½¿ GetîѼ ºá»α«ß ¡Ñ ¼«ªÑΓ íδΓ∞ óδ»«½¡Ñ¡. Åáαá¼ÑΓα Size ß«ñÑনΓ
- αẼÑα í½«¬á, ñ½∩ ¬«Γ«α«ú« ¡Ñ «¬áºá½«ß∞ «í½áßΓ¿ »á¼∩Γ¿ ß««ΓóÑΓß-
- ΓóπεΘÑú« αẼÑαá, ¿ Σπ¡¬µ¿∩ «íαáí«Γ¬¿ «Φ¿í¬¿ ñ¿¡á¼¿τÑ߬¿ αáß»αÑ-
- ñѽ∩Ѽ«⌐ «í½áßΓ¿ »α«¿ºóÑñÑΓ »«»δΓ¬π «ßó«í«ªñÑ¡¿∩ í½«¬á, αẼÑα
- ¬«Γ«α«ú« ¡Ñ ¼Ñ¡∞ΦÑ ñá¡¡«ú« αẼÑαá.
-
- ÅÑαÑñ óδº«ó«¼ Σπ¡¬µ¿¿ «íαáí«Γ¬¿ «Φ¿í¬¿ ñ¿¡á¼¿τÑ߬¿ αáß»αÑñÑ-
- ½∩Ѽ«⌐ «í½áßΓ¿ »á¼∩Γ¿ áñ¼¿¡¿ßΓαáΓ«α ñ¿¡á¼¿τÑ߬¿ αáß»αÑñѽ∩Ѽ«⌐
- »á¼∩Γ¿ »δΓáÑΓß∩ óδñѽ¿Γ∞ ßó«í«ñ¡δ⌐ í½«¬ ¿º í½«¬«ó óΓ«α¿τ¡«ú« αáº-
- í¿Ñ¡¿∩, á Γá¬ªÑ ¿ß»«½∞º«óáΓ∞ ¡Ñ»«ßαÑñßΓóÑ¡¡δ⌐ ó맮ó Σπ¡¬µ¿¿
- GlobalAlloc.
-
- é ºáó¿ß¿¼«ßΓ¿ «Γ πß»Ñσá óδ»«½¡Ñ¡¿∩ φΓ«⌐ »«»δΓ¬¿ Σπ¡¬µ¿∩ «í-
- αáí«Γ¬¿ «Φ¿í¬¿ ñ¿¡á¼¿τÑ߬¿ αáß»αÑñѽ∩Ѽ«⌐ «í½áßΓ¿ ó«ºóαáΘáÑΓ º¡á-
-
- B.Pascal 7 & Objects/LR - 364 -
-
- τÑ¡¿∩ 0, 1 ¿½¿ 2. 髺óαáΘáѼ«Ñ º¡áτÑ¡¿Ñ 0 ßó¿ñÑΓѽ∞ßΓóπÑΓ « ¡Ñπ-
- ñáτ¡«⌐ »«»δΓ¬Ñ, τΓ« ¡Ñ¼Ññ½Ñ¡¡« »α¿ó«ñ¿Γ ¬ 󫺡¿¬¡«óÑ¡¿ε «Φ¿í¬¿ ó«
- óαѼ∩ óδ»«½¡Ñ¡¿∩ »α«úαá¼¼δ. 髺óαáΘáѼ«Ñ º¡áτÑ¡¿Ñ 1 Γá¬ªÑ ßó¿ñÑ-
- Γѽ∞ßΓóπÑΓ « ¡Ñπñáτ¡«⌐ »«»δΓ¬Ñ, ¡« ó¼ÑßΓ« «Φ¿í¬¿ φΓá»á óδ»«½¡Ñ¡¿∩
- «¡« »α¿ó«ñ¿Γ ¬ Γ«¼π, τΓ« »α«µÑñπαδ New ¿½¿ GetîѼ ó«ºóαáΘáεΓ π¬á-
- ºáΓѽ∞ nil. ìᬫ¡Ñµ, ó«ºóαáΘáѼ«Ñ º¡áτÑ¡¿Ñ 2 ßó¿ñÑΓѽ∞ßΓóπÑΓ «í
- πñáτ¡«⌐ »«»δ⪥ ¿ óδºδóáÑΓ »«óΓ«α¡πε »«»δΓ¬π óδñѽ¿Γ∞ »á¼∩Γ∞ (¬«-
- Γ«αá∩ Γá¬ªÑ ¼«ªÑΓ »α¿óÑßΓ¿ ¬ ó맮óπ Σπ¡¬µ¿¿ «íαáí«Γ¬¿ «Φ¿í¬¿ ñ¿-
- ¡á¼¿τÑ߬¿ αáß»αÑñѽ∩Ѽ«⌐ «í½áßΓ¿).
-
- æΓá¡ñáαΓ¡á∩ «íαáí«Γ¬¿ Σπ¡¬µ¿∩ «Φ¿í¬¿ ñ¿¡á¼¿τÑ߬¿ αáß»αÑñѽ∩-
- Ѽ«⌐ «í½áßΓ¿ óßÑúñá ó«ºóαáΘáÑΓ º¡áτÑ¡¿Ñ 0, »α¿ó«ñ∩, Γᬿ¼ «íαá-
- º«¼, ¬ «Φ¿í¬Ñ óß∩¬¿⌐ αáº, ¬«úñá ¡Ñ ¼«úπΓ íδΓ∞ óδ»«½¡Ñ¡δ »α«µÑñπαδ
- New ¿½¿ GetîѼ. Äñ¡á¬« ñ½∩ ¼¡«ú¿σ »α¿¬½áñ¡δσ ºáñáτ í«½ÑÑ »«ñσ«ñ∩-
- ΘÑ⌐ ∩ó½∩ÑΓß∩ »α«ßΓá∩ Σπ¡¬µ¿∩ «íαáí«Γ¬¿ «Φ¿í¬¿ ñ¿¡á¼¿τÑ߬¿ αáß»αÑ-
- ñѽ∩Ѽ«⌐ «í½áßΓ¿, »α¿¼Ñα ¬«Γ«α«⌐ »α¿óÑñÑ¡ ¡¿ªÑ:
-
- function HeapFunc(Size: Word): Integer; far;
- begin
- HeapFunc := 1;
- end;
-
- àß½¿ Γá¬á∩ Σπ¡¬µ¿∩ αÑ὿º«óá¡á, Γ« ó¼ÑßΓ« »α¿¡πñ¿Γѽ∞¡«ú«
- ºáóÑαΦÑ¡¿∩ αáí«Γδ »α«úαá¼¼δ ó ß¿Γπᵿ¿, ¬«úñá »α«µÑñπαδ New ¿½¿
- GetîѼ ¡Ñ ¼«úπΓ óδ»«½¡¿Γ∞ ºá»α«ß, «¡á íπñÑΓ ó«ºóαáΘáΓ∞ »πßΓ«⌐
- π¬áºáΓѽ∞ (π¬áºáΓѽ∞ nil).
-
-
-
- B.Pascal 7 & Objects/LR - 365 -
-
- êß»«½∞º«óá¡¿Ñ »á¼∩Γ¿ ó »α«úαá¼¼áσ Windows
- ─────────────────────────────────────────────────────────────────
-
- é ñá¡¡«¼ αáºñÑ½Ñ »«∩ß¡∩ÑΓß∩ ¿ß»«½∞º«óá¡¿Ñ »á¼∩Γ¿ ó »α«úαá¼-
- ¼áσ Borland Pascal ñ½∩ Windows.
-
- ÇΓα¿íπΓδ ßÑú¼Ñ¡Γ«ó
- ─────────────────────────────────────────────────────────────────
-
- èáªñδ⌐ ßÑú¼Ñ¡Γ ¬«ñá ¿¼ÑÑΓ ¡áí«α áΓα¿íπΓ«ó, «»αÑñѽ∩εΘ¿σ Ñú«
- »«óÑñÑ¡¿Ñ »α¿ ºáúαπº¬Ñ ó »á¼∩Γ∞.
-
- ÇΓα¿íπΓδ MOVEABLE ¿½¿ FIXED
- ─────────────────────────────────────────────────────────────────
-
- è«úñá ßÑú¼Ñ¡Γ ∩ó½∩ÑΓß∩ »ÑαѼÑΘáÑ¼δ¼ (MOVEABLE), Windows,
- τΓ«íδ πñ«ó½ÑΓó«α¿Γ∞ »«ΓαÑí¡«ßΓ¿ ó αáß»αÑñѽ∩Ѽ«⌐ »á¼∩Γ¿, ¼«ªÑΓ
- »ÑαѼÑΘáΓ∞ ßÑú¼Ñ¡Γ ó Σ¿º¿τÑ߬«⌐ »á¼∩Γ¿. è«úñá ßÑú¼Ñ¡Γ ¬«ñá Σ¿¬ß¿-
- α«óá¡¡δ⌐ (FIXED), «¡ ¡Ñ »ÑαѼÑΘáÑΓß∩ ó Σ¿º¿τÑ߬«⌐ »á¼∩Γ¿. ü«½ÑÑ
- »αÑñ»«τΓ¿Γѽѡ áΓα¿íπΓ MOVEABLE, ¿ Ñß½¿ ¡ÑΓ áíß«½εΓ¡«⌐ ¡Ñ«íσ«ñ¿-
- ¼«ßΓ¿ σαá¡¿Γ∞ ßÑú¼Ñ¡Γ ¬«ñá »« «ñ¡«¼π ¿ Γ«¼π ªÑ áñαÑßπ ó Σ¿º¿τÑß-
- ¬«⌐ »á¼∩Γ¿ (¬á¬ íδóáÑΓ ó Γ«¼ ß½πτáÑ, Ñß½¿ «¡ ß«ñÑαª¿Γ ñαá⌐óÑα
- »αÑαδóá¡¿⌐), ß½ÑñπÑΓ ¿ß»«½∞º«óáΓ∞ áΓα¿íπΓ MOVEABLE.
-
- ÇΓα¿íπΓδ PRELOAD ¿½¿ DEMANDLOAD
- ─────────────────────────────────────────────────────────────────
-
- æÑú¼Ñ¡Γ ¬«ñá, ¿¼ÑεΘ¿⌐ áΓα¿íπΓ PRELOAD, »α¿ á¬Γ¿ó¿ºáµ¿¿ »α¿¬-
- ½áñ¡«⌐ »α«úαá¼¼δ ¿½¿ í¿í½¿«ΓѬ¿ ºáúαπªáÑΓß∩ áóΓ«¼áΓ¿τÑ߬¿. ÇΓα¿-
- íπΓ DEMANDLOAD «Γ¬½áñδóáÑΓ ºáúαπº¬π ßÑú¼Ñ¡Γá ñ« ΓÑσ »«α, »«¬á
- »«ñ»α«úαá¼¼á ó ßÑú¼Ñ¡ΓÑ ñÑ⌐ßΓó¿Γѽ∞¡« ¡Ñ íπñÑΓ óδºóá¡á.
-
- ÇΓα¿íπΓδ DISCARDABLE ¿½¿ PERMANENT
- ─────────────────────────────────────────────────────────────────
-
- è«úñá ßÑú¼Ñ¡Γ ¿¼ÑÑΓ áΓα¿íπΓ DISCARDABLE, Windows »α¿ ¡Ñ«íσ«-
- ñ¿¼«ßΓ¿ óδñѽѡ¿∩ ñ«»«½¡¿Γѽ∞¡«⌐ »á¼∩Γ¿ ¼«ªÑΓ «ßó«í«ªñáΓ∞ »á¼∩Γ∞,
- ºá¡¿¼áѼπε ñá¡¡δ¼ ßÑú¼Ñ¡Γ«¼. è«úñá »α¿¬½áñ¡á∩ »α«úαá¼¼á «íαáΘáÑΓ-
- ß∩ ¬ óδúαπªáѼ«¼π ßÑú¼Ñ¡Γπ (DISCARDABLE), ¬«Γ«α«ú« ¡ÑΓ ó »á¼∩Γ¿,
- Windows ºáúαπªáÑΓ Ñú« ß¡áτá½á ¿º Σá⌐½á .EXE. ¥Γ« ºá¡¿¼áÑΓ í«½∞ΦÑÑ
- óαѼ∩, τѼ Ñß½¿ íδ ßÑú¼Ñ¡Γ íδ½ »«ßΓ«∩¡¡δ¼ (PERMANENT), ¡« »«ºó«-
- ½∩ÑΓ »α¿¬½áñ¡«⌐ »α«úαá¼¼Ñ »α¿ óδ»«½¡Ñ¡¿¿ ºá¡¿¼áΓ∞ ¼Ñ¡∞ΦÑ ¼ÑßΓá.
-
- âαπí« ú«ó«α∩, ßÑú¼Ñ¡Γ DISCARDABLE ó »α¿¬½áñ¡«⌐ »α«úαá¼¼Ñ
- Windows «τÑ¡∞ ¡á»«¼¿¡áÑΓ «óÑα½Ñ⌐¡δ⌐ ßÑú¼Ñ¡Γ ó »α«úαá¼¼Ñ DOS.
-
- 꺼ѡѡ¿Ñ áΓα¿íπΓ«ó
- ─────────────────────────────────────────────────────────────────
-
- Å« π¼«½τá¡¿ε ßÑú¼Ñ¡Γ𠬫ñá ¡áº¡áτáεΓß∩ áΓα¿íπΓδ MOVEABLE,
- PRELOAD ¿ PERMANEMT, ¡« ß »«¼«Θ∞ε ñ¿αÑ¬Γ¿óδ ¬«¼»¿½∩Γ«αá $C óδ ¼«-
- ªÑΓÑ ¿σ ¿º¼Ñ¡¿Γ∞. ìá»α¿¼Ñα:
-
-
- B.Pascal 7 & Objects/LR - 366 -
-
- {$C MOVEABLE DEMANDLOAD DISCARDABLE}
-
- Åα¿¼Ñτá¡¿Ñ: ü«½ÑÑ »«ñα«í¡« « ñ¿αÑ¬Γ¿óÑ $C αáß߬áºδóá-
- ÑΓß∩ ó â½áóÑ 2 ("ä¿αÑ¬Γ¿óδ ¬«¼»¿½∩Γ«αá") "æ»αáó«τ¡«ú« απ¬«-
- ó«ñßΓóá »α«úαá¼¼¿ßΓá".
-
- é »α¿¬½áñ¡«⌐ »α«úαá¼¼Ñ Windows ¡ÑΓ ¡Ñ«íσ«ñ¿¼«ßΓ¿ óδñѽ∩Γ∞
- »«ñß¿ßΓѼπ π»αáó½Ñ¡¿∩ «óÑα½Ñ∩¼¿. Çñ¼¿¡¿ßΓαáΓ«α »á¼∩Γ¿ Windows
- ó¬½ετáÑΓ ó ßÑí∩ »«½¡δ⌐ ¡áí«α «íß½πª¿óáεΘ¿σ ßαÑñßΓó, π»αáó½∩Ѽδσ
- áΓα¿íπΓἿ ßÑú¼Ñ¡Γá ¬«ñá. ¥Γ¿ ßαÑñßΓóá ñ«ßΓπ»¡δ ½εí«⌐ »α¿¬½áñ¡«⌐
- »α«úαá¼¼Ñ Windows.
-
-
-
- B.Pascal 7 & Objects/LR - 367 -
-
- æÑú¼Ñ¡Γ ½«¬á½∞¡δσ ñ¿¡á¼¿τÑ߬¿σ ñá¡¡δσ
- ─────────────────────────────────────────────────────────────────
-
- èáªñá∩ »α¿¬½áñ¡á∩ »α«úαá¼¼á ¿½¿ í¿í½¿«ΓÑ¬á ¿¼ÑÑΓ «ñ¿¡ ßÑú-
- ¼Ñ¡Γ ñá¡¡δσ, ¬«Γ«αδ⌐ ¡áºδóáÑΓß∩ ßÑú¼Ñ¡Γ«¼ ½«¬á½∞¡δσ ñ¿¡á¼¿τÑ߬¿σ
- ñá¡¡δσ ¿ ¼«ªÑΓ ºá¡¿¼áΓ∞ ñ« 64è. ìá ßÑú¼Ñ¡Γ ½«¬á½∞¡δσ ñ¿¡á¼¿τÑ߬¿σ
- ñá¡¡δσ óßÑúñá π¬áºδóáÑΓ αÑú¿ßΓα ßÑú¼Ñ¡Γá ñá¡¡δσ DS. Ä¡ αáºñѽѡ
- ¡á τÑΓδαÑ τáßΓ¿:
-
- æÑú¼Ñ¡Γ ½«¬á½∞¡δσ ñ¿¡á¼¿τÑ߬¿σ ñá¡¡δσ
- ┌───────────────────────────────────┐
- │ │
- │ 﫬á½∞¡á∩ ñ¿¡á¼¿τÑ߬¿ αáß»αÑñѽ∩- │
- │ Ѽá∩ «í½áßΓ∞ »á¼∩Γ¿ │
- │ │
- ├───────────────────────────────────┤
- │ │
- │ æΓѬ │
- │ │
- ├───────────────────────────────────┤
- │ │
- │ æΓáΓ¿τÑ߬¿Ñ ñá¡¡δÑ │
- │ │
- ├───────────────────────────────────┤
- │ │
- │ çáú«½«ó«¬ ºáñáτ¿ │
- │ │
- └───────────────────────────────────┘
-
- É¿ß. 21.7 æÑú¼Ñ¡Γ ½«¬á½∞¡δσ ñ¿¡á¼¿τÑ߬¿σ ñá¡¡δσ.
-
- ÅÑαóδ⌐ 16 íá⌐Γ ßÑú¼Ñ¡Γá ½«¬á½∞¡δσ ñ¿¡á¼¿τÑ߬¿σ ñá¡¡δσ óßÑúñá
- ß«ñÑαªáΓ ºáú«½«ó«¬ ºáñáτ¿, ó ¬«Γ«α«¼ Windows ß«σαá¡∩ÑΓ αẽ¿τ¡πε
- ß¿ßΓѼ¡πε ¿¡Σ«α¼áµ¿ε.
-
- Äí½áßΓ∞ ßΓáΓ¿τÑ߬¿σ ñá¡¡δσ ß«ñÑαª¿Γ óßÑ ú½«íá½∞¡δÑ »ÑαѼѡ-
- ¡δÑ ¿ Γ¿»¿º¿α«óá¡¡δÑ ¬«¡ßΓá¡Γδ, «»¿ßá¡¡δÑ ó »α¿¬½áñ¡«⌐ »α«úαá¼¼Ñ
- ¿½¿ í¿í½¿«ΓѬÑ.
-
- æÑú¼Ñ¡Γ ßΓÑ¬á ¿ß»«½∞ºπÑΓß∩ ñ½∩ σαá¡Ñ¡¿∩ ½«¬á½∞¡δσ »ÑαѼѡ-
- ¡δσ, αáß»αÑñѽ∩Ѽδσ »α«µÑñπαἿ ¿ Σπ¡¬µ¿∩¼¿. ìá óσ«ñÑ ó »α¿¬½áñ-
- ¡πε »α«úαá¼¼π αÑú¿ßΓα ßÑú¼Ñ¡Γá ßΓѬá SS ¿ π¬áºáΓѽ∞ ßΓѬá SP ºáú-
- απªáεΓß∩ Γᬿ¼ «íαẫ¼, τΓ« SS:SP π¬áºδóáÑΓ ¡á »Ñαóδ⌐ íá⌐Γ »«ß½Ñ
- «í½áßΓ¿ ßΓѬá ó ßÑú¼Ñ¡ΓÑ ½«¬á½∞¡δσ ñ¿¡á¼¿τÑ߬¿σ ñá¡¡δσ. Åα¿ ó맮-
- óÑ »α«µÑñπα ¿ Σπ¡¬µ¿⌐ SP »ÑαѼÑΘáÑΓß∩ 󡿺, óδñѽ∩∩ »á¼∩Γ∞ ñ½∩
- »áαá¼ÑΓα«ó, áñαÑßá ó«ºóαáΓá ¿ ½«¬á½∞¡δσ »ÑαѼѡ¡δσ. è«úñá »«ñ»-
- α«úαá¼¼á ó«ºóαáΘáÑΓ π»αáó½Ñ¡¿Ñ, »α«µÑßß ¿º¼Ñ¡∩ÑΓß∩ ¡á «íαáΓ¡δ⌐:
- SP πóѽ¿τ¿óáÑΓß∩ ¿ »α¿¡¿¼áÑΓ Γ« º¡áτÑ¡¿Ñ, ¬«Γ«α«Ñ í佫 »ÑαÑñ óδ-
- º«ó«¼. êß»«½∞ºπѼδ⌐ »« π¼«½τá¡¿ε αẼÑα «í½áßΓ¿ ßΓѬá ó áóΓ«¼áΓ¿-
- τÑ߬«¼ ßÑú¼Ñ¡ΓÑ ñá¡¡δσ αáóÑ¡ 8è, ¡« ß »«¼«Θ∞ε ñ¿αÑ¬Γ¿óδ ¬«¼»¿½∩-
- Γ«αá $M φΓ« º¡áτÑ¡¿Ñ ¼«ª¡« ¿º¼Ñ¡¿Γ∞.
-
- é «Γ½¿τ¿Ñ «Γ »α¿¬½áñ¡«⌐ »α«úαá¼¼δ í¿í½¿«ΓѬá ó ßÑú¼Ñ¡ΓÑ ½«-
-
- B.Pascal 7 & Objects/LR - 368 -
-
- ¬á½∞¡δσ ñ¿¡á¼¿τÑ߬¿σ ñá¡¡δσ ¡Ñ ¿¼ÑÑΓ «í½áßΓ¿ ßΓѬá. Åα¿ ó맮óÑ ó
- ñ¿¡á¼¿τÑ߬¿ ¬«¼»«¡πѼ«⌐ í¿í½¿«ΓÑ¬Ñ DLL »α«µÑñπαδ ¿½¿ Σπ¡¬µ¿¿ αÑ-
- ú¿ßΓα DS π¬áºδóáÑΓ ¡á ßÑú¼Ñ¡Γ ½«¬á½∞¡δσ ñ¿¡á¼¿τÑ߬¿σ ñá¡¡δσ í¿í-
- ½¿«ΓѬ¿, ¡« »áαá αÑú¿ßΓα«ó SS:SP ¡Ñ ¿º¼Ñ¡∩ÑΓß∩. Æá¬¿¼ «íαẫ¼,
- í¿í½¿«ΓѬá óßÑúñá ¿ß»«½∞ºπÑΓ ßΓѬ óδºδóáεΘÑ⌐ »α¿¬½áñ¡«⌐ »α«úαá¼-
- ¼δ.
-
- ū߽Ññ¡∩∩ τáßΓ∞ ó ßÑú¼Ñ¡ΓÑ ½«¬á½∞¡δσ ñ¿¡á¼¿τÑ߬¿σ ñá¡¡δσ -
- ½«¬á½∞¡á∩ ñ¿¡á¼¿τÑ߬¿ αáß»αÑñѽ∩Ѽá∩ «í½áßΓ∞. Ä¡á ß«ñÑαª¿Γ óßÑ
- ½«¬á½∞¡δÑ ñ¿¡á¼¿τÑ߬¿Ñ ñá¡¡δÑ, ¬«Γ«αδÑ αáß»αÑñѽ∩½¿ß∞ ß »«¼«Θ∞ε
- Σπ¡¬µ¿¿ LocalAlloc ó Windows. Å« π¼«½τá¡¿ε ½«¬á½∞¡á∩ ñ¿¡á¼¿τÑ߬¿
- αáß»αÑñѽ∩Ѽá∩ «í½áßΓ∞ ¿¼ÑÑΓ αẼÑα 8è, ¡« φΓ« º¡áτÑ¡¿Ñ ¼«ª¡« ¿º-
- ¼Ñ¡¿Γ∞ ß »«¼«Θ∞ε ñ¿αÑ¬Γ¿óδ ¬«¼»¿½∩Γ«αá $M.
-
- Windows ñ«»π߬áÑΓ, τΓ«íδ ßÑú¼Ñ¡Γ ½«¬á½∞¡δσ ñ¿¡á¼¿τÑ߬¿σ ñá¡-
- ¡δσ íδ½ »ÑαѼÑΘáѼδ¼, ¡« Borland Pascal φΓ«ú« ¡Ñ »«ññÑনóáÑΓ.
- æÑú¼Ñ¡Γ ½«¬á½∞¡δσ ñ¿¡á¼¿τÑ߬¿σ ñá¡¡δσ »α¿¬½áñ¡«⌐ »α«úαá¼¼δ ¿½¿
- í¿í½¿«ΓѬ¿ Borland Pascal óßÑúñá í½«¬¿απÑΓß∩, φΓ¿¼ «íÑß»Ñτ¿óáÑΓ-
- ß∩, τΓ« ßÑ½Ñ¬Γ«α (áñαÑß ßÑú¼Ñ¡Γá) ßÑú¼Ñ¡Γá ½«¬á½∞¡δσ ñ¿¡á¼¿τÑ߬¿σ
- ñá¡¡δσ ¡¿¬«úñá ¡Ñ ¿º¼Ñ¡∩ÑΓß∩. Åα¿ αáí«ΓÑ ó ßΓá¡ñáαΓ¡«¼ ¿½¿ αáßΦ¿-
- αÑ¡¡«¼ αѪ¿¼Ñ φΓ« ¡Ñ »α¿ó«ñ¿Γ ¡¿ ¬ ¬á¬«¼π πσπñΦÑ¡¿ε, »«ß¬«½∞¬π
- ßÑú¼Ñ¡Γ ß«σαá¡∩Ñà ëà ªÑ ßÑ½Ñ¬Γ«α ñáªÑ »α¿ »ÑαѼÑΘÑ¡¿¿ ó Σ¿º¿τÑß-
- ¬«⌐ »á¼∩Γ¿. Äñ¡á¬« ó αÑá½∞¡«¼ αѪ¿¼Ñ, Ñß½¿ ΓαÑíπÑΓß∩ αáßΦ¿αÑ¡¿Ñ
- ½«¬á½∞¡«⌐ ñ¿¡á¼¿τÑ߬¿ αáß»αÑñѽ∩Ѽ«⌐ «í½áßΓ¿, Windows, 󫺼«ª¡«,
- ¡Ñ ß¼«ªÑΓ φΓ«ú« ßñѽáΓ∞, »«ß¬«½∞¬π ßÑú¼Ñ¡Γ ½«¬á½∞¡δσ ñ¿¡á¼¿τÑ߬¿σ
- ñá¡¡δσ »ÑαѼÑΘáΓ∞ß∩ ¡Ñ ¼«ªÑΓ. àß½¿ óáΦá »α¿¬½áñ¡á∩ »α«úαá¼¼á ¿ß-
- »«½∞ºπÑΓ ½«¬á½∞¡πε ñ¿¡á¼¿τÑ߬¿ αáß»αÑñѽ∩Ѽπε «í½áßΓ∞ »á¼∩Γ¿ ¿
- ñ«½ª¡á óδ»«½¡∩Γ∞ß∩ ó αÑá½∞¡«¼ αѪ¿¼Ñ, Γ« ß½ÑñπÑΓ «íÑß»Ñτ¿Γ∞, τΓ«-
- íδ ¡áτá½∞¡δ⌐ αẼÑα ½«¬á½∞¡«⌐ ñ¿¡á¼¿τÑ߬¿ αáß»αÑñѽ∩Ѽ«⌐ «í½áßΓ¿
- íδ½ Γᬿ¼, τΓ«íδ «¡ πñ«ó½ÑΓó«α∩½ óßѼ »«ΓαÑí¡«ßΓ∩¼ ó αáß»αÑñѽÑ-
- ¡¿¿ ½«¬á½∞¡«⌐ ñ¿¡á¼¿τÑ߬«⌐ «í½áßΓ¿ (ñ½∩ φΓ«ú« ¿ß»«½∞ºπÑΓß∩ ñ¿αѬ-
- Γ¿óá ¬«¼»¿½∩Γ«αá $M).
-
-
- Çñ¼¿¡¿ßΓαáΓ«α ñ¿¡á¼¿τÑ߬¿ αáß»αÑñѽ∩Ѽ«⌐ «í½áßΓ¿ »á¼∩Γ¿
- ─────────────────────────────────────────────────────────────────
-
- Windows »«ññÑনóáÑΓ ñ¿¡á¼¿τÑ߬«Ñ αáß»αÑñѽѡ¿Ñ »á¼∩Γ¿ ó
- ñóπσ αẽ¿τ¡δσ ñ¿¡á¼¿τÑ߬¿ αáß»αÑñѽ∩Ѽδσ «í½áßΓ∩σ: ú½«íá½∞¡«⌐
- ñ¿¡á¼¿τÑ߬¿ αáß»αÑñѽ∩Ѽ«⌐ «í½áßΓ¿ ¿ ½«¬á½∞¡«⌐ ñ¿¡á¼¿τÑ߬¿ αáß»-
- αÑñѽ∩Ѽ«⌐ «í½áßΓ¿.
-
- Åα¿¼Ñτá¡¿Ñ: ü«½ÑÑ »«ñα«í¡« « ½«¬á½∞¡«⌐ ¿ ú½«íá½∞¡«⌐
- ñ¿¡á¼¿τÑ߬¿ αáß»αÑñѽ∩Ѽ«⌐ «í½áßΓ¿ αáß߬áºδóáÑΓß∩ ó "Éπ¬«-
- ó«ñßΓóÑ »α«úαá¼¼¿ßΓá »« Windows".
-
- ⽫íá½∞¡á∩ ñ¿¡á¼¿τÑ߬¿ αáß»αÑñѽ∩Ѽá∩ «í½áßΓ∞ - φΓ« »π½ »á-
- ¼∩Γ¿, ñ«ßΓπ»¡δ⌐ ñ½∩ óßÑσ »α¿¬½áñ¡δσ »α«úαá¼¼. ò«Γ∩ ¼«úπΓ óδñÑ-
- ½∩Γ∞ß∩ í½«¬¿ ú½«íá½∞¡«⌐ »á¼∩Γ¿ ½εí«ú« αẼÑαá, ú½«íá½∞¡á∩ ñ¿¡á¼¿-
- τÑ߬¿ αáß»αÑñѽ∩Ѽá∩ «í½áßΓ∞ »á¼∩Γ¿ »αÑñ¡áº¡áτÑ¡á Γ«½∞¬« ñ½∩
- "í«½∞Φ¿σ" «í½áßΓÑ⌐ »á¼∩Γ¿ (256 íá⌐Γ ¿½¿ í«½ÑÑ). èáªñδ⌐ í½«¬ ú½«-
- íá½∞¡«⌐ »á¼∩Γ¿ ¿¼ÑÑΓ ¿ºíδΓ«τ¡δ⌐ αẼÑα 20 íá⌐Γ, ¿ »α¿ αáí«ΓÑ ó
- ßΓá¡ñáαΓ¡«⌐ ßαÑñÑ Windows ó π½πτΦÑ¡¡«¼ αѪ¿¼Ñ 386 ßπΘÑßΓóπÑΓ «ú-
-
- B.Pascal 7 & Objects/LR - 369 -
-
- αá¡¿τÑ¡¿Ñ ó 8192 í½«¬á »á¼∩Γ¿, Γ«½∞¬« ¡Ñ¬«Γ«αδÑ ¿º ¬«Γ«αδσ ñ«ß-
- Γπ»¡δ ñ½∩ «Γñѽ∞¡«⌐ »α¿¬½áñ¡«⌐ »α«úαá¼¼δ.
-
- 﫬á½∞¡á∩ ñ¿¡á¼¿τÑ߬¿ αáß»αÑñѽ∩Ѽá∩ «í½áßΓ∞ »á¼∩Γ¿ - φΓ«
- »π½ »á¼∩Γ¿, ñ«ßΓπ»¡«⌐ Γ«½∞¬« ñ½∩ óáΦÑ⌐ »α¿¬½áñ¡«⌐ »α«úαá¼¼δ ¿½¿
- í¿í½¿«ΓѬ¿. Ä¡á αáß»«½«ªÑ¡á ó óÑασ¡Ñ⌐ τáßΓ¿ ßÑú¼Ñ¡Γá ñá¡¡δσ »α¿¬-
- ½áñ¡«⌐ »α«úαá¼¼δ ¿½¿ í¿í½¿«ΓѬ¿. ÄíΘ¿⌐ αẼÑα í½«¬«ó ½«¬á½∞¡«⌐
- »á¼∩Γ¿, ¬«Γ«αδÑ ¼«úπΓ óδñѽ∩Γ∞ß∩ ó ½«¬á½∞¡«⌐ ñ¿¡á¼¿τÑ߬¿ αáß»αÑ-
- ñѽ∩Ѽ«⌐ «í½áßΓ¿, αáóÑ¡ 64è, ¼¿¡πß αẼÑα ßΓÑ¬á »α¿¬½áñ¡«⌐ »α«ú-
- αá¼¼δ ¿ ßΓáΓ¿τÑ߬¿σ ñá¡¡δσ. Å« φΓ«⌐ »α¿τ¿¡Ñ ½«¬á½∞¡á∩ ñ¿¡á¼¿τÑ߬¿
- αáß»αÑñѽ∩Ѽá∩ «í½áßΓ∞ »á¼∩Γ¿ ½πτΦÑ »«ñσ«ñ¿Γ ñ½∩ "¡Ñí«½∞Φ¿σ" í½«-
- ¬«ó »á¼∩Γ¿ (26 íá⌐Γ ¿½¿ ¼Ñ¡ÑÑ). Å« π¼«½τá¡¿ε αẼÑα ½«¬á½∞¡«⌐ ñ¿-
- ¡á¼¿τÑ߬¿ αáß»αÑñѽ∩Ѽ«⌐ «í½áßΓ¿ αáóÑ¡ 8è, ¡« ß »«¼«Θ∞ε ñ¿αÑ¬Γ¿óδ
- ¬«¼»¿½∩Γ«αá $M φΓ« º¡áτÑ¡¿Ñ ¼«ª¡« ¿º¼Ñ¡¿Γ∞.
-
- Åα¿¼Ñτá¡¿Ñ: Borland Pascal ¡Ñ »«ññÑনóáÑΓ ¼Ñσá¡¿º¼
- αáß»αÑñѽѡ¿∩ »á¼∩Γ¿ ß »«¼«Θ∞ε »α«µÑñπα Mark ¿ Release, ¬«-
- Γ«αδÑ »αÑñπß¼«ΓαÑ¡δ ó óÑαß¿¿ ñ½∩ DOS.
-
- Borland Pascal ó¬½ετáÑΓ ó ßÑí∩ »«ñß¿ßΓѼπ π»αáó½Ñ¡¿∩ ñ¿¡á¼¿-
- τÑ߬¿ αáß»αÑñѽ∩Ѽ«⌐ »á¼∩Γ∞ε (áñ¼¿¡¿ßΓαáΓ«α »á¼∩Γ¿), ¬«Γ«αá∩ αÑá-
- ½¿ºπÑΓ ßΓá¡ñáαΓ¡δÑ »α«µÑñπαδ New, Dispose, GetMem ¿ FreeMem. ä½∩
- óßÑσ óδñѽѡ¿⌐ »á¼∩Γ¿ »«ñß¿ßΓѼá ñ¿¡á¼¿τÑ߬¿ π»αáó½Ñ¡¿∩ αáß»αÑñÑ-
- ½∩Ѽ«⌐ «í½áßΓ∞ε »á¼∩Γ¿ ¿ß»«½∞ºπÑΓ ú½«íá½∞¡πε ñ¿¡á¼¿τÑ߬¿ αáß»αÑ-
- ñѽ∩Ѽπε «í½áßΓ∞. ū߬«½∞¬π ú½«íá½∞¡á∩ ñ¿¡á¼¿τÑ߬¿ αáß»αÑñѽ∩Ѽá∩
- «í½áßΓ∞ »á¼∩Γ¿ ¿¼ÑÑΓ ß¿ßΓѼ¡«Ñ «úαá¡¿τÑ¡¿Ñ ó 8192 í½«¬á (τΓ« «»-
- αÑñѽѡ¡« ¼Ñ¡∞ΦÑ, τѼ ¼«ªÑΓ »«ΓαÑí«óáΓ∞ß∩ ó ¡Ñ¬«Γ«αδσ »α¿¬½áñ¡δσ
- ºáñáτáσ), »«ñß¿ßΓѼá π»αáó½Ñ¡¿∩ ñ¿¡á¼¿τÑ߬¿ αáß»αÑñѽ∩Ѽ«⌐ «í-
- ½áßΓ∞ε »á¼∩Γ¿ Borland Pascal ñ½∩ π½πτΦÑ¡¿∩ »α«¿ºó«ñ¿Γѽ∞¡«ßΓ¿ ¿
- «íÑß»ÑτÑ¡¿∩ óδñѽѡ¿∩ ßπΘÑßΓóÑ¡¡« í«½∞ΦÑú« τ¿ß½á í½«¬«ó ó¬½ετáÑΓ
- ó ßÑí∩ á½ú«α¿Γ¼ óΓ«α¿τ¡«ú« αáß»αÑñѽѡ¿∩ ßÑú¼Ñ¡Γá.
-
- Åα¿¼Ñτá¡¿Ñ: ü«½ÑÑ »«ñα«í¡« «í φΓ«¼ αáß߬áºδóáÑΓß∩ ó
- â½áóÑ 11 "信ἿτÑ߬¿ ¬«¼»«¡πѼδÑ í¿í½¿«ΓѬ¿".
-
- ǽú«α¿Γ¼ óΓ«α¿τ¡«ú« óδñѽѡ¿∩ ßÑú¼Ñ¡Γá αáí«ΓáÑΓ ß½ÑñπεΘ¿¼
- «íαẫ¼: »α¿ αáß»αÑñѽѡ¿¿ í«½∞Φ«ú« í½«¬á áñ¼¿¡¿ßΓαáΓ«α ñ¿¡á¼¿-
- τÑ߬¿ αáß»αÑñѽ∩Ѽ«⌐ «í½áßΓ¿ »á¼∩Γ¿ »α«ßΓ« óδñѽ∩ÑΓ ú½«íá½∞¡δ⌐
- í½«¬ »á¼∩Γ¿, ¿ß»«½∞ºπ∩ »«ñ»α«úαá¼¼π Windows ClobalAlloc. Åα¿ óδ-
- ñѽѡ¿¿ ¼á½Ñ¡∞¬«ú« í½«¬á áñ¼¿¡¿ßΓαáΓ«α ñ¿¡á¼¿τÑ߬¿ αáß»αÑñѽ∩Ѽ«⌐
- «í½áßΓ¿ »á¼∩Γ¿ óδñѽ∩ÑΓ í«½∞Φ¿⌐ í½«¬ »á¼∩Γ¿, á ºáΓѼ ñѽ¿Γ Ñú« ¡á
- í«½ÑÑ ¼Ñ½¬¿Ñ í½«¬¿ (¬á¬ ΓαÑíπÑΓß∩). Åα¿ óδñѽѡ¿¿ "¼á½Ñ¡∞¬¿σ"
- í½«¬«ó »ÑαÑñ ΓѼ, ¬á¬ áñ¼¿¡¿ßΓαáΓ«α ñ¿¡á¼¿τÑ߬¿ αáß»αÑñѽ∩Ѽ«⌐
- «í½áßΓ¿ »á¼∩Γ¿ óδñѽ¿Γ í½«¬ ú½«íá½∞¡«⌐ ñ¿¡á¼¿τÑ߬¿ αáß»αÑñѽ∩Ѽ«⌐
- »á¼∩Γ¿ (¬«Γ«αδ⌐ íπñÑΓ ó ßó«ε «τÑαÑñ∞ αáºí¿Γ ¡á í½«¬¿), »«óΓ«α¡«
- ¿ß»«½∞ºπεΓß∩ óßÑ ñ«ßΓπ»¡δÑ ¼Ñ½¬¿Ñ í½«¬¿.
-
- âαá¡¿µπ ¼Ñªñπ ¼á½Ñ¡∞¬¿¼¿ ¿ í«½∞Φ¿¼¿ í½«¬á¼¿ «»αÑñѽ∩ÑΓß∩ »Ñ-
- αѼѡ¡«⌐ HeapLimit. Å« π¼«½τá¡¿ε «¡á ¿¼ÑÑΓ º¡áτÑ¡¿Ñ 1024 íá⌐Γá.
- ÅÑαѼѡ¡á∩ HeapBlock «»αÑñѽ∩ÑΓ αẼÑα, ¬«Γ«αδ⌐ ¿ß»«½∞ºπÑΓ »«ñ-
- ß¿ßΓѼá π»αáó½Ñ¡¿∩ ñ¿¡á¼¿τÑ߬¿ αáß»αÑñѽ∩Ѽ«⌐ «í½áßΓ∞ε »á¼∩Γ¿ »α¿
- óδñѽѡ¿¿ í½«¬«ó ñ½∩ óΓ«α¿τ¡«ú« αáºí¿Ñ¡¿∩. Å« π¼«½τá¡¿ε «¡á ¿¼ÑÑΓ
- º¡áτÑ¡¿Ñ 8192 íá⌐Γá. 꺼ѡ∩Γ∞ φΓ¿ º¡áτÑ¡¿∩ óá¼ ¡ÑºáτѼ, ¡« Ñß½¿
-
- B.Pascal 7 & Objects/LR - 370 -
-
- óδ αÑΦ¿ΓÑ φΓ« ßñѽáΓ∞, πíÑñ¿ΓÑß∞ τΓ« HeapBlock ¿¼ÑÑΓ º¡áτÑ¡¿Ñ »«
- ¬αá⌐¡Ñ⌐ ¼ÑαÑ ó τÑΓδαÑ αáºá »αÑóδΦáεΘÑÑ HeapLimit.
-
- ÅÑαѼѡ¡á∩ HeapAllocFlags «»αÑñѽ∩ÑΓ º¡áτÑ¡¿Ñ Σ½áú«ó áΓα¿íπ-
- Γ«ó, »ÑαÑñáóáѼδσ GlobalAlloc, ¬«úñá áñ¼¿¡¿ßΓαáΓ«α »á¼∩Γ¿ αáß»αÑ-
- ñѽ∩ÑΓ ú½«íá½∞¡δÑ í½«¬¿. é »α«úαá¼¼Ñ »« π¼«½τá¡¿ε ¿ß»«½∞ºπÑΓß∩
- º¡áτÑ¡¿Ñ gmem_Moveable, á ó í¿í½¿«ΓÑ¬Ñ - gmem_Moveable +
- gmem_SSEShure.
-
- ü½«¬¿ ú½«íá½∞¡«⌐ »á¼∩Γ¿, óδñѽ∩ѼδÑ áñ¼¿¡¿ßΓαáΓ«α«¼ ñ¿¡á¼¿-
- τÑ߬¿ αáß»αÑñѽ∩Ѽ«⌐ «í½áßΓ¿ »á¼∩Γ¿, óßÑúñá í½«¬¿απεΓß∩ ¡Ñ»«ß-
- αÑñßΓóÑ¡¡« »«ß½Ñ ßó«Ñú« óδñѽѡ¿∩ (ß »«¼«Θ∞ε GlobalLock) ¡Ñ¼Ññ-
- ½Ñ¡¡« »«ß½Ñ ßó«Ñú« óδñѽѡ¿∩ ¿ ¡Ñ αáºí½«¬¿απεΓß∩, »«¬á ¡Ñ íπñπΓ
- «ßó«í«ªñÑ¡δ. ¥Γ¿¼ «íÑß»Ñτ¿óáÑΓß∩, τΓ« ßÑ½Ñ¬Γ«αδ (áñαÑßá ßÑú¼Ñ¡-
- Γ«ó) í½«¬«ó ¡Ñ ¿º¼Ñ¡∩εΓß∩. é ßΓá¡ñáαΓ¡«⌐ ßαÑñÑ Windows ¿ π½πτΦÑ¡-
- ¡δσ αѪ¿¼áσ »α«µÑßß«αá 386 Σ¿¬ß¿α«óá¡¡δÑ í½«¬¿ ¼«úπΓ, ΓѼ ¡Ñ ¼Ñ-
- ¡ÑÑ, »ÑαѼÑΘáΓ∞ß∩ ó Σ¿º¿τÑ߬«⌐ »á¼∩Γ¿, «ßó«í«ªñá∩ ¼ÑßΓ« ñ½∩ ñαπ-
- ú¿σ ºá»α«ß«ó »« óδñѽѡ¿ε »á¼∩Γ¿, »«φΓ«¼π φΓ« ¡Ñ πσπñΦáÑΓ »α«¿º-
- ó«ñ¿Γѽ∞¡«ßΓ¿ áñ¼¿¡¿ßΓαáΓ«αá ñ¿¡á¼¿τÑ߬¿ αáß»αÑñѽ∩Ѽ«⌐ «í½áßΓ¿
- »á¼∩Γ¿ Borland Pascal. Äñ¡á¬« ó αÑá½∞¡«¼ αѪ¿¼Ñ, Ñß½¿ «Γ Windows
- ΓαÑíπÑΓß∩ αáßΦ¿αÑ¡¿Ñ ½«¬á½∞¡«⌐ ñ¿¡á¼¿τÑ߬¿ αáß»αÑñѽ∩Ѽ«⌐ «í½áß-
- Γ¿, áñ¼¿¡¿ßΓαáΓ«α »á¼∩Γ¿ Windows, 󫺼«ª¡«, ¡Ñ ß¼«ªÑΓ »ÑαѼÑßΓ¿Γ∞
- ¿σ, τΓ«íδ óδñѽ¿Γ∞ ñαπú¿Ñ í½«¬¿. àß½¿ óáΦá »α¿¬½áñ¡á∩ »α«úαá¼¼á
- ¿ß»«½∞ºπÑΓ ½«¬á½∞¡πε ñ¿¡á¼¿τÑ߬¿ αáß»αÑñѽ∩Ѽπε «í½áßΓ∞ ¿ ñ«½ª¡á
- óδ»«½¡∩Γ∞ß∩ ó αÑá½∞¡«¼ αѪ¿¼Ñ, ¼«ª¡« αáßß¼«ΓαÑΓ∞ »α¿ óδñѽѡ¿¿
- í½«¬«ó ñ¿¡á¼¿τÑ߬«⌐ »á¼∩Γ¿ 󫺼«ª¡«ßΓ∞ ¿ß»«½∞º«óá¡¿∩ ßαÑñßΓó
- αáß»αÑñѽѡ¿∩ »á¼∩Γ¿, »αÑñ«ßΓáó½∩Ѽδσ Windows.
-
-
- ÅÑαѼѡ¡á∩ HeapError
- ─────────────────────────────────────────────────────────────────
-
- ÅÑαѼѡ¡á∩ HeapError »«ºó«½∩ÑΓ óá¼ αÑ὿º«óáΓ∞ Σπ¡¬µ¿ε «íαá-
- í«Γ¬¿ «Φ¿í¬¿ ñ¿¡á¼¿τÑ߬¿ αáß»αÑñѽ∩Ѽ«⌐ «í½áßΓ¿ »á¼∩Γ¿. ¥Γá Σπ¡¬-
- µ¿∩ óδºδóáÑΓß∩ ¬áªñδ⌐ αáº, ¬«úñá »α«úαá¼¼á ñ¿¡á¼¿τÑ߬«ú« αáß»αÑ-
- ñѽѡ¿∩ »á¼∩Γ¿ ¡Ñ ¼«ªÑΓ óδ»«½¡¿Γ∞ ºá»α«ß ¡á óδñѽѡ¿Ñ »á¼∩Γ¿.
- ìÑápError ∩ó½∩ÑΓß∩ π¬áºáΓѽѼ, ¬«Γ«αδ⌐ ßßδ½áÑΓß∩ ¡á Σπ¡¬µ¿ε ß«
- ß½ÑñπεΘ¿¼ ºáú«½«ó¬«¼:
-
- function HeapFunc(Size: word): integer; far;
-
- çá¼ÑΓ¿¼, τΓ« ñ¿αÑ¬Γ¿óá far π¬áºδóáÑΓ Σπ¡¬µ¿¿ «íαáí«Γ¬¿ «Φ¿í-
- ¬¿ ñ¿¡á¼¿τÑ߬¿ αáß»αÑñѽ∩Ѽ«⌐ «í½áßΓ¿ ¡Ñ ¡Ñ«íσ«ñ¿¼«ßΓ∞ ¿ß»«½∞º«-
- óáΓ∞ ñá½∞¡εε ¼«ñѽ∞ ó맮óá.
-
- öπ¡¬µ¿∩ «íαáí«Γ¬¿ «Φ¿í¬¿ ñ¿¡á¼¿τÑ߬¿ αáß»αÑñѽ∩Ѽ«⌐ «í½áßΓ¿
- αÑ὿ºπÑΓß∩ »πΓѼ »α¿ßóá¿óá¡¿∩ ÑÑ áñαÑßá »ÑαѼѡ¡«⌐ ìÑápEror:
-
- HeapError := @HeapFunc;
-
- öπ¡¬µ¿∩ «íαáí«Γ¬¿ «Φ¿í¬¿ ñ¿¡á¼¿τÑ߬¿ αáß»αÑñѽ∩Ѽ«⌐ «í½áßΓ¿
- »á¼∩Γ¿ »«½πτáÑΓ π»αáó½Ñ¡¿Ñ, ¬«úñá »α¿ «íαáΘÑ¡¿¿ ¬ »α«µÑñπαá¼ New
- ¿½¿ GetîѼ ºá»α«ß ¡Ñ ¼«ªÑΓ íδΓ∞ óδ»«½¡Ñ¡. Åáαá¼ÑΓα Size ß«ñÑনΓ
-
- B.Pascal 7 & Objects/LR - 371 -
-
- αẼÑα í½«¬á, ñ½∩ ¬«Γ«α«ú« ¡Ñ «¬áºá½«ß∞ «í½áßΓ¿ »á¼∩Γ¿ ß««ΓóÑΓß-
- ΓóπεΘÑú« αẼÑαá, ¿ Σπ¡¬µ¿∩ «íαáí«Γ¬¿ «Φ¿í¬¿ ñ¿¡á¼¿τÑ߬¿ αáß»αÑ-
- ñѽ∩Ѽ«⌐ «í½áßΓ¿ »«»δΓáÑΓß∩ «ßó«í«ñ¿Γ∞ í½«¬, αẼÑα ¬«Γ«α«ú« ¡Ñ
- ¼Ñ¡∞ΦÑ ñá¡¡«ú« αẼÑαá.
-
- ÅÑαÑñ óδº«ó«¼ Σπ¡¬µ¿¿ «íαáí«Γ¬¿ «Φ¿í¬¿ ñ¿¡á¼¿τÑ߬¿ αáß»αÑñÑ-
- ½∩Ѽ«⌐ «í½áßΓ¿ »á¼∩Γ¿ »«ñß¿ßΓѼá ñ¿¡á¼¿τÑ߬«ú« αáß»αÑñѽѡ¿∩ »á-
- ¼∩Γ¿ »δΓáÑΓß∩ óδñѽ¿Γ∞ ßó«í«ñ¡δ⌐ í½«¬ ¿º í½«¬«ó óΓ«α¿τ¡«ú« αáºí¿-
- Ñ¡¿∩, á Γá¬ªÑ ¿ß»«½∞º«óáΓ∞ ¡Ñ»«ßαÑñßΓóÑ¡¡δ⌐ ó맮ó Σπ¡¬µ¿¿
- GlobalAlloc.
-
- é ºáó¿ß¿¼«ßΓ¿ «Γ πß»Ñσá óδ»«½¡Ñ¡¿∩ φΓ«⌐ »«»δΓ¬¿ Σπ¡¬µ¿∩ «í-
- αáí«Γ¬¿ «Φ¿í¬¿ ñ¿¡á¼¿τÑ߬¿ αáß»αÑñѽ∩Ѽ«⌐ «í½áßΓ¿ ó«ºóαáΘáÑΓ º¡á-
- τÑ¡¿∩ 0, 1 ¿½¿ 2. 髺óαáΘáѼ«Ñ º¡áτÑ¡¿Ñ 0 ßó¿ñÑΓѽ∞ßΓóπÑΓ « ¡Ñπ-
- ñáτ¡«⌐ »«»δΓ¬Ñ, τΓ« ¡Ñ¼Ññ½Ñ¡¡« »α¿ó«ñ¿Γ ¬ 󫺡¿¬¡«óÑ¡¿ε «Φ¿í¬¿ ó«
- óαѼ∩ óδ»«½¡Ñ¡¿∩ »α«úαá¼¼δ. 髺óαáΘáѼ«Ñ º¡áτÑ¡¿Ñ 1 Γá¬ªÑ ßó¿ñÑ-
- Γѽ∞ßΓóπÑΓ « ¡Ñπñáτ¡«⌐ »«»δΓ¬Ñ, ¡« ó¼ÑßΓ« «Φ¿í¬¿ φΓá»á óδ»«½¡Ñ¡¿∩
- «¡« »α¿ó«ñ¿Γ ¬ Γ«¼π, τΓ« »α«µÑñπαδ New ¿½¿ GetîѼ ó«ºóαáΘáεΓ π¬á-
- ºáΓѽ∞ nil. ìᬫ¡Ñµ, ó«ºóαáΘáѼ«Ñ º¡áτÑ¡¿Ñ 2 ßó¿ñÑΓѽ∞ßΓóπÑΓ «í
- πñáτ¡«⌐ »«»δ⪥ ¿ óδºδóáÑΓ »«óΓ«α¡πε »«»δΓ¬π óδñѽ¿Γ∞ »á¼∩Γ∞ (¬«-
- Γ«αá∩ Γá¬ªÑ ¼«ªÑΓ »α¿óÑßΓ¿ ¬ ó맮óπ Σπ¡¬µ¿¿ «íαáí«Γ¬¿ «Φ¿í¬¿ ñ¿-
- ¡á¼¿τÑ߬¿ αáß»αÑñѽ∩Ѽ«⌐ «í½áßΓ¿).
-
- æΓá¡ñáαΓ¡á∩ «íαáí«Γ¬¿ Σπ¡¬µ¿∩ «Φ¿í¬¿ ñ¿¡á¼¿τÑ߬¿ αáß»αÑñѽ∩-
- Ѽ«⌐ «í½áßΓ¿ óßÑúñá ó«ºóαáΘáÑΓ º¡áτÑ¡¿Ñ 0, »α¿ó«ñ∩, Γᬿ¼ «íαá-
- º«¼, ¬ «Φ¿í¬Ñ óß∩¬¿⌐ αáº, ¬«úñá ¡Ñ ¼«úπΓ íδΓ∞ óδ»«½¡Ñ¡δ »α«µÑñπαδ
- New ¿½¿ GetîѼ. Äñ¡á¬« ñ½∩ ¼¡«ú¿σ »α¿¬½áñ¡δσ ºáñáτ í«½ÑÑ »«ñσ«ñ∩-
- ΘÑ⌐ ∩ó½∩ÑΓß∩ »α«ßΓá∩ Σπ¡¬µ¿∩ «íαáí«Γ¬¿ «Φ¿í¬¿ ñ¿¡á¼¿τÑ߬¿ αáß»αÑ-
- ñѽ∩Ѽ«⌐ «í½áßΓ¿, »α¿¼Ñα ¬«Γ«α«⌐ »α¿óÑñÑ¡ ¡¿ªÑ:
-
- function HeapFunc(Size: word) integer; far;
- begin
- HeapFunc := 1;
- end;
-
- àß½¿ Γá¬á∩ Σπ¡¬µ¿∩ αÑ὿º«óá¡á, Γ« ó¼ÑßΓ« »α¿¡πñ¿Γѽ∞¡«ú«
- ºáóÑαΦÑ¡¿∩ αáí«Γδ »α«úαá¼¼δ ó ß¿Γπᵿ¿, ¬«úñá »α«µÑñπαδ New ¿½¿
- GetîѼ ¡Ñ ¼«úπΓ óδ»«½¡¿Γ∞ ºá»α«ß, «¡á íπñÑΓ ó«ºóαáΘáΓ∞ »πßΓ«⌐
- π¬áºáΓѽ∞ (π¬áºáΓѽ∞ nil).
-
-
-
- B.Pascal 7 & Objects/LR - 372 -
-
- ö«α¼áΓδ ó¡πΓαÑ¡¡Ñú« »αÑñßΓáó½Ñ¡¿∩ ñá¡¡δσ
- ─────────────────────────────────────────────────────────────────
-
- äá½ÑÑ «»¿ßδóáεΓß∩ Σ«α¼áΓδ ó¡πΓαÑ¡¡Ñú« »αÑñßΓáó½Ñ¡¿∩ ñá¡¡δσ
- Borland Pascal.
-
- ûѽ«τ¿ß½Ñ¡¡δÑ Γ¿»δ
- ─────────────────────────────────────────────────────────────────
-
- ö«α¼áΓ, óδí¿αáѼδ⌐ ñ½∩ »αÑñßΓáó½Ñ¡¿∩ »ÑαѼѡ¡«⌐ µÑ½«ú« Γ¿»á,
- ºáó¿ß¿Γ «Γ ÑÑ ¼¿¡¿¼á½∞¡«⌐ ¿ ¼á¬ß¿¼á½∞¡«⌐ úαá¡¿µ:
-
- 1. àß½¿ «íÑ úαá¡¿µδ ¡áσ«ñ∩Γß∩ ó ñ¿á»áº«¡Ñ -128..127
- (Shotrint - ¬«α«Γ¬«Ñ µÑ½«Ñ), Γ« »ÑαѼѡ¡á∩ σαá¡¿Γß∩, ¬á¬
- íá⌐Γ ß« º¡á¬«¼.
-
- 2. àß½¿ «íÑ úαá¡¿µδ ¡áσ«ñ∩Γß∩ ó ñ¿á»áº«¡Ñ 0..255 (Byte -
- íá⌐Γ«óá∩ »ÑαѼѡ¡á∩), Γ« »ÑαѼѡ¡á∩ σαá¡¿Γß∩, ¬á¬ íá⌐Γ
- íѺ º¡á¬á.
-
- 3. àß½¿ «íÑ úαá¡¿µδ ¡áσ«ñ∩Γß∩ ó ñ¿á»áº«¡Ñ -32768..32767
- (Integer - µÑ½«Ñ), Γ« »ÑαѼѡ¡á∩ σαá¡¿Γß∩, ¬á¬ ß½«ó« ß«
- º¡á¬«¼.
-
- 4. àß½¿ «íÑ úαá¡¿µδ ¡áσ«ñ∩Γß∩ ó ñ¿á»áº«¡Ñ 0..65535 (Word -
- »ÑαѼѡ¡á∩ ñ½¿¡«⌐ ó ß½«ó«), Γ« »ÑαѼѡ¡á∩ σαá¡¿Γß∩, ¬á¬
- ß½«ó«.
-
- 5. é »α«Γ¿ó¡«¼ ß½πτáÑ »ÑαѼѡ¡á∩ σαá¡¿Γß∩, ¬á¬ ñó«⌐¡«Ñ ß½«-
- ó« ß« º¡á¬«¼ (Longint - ñ½¿¡¡«Ñ µÑ½«Ñ).
-
- 濼ó«½∞¡δ⌐ Γ¿»
- ─────────────────────────────────────────────────────────────────
-
- 濼ó«½∞¡δ⌐ Γ¿» ¿½¿ »«ññ¿á»áº«¡ («ΓαѺ«¬) ß¿¼ó«½∞¡«ú« Γ¿»á
- (Char) σαá¡¿Γß∩, ¬á¬ íá⌐Γ íѺ º¡á¬á.
-
- üπ½Ñó߬¿⌐ Γ¿»
- ─────────────────────────────────────────────────────────────────
-
- ç¡áτÑ¡¿∩ ¿ »ÑαѼѡ¡δÑ íπ½Ñó߬«ú« Γ¿»á Boolean σαá¡∩Γß∩ ¬á¬
- íá⌐Γ, WordBool - ¬á¬ ß½«ó«, á LongBool - ¬á¬ º¡áτÑ¡¿Ñ Longint.
- Åα¿ φΓ«¼ »«ñαáºπ¼ÑóáεΓß∩, τΓ« «¡¿ ¼«úπΓ »α¿¡¿¼áΓ∞ º¡áτÑ¡¿∩ 0
- (FalsÑ) ¿½¿ 1 (ÆruÑ).
-
- ÅÑαÑτ¿ß½¿¼δ⌐ Γ¿»
- ─────────────────────────────────────────────────────────────────
-
- ç¡áτÑ¡¿∩ »ÑαÑτ¿ß½¿¼«ú« Γ¿»á σαá¡∩Γß∩, ¬á¬ íá⌐Γ íѺ º¡á¬á,
- Ñß½¿ ¡π¼Ñαᵿ∩ ¡Ñ »αÑóδΦáÑΓ 256. é »α«Γ¿ó¡«¼ ß½πτáÑ «¡¿ σαá¡∩Γß∩,
- ¬á¬ ß½«ó« íѺ º¡á¬á.
-
-
-
- B.Pascal 7 & Objects/LR - 373 -
-
- Æ¿»δ ß »½áóáεΘÑ⌐ Γ«τ¬«⌐
- ─────────────────────────────────────────────────────────────────
-
- Æ¿»δ º¡áτÑ¡¿⌐ ß »½áóáεΘÑ⌐ Γ«τ¬«⌐ Real, Single, Double,
- Extended ¿ Comp (óÑΘÑßΓóÑ¡¡δ⌐, ß «ñ¿¡áα¡«⌐ Γ«τ¡«ßΓ∞ε, ß ñó«⌐¡«⌐
- Γ«τ¡«ßΓ∞ε, ß »«óδΦÑ¡¡«⌐ Γ«τ¡«ßΓ∞ε ¿ ß½«ª¡δ⌐) σαá¡∩Γß∩ ó ó¿ñÑ ñó«-
- ¿τ¡«ú« »αÑñßΓáó½Ñ¡¿∩ º¡á¬á (+ ¿½¿ -), »«¬áºáΓѽ∩ ßΓѻѡ¿ ¿ º¡áτá-
- ΘÑ⌐ τáßΓ¿ τ¿ß½á. ÅαÑñßΓáó½∩Ѽ«Ñ τ¿ß½« ¿¼ÑÑΓ º¡áτÑ¡¿Ñ:
-
- +/- º¡áτáΘá∩_τáßΓ∞ ò 2^»«¬áºáΓѽ∞_ßΓѻѡ¿
-
- úñÑ º¡áτáΘá∩ τáßΓ∞ τ¿ß½á »αÑñßΓáó½∩ÑΓ ß«í«⌐ «Γñѽ∞¡δ⌐ í¿Γ ß½Ñóá
- «Γ ñó«¿τ¡«⌐ ñÑß∩Γ¿τ¡«⌐ Γ«τ¬¿ (Γ« ÑßΓ∞ 0 <= º¡áτáΘá∩ τáßΓ∞ <= 2).
-
- é ß½ÑñπεΘÑ⌐ ñá½ÑÑ ßσÑ¼Ñ ß½Ñóá αáß»«½«ªÑ¡δ ßΓáαΦ¿Ñ º¡áτáΘ¿Ñ
- í¿Γδ, á ß»αáóá - ¼½áñΦ¿Ñ º¡áτáΘ¿Ñ í¿Γδ. æá¼«Ñ ½Ñó«Ñ º¡áτÑ¡¿Ñ σαá-
- ¡¿Γß∩ ó ßá¼δσ ßΓáαΦ¿σ áñαÑßáσ. ìá»α¿¼Ñα, ñ½∩ º¡áτÑ¡¿∩ óÑΘÑßΓóÑ¡-
- ¡«ú« Γ¿»á e ß«σαá¡∩ÑΓß∩ ó »Ñαó«¼ íá⌐ΓÑ, f - ó ß½ÑñπεΘ¿σ »∩Γ¿ íá⌐-
- Γáσ, á s - ó ßΓáαΦѼ º¡áτáΘѼ í¿ΓÑ »«ß½Ññ¡Ñú« íá⌐Γá.
-
- éÑΘÑßΓóÑ¡¡δ⌐ Γ¿»
- ─────────────────────────────────────────────────────────────────
-
- ÿÑßΓ¿íá⌐Γ«ó«Ñ (48-í¿Γ«ó«Ñ) óÑΘÑßΓóÑ¡¡«Ñ τ¿ß½« (Real) »«ñαáº-
- ñѽ∩ÑΓß∩ ¡á Γα¿ »«½∩:
-
- 1 39 8
- ┌───┬──────..───────┬────────┐
- │ s │ f │ e │
- └───┴──────..───────┴────────┘
- msb lsb msb lsb
-
- ç¡áτÑ¡¿Ñ v τ¿ß½á «»αÑñѽ∩ÑΓß∩ ß »«¼«Θ∞ε óδαáªÑ¡¿⌐:
-
- if 0 < e <= 255, then v = (-1)^s * 2^(e-129)*(l.f).
- if e = 0, then v = 0.
-
- éÑΘÑßΓóÑ¡¡δ⌐ Γ¿» ¡Ñ ¼«ªÑΓ ¿ß»«½∞º«óáΓ∞ß∩ ñ½∩ σαá¡Ñ¡¿∩ ¡Ñ¡«α-
- ¼á½¿º«óá¡¡δσ τ¿ßѽ, º¡áτÑ¡¿⌐, ¡Ñ ∩ó½∩εΘ¿σß∩ τ¿ß½«¼ (NaN), á ΓᬪÑ
- íÑ߬«¡Ñτ¡« ¼á½δσ ¿ íÑ߬«¡Ñτ¡« í«½∞Φ¿σ º¡áτÑ¡¿⌐. ìÑ¡«α¼á½¿º«óá¡¡«Ñ
- τ¿ß½« »α¿ ß«σαá¡Ñ¡¿¿ Ñú« ó ó¿ñÑ óÑΘÑßΓóÑ¡¡«ú« »α¿¡¿¼áÑΓ ¡π½Ñó«Ñ
- º¡áτÑ¡¿Ñ, á ¡Ñ τ¿ß½á, íÑ߬«¡Ñτ¡« ¼á½δÑ ¿ íÑ߬«¡Ñτ¡« í«½∞Φ¿Ñ º¡á-
- τÑ¡¿∩ »α¿ »«»δ⪥ ¿ß»«½∞º«óáΓ∞ ñ½∩ ¿σ ºá»¿ß¿ Σ«α¼áΓ óÑΘÑßΓóÑ¡¡«ú«
- τ¿ß½á »α¿ó«ñ∩Γ ¬ «Φ¿í¬Ñ »ÑαÑ»«½¡Ñ¡¿∩.
-
- çñÑß∞ ¿ ñá½ÑÑ msb «º¡áτáÑΓ í«½ÑÑ º¡áτáΘ¿⌐ í¿Γ (ßΓáαΦ¿Ñ αáº-
- α∩ñδ), lsb - ¼Ñ¡ÑÑ º¡áτáΘ¿⌐ (¼½áñΦ¿Ñ αáºα∩ñδ).
-
-
-
- B.Pascal 7 & Objects/LR - 374 -
-
- Æ¿» τ¿ß½á ß «ñ¿¡áα¡«⌐ Γ«τ¡«ßΓ∞ε
- ─────────────────────────────────────────────────────────────────
-
- ùÑΓδαÑσíá⌐Γ«ó«Ñ (32-í¿Γ«ó«Ñ) τ¿ß½« Γ¿»á Single »«ñαáºñѽ∩ÑΓ-
- ß∩ ¡á Γα¿ »«½∩:
-
- 1 8 23
- ┌───┬──────┬───────..─────────┐
- │ s │ e │ f │
- └───┴──────┴───────..─────────┘
- msb lsb msb lsb
-
- ç¡áτÑ¡¿Ñ v φΓ«ú« τ¿ß½á «»αÑñѽ∩ÑΓß∩ ß »«¼«Θ∞ε óδαáªÑ¡¿⌐:
-
- if 0 < e < 255, then v = (-1)^s * 2^(e-12) * (l.f).
- if e = 0 and f <> 0, then v = (-1)^s * 2^(126) * (o.f).
- if e = 0 and f = 0, then v = (-1)^s * O.
- if e = 255 and f = 0, then v = (-1)^s * Inf.
- if e = 255 and f <> 0, then v = NaN.
-
- Æ¿» τ¿ß½á ß ñó«⌐¡«⌐ Γ«τ¡«ßΓ∞ε
- ─────────────────────────────────────────────────────────────────
-
- é«ß∞¼¿íá⌐Γ«ó«Ñ (64-í¿Γ«ó«Ñ) τ¿ß½« Γ¿»á Double »«ñαáºñѽ∩ÑΓß∩
- ¡á Γα¿ »«½∩:
-
- 1 11 52
- ┌───┬──────┬───────..────────┐
- │ s │ e │ f │
- └───┴──────┴───────..────────┘
- msb lsb msb lsb
-
- ç¡áτÑ¡¿Ñ v φΓ«ú« τ¿ß½á «»αÑñѽ∩ÑΓß∩ ß »«¼«Θ∞ε óδαáªÑ¡¿⌐:
-
- if 0 < e < 2047, then v = (-1)^s * 2^(e-1023) * (l.f).
- if e = 0 and f <> 0, then v = (-1)^s * 2^(1022) * (o.f).
- if e = 0 and f = 0, then v = (-1)^s * O.
- if e = 2047 and f = 0, then v = (-1)^s * Inf.
- if e = 2047 and f <> 0, then v = NaN.
-
-
-
-
- B.Pascal 7 & Objects/LR - 375 -
-
- Æ¿» τ¿ß½á ß »«óδΦÑ¡¡«⌐ Γ«τ¡«ßΓ∞ε
- ─────────────────────────────────────────────────────────────────
-
- äÑß∩Γ¿íá⌐Γ«ó«Ñ (80-í¿Γ«ó«Ñ) τ¿ß½« Γ¿»á Extended »«ñαáºñѽ∩-
- ÑΓß∩ ¡á τÑΓδαÑ »«½∩:
-
- 1 15 1 63
- ┌───┬────────┬───┬────────..───────┐
- │ s │ e │ i │ f │
- └───┴────────┴───┴────────..───────┘
- msb lsb msb lsb
-
- ç¡áτÑ¡¿Ñ v φΓ«ú« τ¿ß½á «»αÑñѽ∩ÑΓß∩ ß »«¼«Θ∞ε óδαáªÑ¡¿⌐:
-
- if 0 < e < 32767, then v = (-1)^s * 2^(e-1023) * (l.f).
- if e = 32767 and f = 0, then v = (-1)^s * Inf.
- if e = 32767 and f <> 0, then v = NaN.
-
- 潫ª¡δ⌐ Γ¿»
- ─────────────────────────────────────────────────────────────────
-
- é«ß∞¼¿íá⌐Γ«ó«Ñ (64-í¿Γ«ó«Ñ) τ¿ß½« ß½«ª¡«ú« Γ¿»á (Comp) »«ñ-
- αáºñѽ∩ÑΓß∩ ¡á ñóá »«½∩:
-
- 1 63
- ┌───┬───────────..──────────────┐
- │ s │ d │
- └───┴───────────..──────────────┘
- msb lsb
-
- ç¡áτÑ¡¿Ñ v φΓ«ú« τ¿ß½á «»αÑñѽ∩ÑΓß∩ ß »«¼«Θ∞ε óδαáªÑ¡¿⌐:
-
- if s = 1 and d = 0, then v = NaN.
-
- ó »α«Γ¿ó¡«¼ ß½πτáÑ v »αÑñßΓáó½∩ÑΓ ß«í«⌐ 64-í¿Γ«ó«Ñ º¡áτÑ¡¿Ñ, ∩ó-
- ½∩εΘÑÑß∩ ñ«»«½¡Ñ¡¿Ñ¼ ñ« ñóπσ.
-
- ç¡áτÑ¡¿∩ Γ¿»á π¬áºáΓѽ∞
- ─────────────────────────────────────────────────────────────────
-
- ç¡áτÑ¡¿Ñ Γ¿»á π¬áºáΓѽ∞ σαá¡¿Γß∩ ó ó¿ñÑ ñó«⌐¡«ú« ß½«óá, »α¿
- φΓ«¼ ß¼ÑΘÑ¡¿Ñ σαá¡¿Γß∩ ó ¼½áñΦѼ ß½«óÑ, á áñαÑß ßÑú¼Ñ¡Γá - ó
- ßΓáαΦѼ ß½«óÑ. ç¡áτÑ¡¿Ñ π¬áºáΓѽ∩ nil σαá¡¿Γß∩ ó ó¿ñÑ ñó«⌐¡«ú«
- ß½«óá, ºá»«½¡Ñ¡¡«ú« 0.
-
-
-
- B.Pascal 7 & Objects/LR - 376 -
-
- ç¡áτÑ¡¿∩ ßΓ᫬«ó«ú« Γ¿»á
- ─────────────────────────────────────────────────────────────────
-
- æΓα«¬á ºá¡¿¼áÑΓ ßΓ«½∞¬« íá⌐Γ, ¬á¬«óá ¼á¬ß¿¼á½∞¡á∩ ñ½¿¡á
- ßΓ᫬¿, »½εß «ñ¿¡ íá⌐Γ. ÅÑαóδ⌐ íá⌐Γ ß«ñÑαª¿Γ ΓѬπΘπε ñ¿¡á¼¿τÑ߬πε
- ñ½¿¡π ßΓ᫬¿, á »«ß½ÑñπεΘ¿Ñ íá⌐Γδ ß«ñÑαªáΓ ß¿¼ó«½δ ßΓ᫬¿. ü¿Γ
- ñ½¿¡δ ¿ ß¿¼ó«½δ αáßß¼áΓα¿óáεΓß∩, ¬á¬ º¡áτÑ¡¿∩ íѺ º¡á¬á. îá¬ß¿-
- ¼á½∞¡á∩ ñ½¿¡á ßΓ᫬¿ - 255 ß¿¼ó«½«ó, »½εß íá⌐Γ ñ½¿¡δ
- (string[255]).
-
- ç¡áτÑ¡¿∩ ¼¡«ªÑßΓóÑ¡¡«ú« Γ¿»á
- ─────────────────────────────────────────────────────────────────
-
- î¡«ªÑßΓó« - φΓ« ¼áßß¿ó í¿Γ, ó ¬«Γ«α«¼ ¬áªñδ⌐ í¿Γ π¬áºδóáÑΓ,
- ∩ó½∩ÑΓß∩ φ½Ñ¼Ñ¡Γ »α¿¡áñ½ÑªáΘ¿¼ ¼¡«ªÑßΓóπ ¿½¿ ¡ÑΓ. îá¬ß¿¼á½∞¡«Ñ
- τ¿ß½« φ½Ñ¼Ñ¡Γ«ó ¼¡«ªÑßΓóá - 256, ΓᬠτΓ« ¼¡«ªÑßΓó« ¡¿¬«úñá ¡Ñ ¼«-
- ªÑΓ ºá¡¿¼áΓ∞ í«½ÑÑ 32 íá⌐Γ. ù¿ß½« íá⌐Γ, ºá¡∩Γδσ «Γñѽ∞¡δ¼ ¼¡«-
- ªÑßΓó«¼, óδτ¿ß½∩ÑΓß∩, ¬á¬:
-
- ByteSize = (Max div 8) - (Min div 8) + 1
-
- úñÑ îin ¿ îáσ - ¡¿ª¡∩∩ ¿ óÑασ¡∩∩ úαá¡¿µá íẫó«ú« Γ¿»á φΓ«ú« ¼¡«-
- ªÑßΓóá. 쫼Ñα íá⌐Γá ñ½∩ ¬«¡¬αÑΓ¡«ú« φ½Ñ¼Ñ¡Γá E óδτ¿ß½∩ÑΓß∩ »«
- Σ«α¼π½Ñ:
-
- ByteNumber = (E div 8) - (Min div 8)
-
- á ¡«¼Ñα í¿Γá ó¡πΓα¿ φΓ«ú« íá⌐Γá »« Σ«α¼π½Ñ:
-
- BitNumber = E mod 8
-
- úñÑ E «í«º¡áτáÑΓ »«α∩ñ¬«ó«Ñ º¡áτÑ¡¿Ñ φ½Ñ¼Ñ¡Γá.
-
- ç¡áτÑ¡¿∩ Γ¿»á ¼áßß¿ó
- ─────────────────────────────────────────────────────────────────
-
- îáßß¿ó σαá¡¿Γß∩ ó ó¿ñÑ ¡Ñ»αÑαδó¡«⌐ »«ß½Ññ«óáΓѽ∞¡«ßΓ¿ »ÑαÑ-
- ¼Ñ¡¡δσ, ¬áªñá∩ ¿º ¬«Γ«αδσ ¿¼ÑÑΓ Γ¿» ¼áßß¿óá. ¥½Ñ¼Ñ¡Γδ ß ¡á¿¼Ñ¡∞-
- Φ¿¼¿ ¿¡ñѬßἿ σαá¡∩Γß∩ ó ¼½áñΦ¿σ áñαÑßáσ »á¼∩Γ¿. î¡«ú«¼Ñα¡δ⌐
- ¼áßß¿ó σαá¡¿Γß∩ Γᬿ¼ «íαẫ¼, τΓ« »αáóδ⌐ ¿¡ñÑ¬ß ó«ºαáßΓáÑΓ íδßΓ-
- ॥.
-
- ç¡áτÑ¡¿∩ Γ¿»á ºá»¿ß∞
- ─────────────────────────────────────────────────────────────────
-
- Å«½∩ ºá»¿ß¿ σαá¡∩Γß∩, ¬á¬ ¡Ñ»αÑαδó¡á∩ »«ß½Ññ«óáΓѽ∞¡«ßΓ∞ »Ñ-
- αѼѡ¡δσ. ÅÑαó«Ñ »«½Ñ σαá¡¿Γß∩ ó ¼½áñΦ¿σ áñαÑßáσ »á¼∩Γ¿. àß½¿ ó
- ºá»¿ß¿ ß«ñÑαªáΓß∩ αẽ¿τ¡δÑ τáßΓ¿, Γ« ¬áªñá∩ τáßΓ∞ ¡áτ¿¡áÑΓß∩ ß
- «ñ¡«ú« ¿ Γ«ú« ªÑ áñαÑßá »á¼∩Γ¿.
-
-
-
- B.Pascal 7 & Objects/LR - 377 -
-
- ÄíΩÑ¬Γ¡δÑ Γ¿»δ
- ─────────────────────────────────────────────────────────────────
-
- é¡πΓαÑ¡¡¿⌐ Σ«α¼áΓ ñá¡¡δσ «íΩѬΓá ¿¼ÑÑΓ ßσ«ñßΓó« ß ó¡πΓαÑ¡¡¿¼
- Σ«α¼áΓ«¼ ºá»¿ß¿. Å«½∩ «íΩѬΓá ºá»¿ßδóáεΓß∩ ó »«α∩ñ¬Ñ ¿σ «»¿ßá¡¿⌐
- ¬á¬ ¡Ñ»αÑαδó¡á∩ »«ß½Ññ«óáΓѽ∞¡«ßΓ∞ »ÑαѼѡ¡δσ. ïεí«Ñ »«½Ñ, π¡áß-
- ½Ññ«óá¡¡«Ñ «Γ α«ñ¿Γѽ∞߬«ú« (»«α«ªñáεΘÑú«) Γ¿»á, ºá»¿ßδóáÑΓß∩ »Ñ-
- αÑñ ¡«ó묨 »«½∩¼¿, «»αÑñѽѡ¡δ¼¿ ó ñ«τÑα¡Ñ¼ (»«α«ªñÑ¡¡«¼) Γ¿»Ñ.
-
- àß½¿ «íΩÑ¬Γ¡δ⌐ Γ¿» «»αÑñѽ∩ÑΓ ó¿αΓπá½∞¡δÑ ¼ÑΓ«ñδ, ¬«¡ßΓαπ¬-
- Γ«α ¿½¿ ñÑßΓαπ¬Γ«α, Γ« ¬«¼»¿½∩Γ«α αẼÑΘáÑΓ ó «íΩÑ¬Γ¡«¼ Γ¿»Ñ ñ«-
- »«½¡¿Γѽ∞¡«Ñ »«½Ñ ñá¡¡δσ. ¥Γ« 16-í¿Γ«ó«Ñ »«½Ñ, ¡áºδóáѼ«Ñ »«½Ñ¼
- Γáí½¿µδ ó¿αΓπá½∞¡δσ ¼ÑΓ«ñ«ó (VMP), ¿ß»«½∞ºπÑΓß∩ ñ½∩ ºá»«¼¿¡á¡¿∩
- ß¼ÑΘÑ¡¿∩ Γáí½¿µδ ó¿αΓπá½∞¡δσ ¼ÑΓ«ñ«ó ó ßÑú¼Ñ¡ΓÑ ñá¡¡δσ. Å«½Ñ Γáí-
- ½¿µδ ó¿αΓπá½∞¡δσ ¼ÑΓ«ñ«ó ß½ÑñπÑΓ ¡Ñ»«ßαÑñßΓóÑ¡¡« »«ß½Ñ «íδτ¡δσ
- »«½Ñ⌐ «íΩÑ¬Γ¡«ú« Γ¿»á. àß½¿ «íΩÑ¬Γ¡δ⌐ Γ¿» ¡áß½ÑñπÑΓ ó¿αΓπá½∞¡δÑ
- ¼ÑΓ«ñδ, ¬«¡ßΓαπ¬Γ«αδ ¿½¿ ñÑßΓαπ¬Γ«αδ (ßí«αΘ¿¬¿ ¼πß«αá), Γ« «¡
- Γá¬ªÑ ¡áß½ÑñπÑΓ ¿ »«½Ñ Γáí½¿µδ ó¿αΓπá½∞¡δσ ¼ÑΓ«ñ«ó, í½áú«ñáα∩ τÑ-
- ¼π ñ«»«½¡¿Γѽ∞¡«Ñ »«½Ñ Γáí½¿µδ ó¿αΓπá½∞¡δσ ¼ÑΓ«ñ«ó ¡Ñ óδñѽ∩ÑΓß∩.
-
- ê¡¿µ¿á½¿ºáµ¿∩ »«½∩ Γáí½¿µδ ó¿αΓπá½∞¡δσ ¼ÑΓ«ñ«ó φ¬ºÑ¼»½∩αá
- «íΩѬΓá «ßπΘÑßΓó½∩ÑΓß∩ ¬«¡ßΓαπ¬Γ«α«¼ (¿½¿ ¬«¡ßΓαπ¬Γ«αἿ) «íΩѬΓ-
- ¡«ú« Γ¿»á. Åα«úαá¼¼á ¡¿¬«úñá ¡Ñ ¿¡¿µ¿á½¿º¿απÑΓ »«½Ñ Γáí½¿µδ ó¿α-
- Γπá½∞¡δσ ¼ÑΓ«ñ«ó ∩ó¡« ¿ ¡Ñ ¿¼ÑÑΓ ¬ ¡Ñ¼π ñ«ßΓπ»á.
-
- æ½ÑñπεΘ¿Ñ »α¿¼Ñαδ ¿½½εßΓα¿απεΓ ó¡πΓαÑ¡¡¿Ñ Σ«α¼áΓδ ñá¡¡δσ
- «íΩÑ¬Γ¡δσ Γ¿»«ó.
-
- type
- PLocation = ^TLocation;
- TLocation = object
- X,Y: integer;
- procedure Init(PX, PY: Integer);
- function GetX: Integer;
- function GetY: Integer;
- end;
-
- PPoint = ^TPoint;
-
- TPoint = object(TLocation)
- Color: Integer;
- constructor Init(PX, PY, PColor: Integer);
- destructor Done; virtual;
- procedure Show; virtual;
- procedure Hide; virtual;
- procedure MoveTo(PX, PY: I+nteger); virtual;
- end;
-
- PCircle = ^TCircle;
- TCircle = object(TPoint)
- Radius: Integer;
- constructor Init(PX, PY, PColor, PRadius: Integer);
- procedure Show; virtual;
-
- B.Pascal 7 & Objects/LR - 378 -
-
- procedure Hide; virtual;
- procedure Fill; virtual;
- end;
-
- É¿ßπ¡«¬ 21.8 »«¬áºδóáÑΓ αẼÑΘÑ¡¿Ñ φ¬ºÑ¼»½∩α«ó Γ¿»«ó
- TLocation, TPoint ¿ TCircle: ¬áªñδ⌐ »α∩¼«πú«½∞¡¿¬ ß««ΓóÑΓßΓóπÑΓ
- «ñ¡«¼π ß½«óπ »á¼∩Γ¿.
-
- TLocation TPoint TCircle
- ┌──────────┐ ┌───────────┐ ┌───────────┐
- │ X │ │ X │ │ X │
- ├──────────┤ ├───────────┤ ├───────────┤
- │ Y │ │ Y │ │ Y │
- └──────────┘ ├───────────┤ ├───────────┤
- │ Color │ │ Color │
- ├───────────┤ ├───────────┤
- │ VMT │ │ VMT │
- └───────────┘ ├───────────┤
- │ Radius │
- └───────────┘
-
- É¿ß. 21.8 æσѼá φ¬ºÑ¼»½∩α«ó Γ¿»«ó TLocation, TPoint ¿
- TCircle.
-
- Æá¬ ¬á¬ TPoint ∩ó½∩ÑΓß∩ »Ñαóδ¼ Γ¿»«¼ ó ¿Ñαáασ¿¿, ¬«Γ«αδ⌐
- óó«ñ¿Γ ó¿αΓπá½∞¡δÑ ¼ÑΓ«ñδ, Γ« »«½Ñ Γáí½¿µδ ó¿αΓπá½∞¡δσ ¼ÑΓ«ñ«ó
- αẼÑΘáÑΓß∩ ßαáºπ »«ß½Ñ »«½∩ Color.
-
-
- Æáí½¿µá ó¿αΓπá½∞¡δσ ¼ÑΓ«ñ«ó
- ─────────────────────────────────────────────────────────────────
-
- èáªñδ⌐ «íΩÑ¬Γ¡δ⌐ Γ¿», ß«ñÑαªáΘ¿⌐ ¿½¿ ¡áß½ÑñπεΘ¿⌐ ó¿αΓπá½∞¡δÑ
- ¼ÑΓ«ñδ, ¬«¡ßΓαπ¬Γ«αδ ¿½¿ ñÑßΓαπ¬Γ«αδ, ¿¼ÑÑΓ ßó∩ºá¡¡πε ß ¡¿¼ Γáí-
- ½¿µπ ó¿αΓπá½∞¡δσ ¼ÑΓ«ñ«ó, ó ¬«Γ«α«⌐ ºá»«¼¿¡áÑΓß∩ ¿¡¿µ¿á½¿º¿απѼá∩
- τáßΓ∞ ßÑú¼Ñ¡Γá ñá¡¡δσ »α«úαá¼¼δ. ä½∩ ¬áªñ«ú« «íΩÑ¬Γ¡«ú« Γ¿»á (¡«
- ¡Ñ ñ½∩ ¬áªñ«ú« φ¬ºÑ¼»½∩αá) ¿¼ÑÑΓß∩ Γ«½∞¬« «ñ¡á Γáí½¿µá ó¿αΓπá½∞-
- ¡δσ ¼ÑΓ«ñ«ó, «ñ¡á¬« ñóá αẽ¿τ¡δσ «íΩÑ¬Γ¡δσ Γ¿»á ¡¿¬«úñá ¡Ñ αáº-
- ñѽ∩εΓ «ñ¡π Γáí½¿µπ ó¿αΓπá½∞¡δσ ¼ÑΓ«ñ«ó, ¡Ñºáó¿ß¿¼« «Γ Γ«ú«, ¡áß-
- ¬«½∞¬« φΓ¿ Γ¿»δ ¿ñÑ¡Γ¿τ¡δ. Æáí½¿µδ ó¿αΓπá½∞¡δσ ¼ÑΓ«ñ«ó ß«ºñáεΓß∩
- áóΓ«¼áΓ¿τÑ߬¿ ¬«¼»¿½∩Γ«α«¼, ¿ »α«úαá¼¼á ¡¿¬«úñá ¡Ñ ¼á¡¿»π½¿απÑΓ
- ¿¼¿ ¡Ñ»«ßαÑñßΓóÑ¡¡«. ǡὫú¿τ¡«, π¬áºáΓѽ¿ ¡á Γáí½¿µδ ó¿αΓπá½∞¡δσ
- ¼ÑΓ«ñ«ó áóΓ«¼áΓ¿τÑ߬¿ ºá»«¼¿¡áεΓß∩ ó αÑ὿ºáµ¿∩σ «íΩÑ¬Γ¡δσ Γ¿»«ó
- ß »«¼«Θ∞ε ¬«¡ßΓαπ¬Γ«α«ó »α«úαá¼¼á ¡¿¬«úñá ¡Ñ αáí«ΓáÑΓ ß φΓ¿¼¿
- π¬áºáΓѽ∩¼¿ ¡Ñ»«ßαÑñßΓóÑ¡¡«.
-
- ÅÑαó«Ñ ß½«ó« Γáí½¿µδ ó¿αΓπá½∞¡δσ ¼ÑΓ«ñ«ó ß«ñÑαª¿Γ αẼÑα
- φ¬ºÑ¼»½∩α«ó ß««ΓóÑΓßΓóπεΘÑú« «íΩÑ¬Γ¡«ú« Γ¿»á. ¥Γá ¿¡Σ«α¼áµ¿∩ ¿ß-
- »«½∞ºπÑΓß∩ ¬«¡ßΓαπ¬Γ«αἿ ¿ ñÑßΓαπ¬Γ«αἿ ñ½∩ «»αÑñѽѡ¿∩ Γ«ú«,
- ߬«½∞¬« íá⌐Γ óδñѽ∩ÑΓß∩ ¿½¿ «ßó«í«ªñáÑΓß∩ »α¿ ¿ß»«½∞º«óá¡¿¿ αáß-
- Φ¿αÑ¡¡«ú« ß¿¡Γá¬ß¿ßá ßΓá¡ñáαΓ¡δσ »α«µÑñπα New ¿ Dispose.
-
- éΓ«α«Ñ ß½«ó« Γáí½¿µδ ó¿αΓπá½∞¡δσ ¼ÑΓ«ñ«ó ß«ñÑαª¿Γ «Γα¿µá-
-
- B.Pascal 7 & Objects/LR - 379 -
-
- Γѽ∞¡δ⌐ αẼÑα φ¬ºÑ¼»½∩α«ó ß««ΓóÑΓßΓóπεΘÑú« «íΩÑ¬Γ¡«ú« Γ¿»á φΓá
- ¿¡Σ«α¼áµ¿∩ ¿ß»«½∞ºπÑΓß∩ αáΓ¿Σ¿¬áµ¿«¡¡δ¼ (Γ.Ñ. »«ñΓóÑαªñáεΘ¿¼
- ñÑ⌐ßΓó¿Γѽ∞¡«ßΓ∞) ¼Ñσá¡¿º¼«¼ ó맮óá ó¿αΓπá½∞¡«ú« ¼ÑΓ«ñá ñ½∩ óδ∩ó-
- ½Ñ¡¿∩ ¿¡¿µ¿á½¿º¿απѼδσ «íΩÑ¬Γ«ó (φ¬ºÑ¼»½∩α«ó, ñ½∩ ¬«Γ«αδσ ñ«½ªÑ¡
- óδ»«½¡∩Γ∞ß∩ ¬«¡ßΓαπ¬Γ«α) ¿ ñ½∩ »α«óÑન ß«ú½áß«óá¡¡«ßΓ¿ Γáí½¿µδ
- ó¿αΓπá½∞¡δσ ¼ÑΓ«ñ«ó. è«úñá αáºαÑΦÑ¡á αáΓ¿Σ¿¬áµ¿∩ ó¿αΓπá½∞¡«ú« óδ-
- º«óá (ß »«¼«Θ∞ε ñ¿αÑ¬Γ¿óδ {$R+} ¬«¼»¿½∩Γ«αá, ¬«Γ«αá∩ αáßΦ¿αÑ¡á ¿
- ó¬½ετáÑΓ ó ßÑí∩ »α«óÑα¬π ó¿αΓπá½∞¡δσ ¼ÑΓ«ñ«ó), ¬«¼»¿½∩Γ«α úÑ¡Ñα¿-
- απÑΓ ó맮ó »α«úαá¼¼δ αáΓ¿Σ¿¬áµ¿¿ Γáí½¿µδ ó¿αΓπá½∞¡δσ ¼ÑΓ«ñ«ó »Ñ-
- αÑñ ¬áªñδ¼ óδº«ó«¼ ó¿αΓπá½∞¡«ú« ¼ÑΓ«ñá. Åα«úαá¼¼á αáΓ¿Σ¿¬áµ¿¿
- Γáí½¿µδ ó¿αΓπá½∞¡δσ ¼ÑΓ«ñ«ó »α«óÑα∩ÑΓ, τΓ« »Ñαó«Ñ ß½«ó« Γáí½¿µδ
- ó¿αΓπá½∞¡δσ ¼ÑΓ«ñ«ó ¡Ñ αáó¡« ¡π½ε ¿ τΓ« ßπ¼¼á »Ñαó«ú« ¿ óΓ«α«ú«
- ß½«ó αáó¡á ¡π½ε. àß½¿ ½εíá∩ ¿º »α«óÑ᫬ ¡Ñπñáτ¡á, Γ« úÑ¡Ñα¿απÑΓß∩
- «Φ¿í¬á 210 ¿ß»«½¡∩εΘÑ⌐ ß¿ßΓѼδ Borland Pascal.
-
- ÉáºαÑΦÑ¡¿Ñ »α«óÑ᫬ úαá¡¿µ ñ¿á»áº«¡«ó ¿ »α«óÑ᫬ ó맮ó«ó
- ó¿αΓπá½∞¡δσ ¼ÑΓ«ñ«ó ºá¼Ññ½∩ÑΓ óδ»«½¡Ñ¡¿Ñ »α«úαá¼¼δ ¿ ñѽáÑΓ ÑÑ
- ¡Ñ߬«½∞¬« í«½∞ΦÑ, »«φΓ«¼π ¿ß»«½∞ºπ⌐ΓÑ {$R+} Γ«½∞¬« ó« óαѼ∩ «Γ-
- ½áñ¬¿ ¿ »ÑαѬ½ετ¿ΓÑ φΓπ ñ¿αÑ¬Γ¿óπ ó ß«ßΓ«∩¡¿Ñ {$R-} ó «¬«¡τáΓѽ∞-
- ¡«⌐ óÑαß¿¿ »α«úαá¼¼δ.
-
- ìᬫ¡Ñµ, ¡áτ¿¡á∩ ß« ß¼ÑΘÑ¡¿∩ 4 Γáí½¿µδ ó¿αΓπá½∞¡δσ ¼ÑΓ«ñ«ó
- ß½ÑñπÑΓ ß»¿ß«¬ 32-αáºα∩ñ¡δσ π¬áºáΓѽÑ⌐ ¼ÑΓ«ñ«ó, «ñ¿¡ π¬áºáΓѽ∞ ¡á
- ¬áªñδ⌐ ó¿αΓπá½∞¡δ⌐ ¼ÑΓ«ñ ó »«α∩ñ¬Ñ ¿σ «»¿ßá¡¿⌐. èáªñá∩ »«º¿µ¿∩
- ß«ñÑαª¿Γ áñαÑß Γ«τ¬¿ óσ«ñá ß««ΓóÑΓßΓóπεΘÑú« ó¿αΓπá½∞¡«ú« ¼ÑΓ«ñá.
-
-
- B.Pascal 7 & Objects/LR - 380 -
-
-
- ìá É¿ß. 21.9 »«¬áºá¡« αẼÑΘÑ¡¿Ñ Γáí½¿µ ó¿αΓπá½∞¡δσ ¼ÑΓ«ñ«ó
- Γ¿»«ó Point ¿ Circle (Γ¿» Location ¡Ñ ¿¼ÑÑΓ Γáí½¿µδ ó¿αΓπá½∞¡δσ
- ¼ÑΓ«ñ«ó, Γ.¬. ¡Ñ ß«ñÑαª¿Γ ó ßÑíÑ ó¿αΓπá½∞¡δσ ¼ÑΓ«ñ«ó, ¬«¡ßΓαπ¬Γ«-
- α«ó ¿ ñÑßΓαπ¬Γ«α«ó): ¬áªñδ⌐ ¼á½Ñ¡∞¬¿⌐ »α∩¼«πú«½∞¡¿¬ ß««ΓóÑΓßΓóπÑΓ
- «ñ¡«¼π ß½«óπ »á¼∩Γ¿, á ¬áªñδ⌐ í«½∞Φ«⌐ »α∩¼«πú«½∞¡¿¬ - ñóπ¼ ß½«óá¼
- »á¼∩Γ¿.
-
- Point VMT Circle VMT
- ┌───────────────┐ ┌────────────────┐
- │ 8 │ │ 8 │
- ├───────────────┤ ├────────────────┤
- │ -8 │ │ -8 │
- ├───────────────┤ ├────────────────┤
- │ 0 │ │ 0 │
- ├───────────────┤ ├────────────────┤
- │ 0 │ │ 0 │
- ├───────────────┤ ├────────────────┤
- │ │ │ │
- │ @TPoint.Done │ │ @TPoint.Done │
- │ │ │ │
- ├───────────────┤ ├────────────────┤
- │ │ │ │
- │ @TPoint.Show │ │ @TCircle.Show │
- │ │ │ │
- ├───────────────┤ ├────────────────┤
- │ │ │ │
- │ @TPoint.Hide │ │ @TCircle.Hide │
- │ │ │ │
- ├───────────────┤ ├────────────────┤
- │ │ │ │
- │ @TPoint.MoveTo│ │ @TPoint.MoveTo │
- │ │ │ │
- └───────────────┘ ├────────────────┤
- │ │
- │ @TCircle.Fill │
- │ │
- └────────────────┘
-
- É¿ß. 21.9 æσѼδ Γáí½¿µ ó¿αΓπá½∞¡δσ ¼ÑΓ«ñ«ó ñ½∩ TPoint ¿
- TCircle.
-
- ÄíαáΓ¿ΓÑ ó¡¿¼á¡¿Ñ ¡á Γ«, ¬á¬ TCircle ¡áß½ÑñπÑΓ ¼ÑΓ«ñδ Done ¿
- MoveTo Γ¿»á TPoint ¿ ¬á¬ «¡ »ÑαÑ«»αÑñѽ∩ÑΓ Show ¿ Hide.
-
- èᬠπªÑ π»«¼¿¡á½«ß∞, ¬«¡ßΓαπ¬Γ«αδ «íΩÑ¬Γ¡δσ Γ¿»«ó ß«ñÑαªáΓ
- ߻ѵ¿á½∞¡δ⌐ ¬«ñ, ¬«Γ«αδ⌐ ºá»«¼¿¡áÑΓ ß¼ÑΘÑ¡¿Ñ Γáí½¿µδ ó¿αΓπá½∞¡δσ
- ¼ÑΓ«ñ«ó «íΩÑ¬Γ¡«ú« Γ¿»á ó ¿¡¿µ¿á½¿º¿απѼδσ φ¬ºÑ¼»½∩αáσ. ìá»α¿¼Ñα,
- Ñß½¿ ¿¼ÑÑΓß∩ φ¬ºÑ¼»½∩α P Γ¿»á TPoint ¿ φ¬ºÑ¼»½∩α C Γ¿»á TCircle,
- Γ« ó맮ó P.Init íπñÑΓ áóΓ«¼áΓ¿τÑ߬¿ ºá»¿ßδóáΓ∞ ß¼ÑΘÑ¡¿Ñ Γáí½¿µδ
- ó¿αΓπá½∞¡δσ ¼ÑΓ«ñ«ó Γ¿»á TPoint ó »«½Ñ Γáí½¿µδ ó¿αΓπá½∞¡δσ ¼ÑΓ«-
- ñ«ó φ¬ºÑ¼»½∩αá P, á ó맮ó C.Init Γ«τ¡« ΓᬠªÑ ºá»¿ΦÑΓ ß¼ÑΘÑ¡¿Ñ
- Γáí½¿µδ ó¿αΓπá½∞¡δσ ¼ÑΓ«ñ«ó Γ¿»á TCircle ó »«½Ñ Γáí½¿µδ ó¿αΓπá½∞-
-
- B.Pascal 7 & Objects/LR - 381 -
-
- ¡δσ ¼ÑΓ«ñ«ó φ¬ºÑ¼»½∩αá C. ¥Γá áóΓ«¼áΓ¿τÑ߬á∩ ¿¡¿µ¿á½¿ºáµ¿∩ ∩ó½∩-
- ÑΓß∩ τáßΓ∞ε ¬«ñá óσ«ñá ¬«¡ßΓαπ¬Γ«αá, »«φΓ«¼π Ñß½¿ π»αáó½Ñ¡¿Ñ »Ñ-
- αÑñáÑΓß∩ ó ¡áτὫ «»ÑαáΓ«α¡«⌐ ßѬµ¿¿, Γ« »«½Ñ Self Γáí½¿µδ ó¿αΓπ-
- á½∞¡δσ ¼ÑΓ«ñ«ó Γá¬ªÑ íπñÑΓ πßΓá¡«ó½Ñ¡«. Æá¬¿¼ «íαẫ¼, »α¿ ó«º-
- ¡¿¬¡«óÑ¡¿¿ ¡Ñ«íσ«ñ¿¼«ßΓ¿, ¬«¡ßΓαπ¬Γ«α ¼«ªÑΓ óδ»«½¡¿Γ∞ ó맮ó ó¿α-
- Γπá½∞¡«ú« ¼ÑΓ«ñá.
-
- Æáí½¿µá ñ¿¡á¼¿τÑ߬¿σ ¼ÑΓ«ñ«ó
- ─────────────────────────────────────────────────────────────────
-
- Æáí½¿µá ó¿αΓπá½∞¡δσ ¼ÑΓ«ñ«ó «íΩÑ¬Γ¡«ú« Γ¿»á ß«ñÑαª¿Γ ñ½∩
- ¬áªñ«ú« «»¿ßá¡¡«ú« ó «íΩÑ¬Γ¡«¼ Γ¿»Ñ ó¿αΓπá½∞¡«ú« ¼ÑΓ«ñá ¿ Ñú«
- »αÑñ¬«ó τÑΓδαÑσíá⌐Γ«óπε ºá»¿ß∞. é ΓÑσ ß½πτá∩σ, ¬«úñá ó »«α«ªñáε-
- Θ¿σ Γ¿»áσ (»αÑñ¬áσ) «»αÑñѽ∩ÑΓß∩ í«½∞ΦÑÑ τ¿ß½« ó¿αΓπá½∞¡δσ ¼ÑΓ«-
- ñ«ó, ó »α«µÑßßÑ ß«ºñá¡¿∩ »α«¿ºó«ñ¡δσ Γ¿»«ó ¼«ªÑΓ ¿ß»«½∞º«óáΓ∞ß∩
- ñ«ßΓáΓ«τ¡« í«½∞Φ«⌐ «íΩѼ »á¼∩Γ¿, «ß«íÑ¡¡« Ñß½¿ ß«ºñáÑΓß∩ ¼¡«ú«
- »α«¿ºó«ñ¡δσ Γ¿»«ó. ò«Γ∩ ó »α«¿ºó«ñ¡δσ Γ¿»áσ ¼«úπΓ »ÑαÑ«»αÑñѽ∩Γ∞-
- ß∩ Γ«½∞¬« ¡Ñ¬«Γ«αδÑ ¿º ¡áß½ÑñπѼδσ ¼ÑΓ«ñ«ó, Γáí½¿µá ó¿αΓπá½∞¡δσ
- ¼ÑΓ«ñ«ó ¬áªñ«ú« »α«¿ºó«ñ¡«ú« Γ¿»á ß«ñÑαª¿Γ π¬áºáΓѽ¿ ¼ÑΓ«ñá ñ½∩
- óßÑσ ¡áß½ÑñπѼδσ ó¿αΓπá½∞¡δσ ¼ÑΓ«ñ«ó, ñáªÑ Ñß½¿ «¡¿ ¡Ñ ¿º¼Ñ¡∩-
- ½¿ß∞.
-
- 信ἿτÑ߬¿Ñ ¼ÑΓ«ñδ «íÑß»Ñτ¿óáεΓ ó Γᬿσ ß¿Γπᵿ∩σ á½∞ΓÑα¡á-
- Γ¿óπ. é Borland Pascal ¿¼ÑÑΓß∩ Σ«α¼áΓ Γáí½¿µδ ¼ÑΓ«ñ«ó ¿ ¡«óδ⌐
- ß»«ß«í ñ¿ß»ÑΓτÑα¿ºáµ¿¿ ¼ÑΓ«ñ«ó ß »«ºñ¡¿¼ ßó∩ºδó᡿Ѽ. é¼ÑßΓ« ¬«-
- ñ¿α«óá¡¿∩ ñ½∩ óßÑσ ¼ÑΓ«ñ«ó «íΩÑ¬Γ¡«ú« Γ¿»á ß »«ºñ¡¿¼ ßó∩ºδó᡿Ѽ,
- ó Γáí½¿µÑ ñ¿¡á¼¿τÑ߬¿σ ¼ÑΓ«ñ«ó ¬«ñ¿απεΓß∩ Γ«½∞¬« ΓÑ ¼ÑΓ«ñδ, ¬«Γ«-
- αδÑ í뫨 ó «íΩÑ¬Γ¡«¼ Γ¿»Ñ »ÑαÑ«»αÑñѽѡδ. àß½¿ ó ¡áß½ÑñπεΘ¿σ Γ¿-
- »áσ »ÑαÑ«»αÑñѽ∩εΓß∩ Γ«½∞¬« ¡Ñ¬«Γ«αδÑ ¿º í«½∞Φ«ú« τ¿ß½á ¼ÑΓ«ñ«ó ß
- »«ºñ¡¿¼ ßó∩ºδó᡿Ѽ, Σ«α¼áΓ Γáí½¿µδ ñ¿¡á¼¿τÑ߬¿σ ¼ÑΓ«ñ«ó ¿ß»«½∞-
- ºπÑΓ ¼Ñ¡∞ΦÑÑ »α«ßΓαá¡ßΓó«, τѼ Σ«α¼áΓ Γáí½¿µδ ó¿αΓπá½∞¡δσ ¼ÑΓ«-
- ñ«ó.
-
- B.Pascal 7 & Objects/LR - 382 -
-
-
- ö«α¼áΓ Γáí½¿µδ ñ¿¡á¼¿τÑ߬¿σ ¼ÑΓ«ñ«ó ¿½½εßΓα¿απεΓ ß½ÑñπεΘ¿Ñ
- ñóá «íΩÑ¬Γ¡δσ Γ¿»á:
-
- type
- TBase = object
- X: Integer;
- constructor Init;
- destructor Done; virtual;
- procedure P10; virtual 10;
- procedure P20; virtual 20;
- procedure P30; virtual 30;
- procedure P30; virtual 30;
- end;
-
- type
- TDerived = object(TBase)
- Y: Integer;
- constructor Init;
- destructor Done; virtual;
- procedure P10; virtual 10;
- procedure P30; virtual 30;
- procedure P50; virtual 50;
- end;
-
-
- B.Pascal 7 & Objects/LR - 383 -
-
-
- ìá É¿ß. 21.10 ¿ 21.11 »«¬áºá¡δ ßσѼδ Γáí½¿µδ ó¿αΓπá½∞¡δσ ¼Ñ-
- Γ«ñ«ó ¿ Γáí½¿µδ ñ¿¡á¼¿τÑ߬¿σ ¼ÑΓ«ñ«ó ñ½∩ TBase ¿ TDerived. èáªñá∩
- ∩τÑ⌐¬á ß««ΓóÑΓßΓóπÑΓ ß½«óπ »á¼∩Γ¿, á ¬áªñá∩ í«½∞Φá∩ ∩τÑ⌐¬á - ñóπ¼
- ß½«óá¼ »á¼∩Γ¿.
-
- Æéî TBase Æäî TBase
- ┌──────────────────┐ ┌──────────────────┐
- │ 4 │ │ 0 │
- ├──────────────────┤ ├──────────────────┤
- │ -4 │ │ ¿¡ñÑ¬ß ó ¬φΦ │
- ├──────────────────┤ ├──────────────────┤
- │ æ¼ÑΘ. Æäî TBase │ │ ß¼ÑΘÑ¡¿Ñ ºá»¿ß¿ │
- ├──────────────────┤ ├──────────────────┤
- │ 0 │ │ 4 │
- ├──────────────────┤ ├──────────────────┤
- │ │ │ 10 │
- │ @TBase.Done │ ├──────────────────┤
- │ │ │ 20 │
- └──────────────────┘ ├──────────────────┤
- │ 30 │
- ├──────────────────┤
- │ 40 │
- ├──────────────────┤
- │ │
- │ @TBase.P10 │
- │ │
- ├──────────────────┤
- │ │
- │ @TBase.P20 │
- │ │
- ├──────────────────┤
- │ │
- │ @TBase.P30 │
- │ │
- ├──────────────────┤
- │ │
- │ @TBase.P40 │
- │ │
- └──────────────────┘
-
- É¿ß. 21.10 æσѼδ Γáí½¿µδ ó¿αΓπá½∞¡δσ ¼ÑΓ«ñ«ó ¿ Γáí½¿µδ ñ¿¡á-
- ¼¿τÑ߬¿σ ¼ÑΓ«ñ«ó ñ½∩ TBase.
-
-
- B.Pascal 7 & Objects/LR - 384 -
-
-
- ÄíΩÑ¬Γ¡δ⌐ Γ¿» ¿¼ÑÑΓ Γáí½¿µπ ñ¿¡á¼¿τÑ߬¿σ ¼ÑΓ«ñ«ó Γ«½∞¬« ó
- Γ«¼ ß½πτáÑ, Ñß½¿ ó ¡Ñ¼ óó«ñ∩Γß∩ ¿½¿ »ÑαÑ«»αÑñѽ∩εΓß∩ ñ¿¡á¼¿τÑ߬¿Ñ
- ¼ÑΓ«ñδ. àß½¿ «íΩÑ¬Γ¡δ⌐ Γ¿» ¡áß½ÑñπÑΓ ñ¿¡á¼¿τÑ߬¿Ñ ¼ÑΓ«ñδ, ¡« «¡¿
- ¡Ñ »ÑαÑ«»αÑñѽ∩εΓß∩, ¿ ¡«óδÑ ñ¿¡á¼¿τÑ߬¿Ñ ¼ÑΓ«ñδ ¡Ñ óó«ñ∩Γß∩, Γ«
- «¡ »α«ßΓ« ¡áß½ÑñπÑΓ Γáí½¿µπ ñ¿¡á¼¿τÑ߬¿σ ¼ÑΓ«ñ«ó ßó«Ñú« »αÑñ¬á.
-
- èᬠ¿ ó ß½πτáÑ Γáí½¿µδ ó¿αΓπá½∞¡δσ ¼ÑΓ«ñ«ó, Γáí½¿µá ñ¿¡á¼¿-
- τÑ߬¿σ ¼ÑΓ«ñ«ó ºá»¿ßδóáÑΓß∩ ó ¿¡¿µ¿á½¿º¿α«óá¡¡πε τáßΓ∞ ßÑú¼Ñ¡Γá
- ñá¡¡δσ »α¿¬½áñ¡«⌐ »α«úαá¼¼δ.
-
- Æéî TDerived Æäî TDerived
- ┌───────────────────┐ ┌──────────────────┐
- │ 6 │ │ æ¼ÑΘ. Æäî TBase │
- ├───────────────────┤ ├──────────────────┤
- │ -6 │ │ ¿¡ñÑ¬ß ó ¬ÑΦÑ │
- ├───────────────────┤ ├──────────────────┤
- │ æ¼ÑΘ. Æäî TDerived│ │ ß¼ÑΘÑ¡¿Ñ ºá»¿ß¿ │
- ├───────────────────┤ ├──────────────────┤
- │ 0 │ │ 3 │
- ├───────────────────┤ ├──────────────────┤
- │ │ │ 10 │
- │ @TBase.Done │ ├──────────────────┤
- │ │ │ 30 │
- └───────────────────┘ ├──────────────────┤
- │ 50 │
- ├──────────────────┤
- │ │
- │ @TDerived.P10 │
- │ │
- ├──────────────────┤
- │ │
- │ @TDerived.P30 │
- │ │
- ├──────────────────┤
- │ │
- │ @TDerived.T50 │
- │ │
- └──────────────────┘
-
- É¿ß. 21.11. æσѼδ Γáí½¿µδ ó¿αΓπá½∞¡δσ ¼ÑΓ«ñ«ó ¿ Γáí½¿µδ ñ¿-
- ¡á¼¿τÑ߬¿σ ¼ÑΓ«ñ«ó ñ½∩ TDerived.
-
- ÅÑαó«Ñ ß½«ó« Γáí½¿µδ ñ¿¡á¼¿τÑ߬¿σ ¼ÑΓ«ñ«ó ß«ñÑαª¿Γ ß¼ÑΘÑ¡¿Ñ
- ßÑú¼Ñ¡Γá ñá¡¡δσ α«ñ¿Γѽ∞߬«⌐ Γáí½¿µδ ñ¿¡á¼¿τÑ߬¿σ ¼ÑΓ«ñ«ó, ¿½¿ 0,
- Ñß½¿ α«ñ¿Γѽ∞߬á∩ Γáí½¿µá ñ¿¡á¼¿τÑ߬¿σ ¼ÑΓ«ñ«ó «ΓßπΓßΓóπÑΓ.
-
- éΓ«α«Ñ ¿ ΓαÑΓ∞Ñ ß½«ó« Γáí½¿µδ ñ¿¡á¼¿τÑ߬¿σ ¼ÑΓ«ñ«ó ¿ß»«½∞ºπ-
- ÑΓß∩ ó ¬ÑΦ-íπΣÑαÑ »α«ß¼«Γαá ñ¿¡á¼¿τÑ߬¿σ ¼ÑΓ«ñ«ó (ß¼. ñá½ÑÑ).
-
- ùÑΓóÑαΓ«Ñ ß½«ó« Γáí½¿µδ ñ¿¡á¼¿τÑ߬¿σ ¼ÑΓ«ñ«ó ß«ñÑαª¿Γ ßτÑΓ-
- τ¿¬ ºá»¿ß¿ Γáí½¿µδ ñ¿¡á¼¿τÑ߬¿σ ¼ÑΓ«ñ«ó. ìÑ»«ßαÑñßΓóÑ¡¡« ºá ¡¿¼
- ß½ÑñπÑΓ ß»¿ß«¬ ß½«ó, ¬áªñ«Ñ ¿º ¬«Γ«αδσ ß«ñÑαª¿Γ ¿¡ñÑ¬ß ñ¿¡á¼¿τÑß-
-
- B.Pascal 7 & Objects/LR - 385 -
-
- ¬«ú« ¼ÑΓ«ñá, á ºáΓѼ ß»¿ß«¬ ß««ΓóÑΓßΓóπεΘ¿σ π¬áºáΓѽÑ⌐ ¼ÑΓ«ñ«ó.
- 使¡á ¬áªñ«ú« ß»¿ß¬á ºáñáÑΓß∩ ßτÑΓτ¿¬«¼ ºá»¿ß¿ Γáí½¿µδ ñ¿¡á¼¿τÑß-
- ¬¿σ ¼ÑΓ«ñ«ó.
-
- ç¡áτÑ¡¿∩ Σá⌐½«ó«ú« Γ¿»á
- ─────────────────────────────────────────────────────────────────
-
- ç¡áτÑ¡¿∩ Σá⌐½«ó«ú« Γ¿»á »αÑñßΓáó½∩εΓß∩ ó ó¿ñÑ ºá»¿ßÑ⌐. Æ¿»¿-
- º¿α«óá¡¡δÑ ¿ ¡ÑΓ¿»¿º¿α«óá¡¡δÑ Σá⌐½δ ºá¡¿¼áεΓ 128 íá⌐Γ, ¬«Γ«αδÑ
- αáß»«½áúáεΓß∩ »« ß½ÑñπεΘÑ⌐ ßσѼÑ:
-
- type
- TFileRec = record
- Handle : word; { «»¿ßáΓѽ∞ }
- Mode : word; { αѪ¿¼ }
- RecSize : word; { αẼÑα ºá»¿ß¿ }
- Private : array[1..26] of byte;
- UserData : array[1..16] of byte;
- Name : array[0..79] of char;
- end;
-
- ÆÑ¬ßΓ«óδÑ Σá⌐½δ ºá¡¿¼áεΓ 256 íá⌐Γ ß« ß½ÑñπεΘÑ⌐ ßσѼ«⌐ αáß»«-
- ½«ªÑ¡¿∩:
-
- type
- TTextBuf = array[0..127] of char;
- TTextRec = record
- Handle : word;
- Mode : word;
- BufSize : word;
- Private : word;
- BufPos : word;
- BufEnd : word;
- BufPtr : ^TTextBuf;
- OpenFunc : pointer;
- InOutFunc : pointer;
- FlushFunc : pointer;
- CloseFunc : pointer;
- UserData : array[1..16] of Byte;
- Name : array[0..79] of Char;
- Buffer : TTextBuf;
- end;
-
- é »ÑαѼѡ¡«⌐ ìándlÑ ß«ñÑনΓß∩ ¡«¼Ñα «»¿ßáΓѽ∩ Σá⌐½á (¬«úñá
- Σá⌐½ «Γ¬αδΓ). ¥Γ« º¡áτÑ¡¿Ñ ó«ºóαáΘáÑΓß∩ DOS.
-
- Å«½Ñ î«dÑ ßτ¿ΓáÑΓß∩ αáó¡δ¼ «ñ¡«¼π ¿º ß½ÑñπεΘ¿σ º¡áτÑ¡¿⌐:
-
- const
- fmClosed = $D7B0;
- fmInput = $D7B1;
- fmOutput = $D7B2;
- fmInOut = $D7B3;
-
- B.Pascal 7 & Objects/LR - 386 -
-
-
- ç¡áτÑ¡¿Ñ fmClosed »«¬áºδóáÑΓ, τΓ« Σá⌐½ ºá¬αδΓ. ç¡áτÑ¡¿∩
- fmInput ¿ fmOutput »«¬áºδóáεΓ, τΓ« Σá⌐½ ∩ó½∩ÑΓß∩ ΓѬßΓ«óδ¼ Σá⌐½«¼
- ¿ τΓ« ñ½∩ ¡Ñú« íδ½á óδ»«½¡Ñ¡á »α«µÑñπαá Reset (fmInput) ¿½¿
- Rewrite (fmOutput). ç¡áτÑ¡¿Ñ fmOutput »«¬áºδóáÑΓ, τΓ« »ÑαѼѡ¡á∩
- Σá⌐½«ó«ú« Γ¿»á ∩ó½∩ÑΓß∩ Γ¿»¿º¿α«óá¡¡δ¼ ¿½¿ ¡ÑΓ¿»¿º¿α«óá¡¡δ¼ Σá⌐-
- ½«¼, ñ½∩ ¬«Γ«α«ú« íδ½á óδ»«½¡Ñ¡á »α«µÑñπαá Reset ¿½¿ Rewrite. ïε-
- í«Ñ ñαπú«Ñ º¡áτÑ¡¿Ñ ú«ó«α¿Γ « Γ«¼, τΓ« ñ½∩ Σá⌐½«ó«⌐ »ÑαѼѡ¡«⌐
- »α¿ßóá¿óá¡¿Ñ ¡Ñ í佫 óδ»«½¡Ñ¡« (¿ «¡á, Γᬿ¼ «íαẫ¼, ¡Ñ ¿¡¿µ¿á-
- ½¿º¿α«óá¡á).
-
- Å«½Ñ UserData ó Borland Pascal ¡Ññ«ßΓπ»¡«, ¿ »«½∞º«óáΓѽ∞-
- ߬¿Ñ »α«úαá¼¼δ ¼«úπΓ ß«σαá¡∩Γ∞ ó ¡Ñ¼ ñá¡¡δÑ.
-
- Å«½Ñ Ná¼Ñ ß«ñÑαª¿Γ ¿¼∩ Σá⌐½á, ¬«Γ«α«Ñ »αÑñßΓáó½∩ÑΓ ß«í«⌐
- »«ß½Ññ«óáΓѽ∞¡«ßΓ∞ ß¿¼ó«½«ó, «¬á¡τ¿óáεΘπεß∩ ¡π½Ñóδ¼ ß¿¼ó«½«¼
- (#0).
-
- ä½∩ Γ¿»¿º¿α«óá¡¡δσ ¿ ¡ÑΓ¿»¿º¿α«óá¡¡δσ »«½Ñ⌐ RÑßSizÑ ß«ñÑনΓ
- ñ½¿¡π ºá»¿ß¿ ó íá⌐Γáσ, á »«½Ñ Érivate ºáαѺÑαó¿α«óá¡«, ¡« ∩ó½∩ÑΓ-
- ß∩ ßó«í«ñ¡δ¼.
-
- ä½∩ ΓѬßΓ«óδσ Σá⌐½«ó BufPtr ∩ó½∩ÑΓß∩ π¬áºáΓѽѼ ¡á íπΣÑα
- αẼÑα«¼ BufSize, BufP«s »αÑñßΓáó½∩ÑΓ ß«í«⌐ ¿¡ñÑ¬ß ß½ÑñπεΘÑú«
- ß¿¼ó«½á ó íπΣÑαÑ, ¬«Γ«αδ⌐ ñ«½ªÑ¡ íδΓ∞ ºá»¿ßá¡ ¿½¿ »α«τ¿Γá¡, á
- BufEnd - ßτÑΓτ¿¬ ñ«»πßΓ¿¼δσ ß¿¼ó«½«ó ó íπΣÑαÑ. ô¬áºáΓѽ¿
- OpenFunc, InOutFunc, FlushFunc ¿ CloseFunc ß½πªáΓ ñ½∩ ßß佬¿ ¡á
- »α«úαá¼¼δ óó«ñá-óδó«ñá ¿ ¿ß»«½∞ºπεΓß∩ ñ½∩ π»αáó½Ñ¡¿∩ Σá⌐½«¼. é
- â½áóÑ 14 ó αáºñÑ½Ñ »«ñ ºáú½áó¿Ñ¼ "äαá⌐óÑαδ πßΓα«⌐ßΓó ñ½∩ ΓѬßΓ«-
- óδσ Σá⌐½«ó" »α¿ó«ñ¿Γß∩ ñ«»«½¡¿Γѽ∞¡á∩ ¿¡Σ«α¼áµ¿∩ »« φΓ«¼π ó«»α«-
- ßπ.
-
-
-
- B.Pascal 7 & Objects/LR - 387 -
-
- Åα«µÑñπα¡δÑ Γ¿»δ
- ─────────────────────────────────────────────────────────────────
-
- Åα«µÑñπα¡δÑ Γ¿»δ σαá¡∩Γß∩ ó ó¿ñÑ ñó«⌐¡«ú« ß½«óá. Åα¿ φΓ«¼ ó
- ¼½áñΦѼ ß½«óÑ ß«ñÑনΓß∩ ß¼ÑΘÑ¡¿Ñ »α«µÑñπαδ, á ó ßΓáαΦѼ - íẫ-
- óδ⌐ ßÑú¼Ñ¡Γ.
-
- Åα∩¼«⌐ ñ«ßΓπ» ¬ »á¼∩Γ¿
- ─────────────────────────────────────────────────────────────────
-
- é Borland Pascal αÑ὿º«óá¡δ Γα¿ »αÑñ«»αÑñѽѡ¡δσ ¼áßß¿óá
- Mem, MemW ¿ MemL, ¬«Γ«αδÑ ¿ß»«½∞ºπεΓß∩ ñ½∩ »α∩¼«ú« ñ«ßΓπ»á ¬ »á-
- ¼∩Γ¿. èáªñδ⌐ ¬«¼»«¡Ñ¡Γ ¼áßß¿óá Mem »αÑñßΓáó½∩ÑΓ ß«í«⌐ íá⌐Γ, ¬áª-
- ñδ⌐ ¬«¼»«¡Ñ¡Γ ¼áßß¿óá MemW - ß½«ó«, á ¬áªñδ⌐ ¬«¼»«¡Ñ¡Γ MemL -
- º¡áτÑ¡¿Ñ ñ½¿¡¡«ú« µÑ½«ú« Γ¿»á (Longint).
-
- ä½∩ ¿¡ñѬ߿α«óá¡¿∩ ¼áßß¿óá Mem ¿ß»«½∞ºπÑΓß∩ ߻ѵ¿á½∞¡δ⌐ ß¿¡-
- Γá¬ß¿ß. äóá óδαáªÑ¡¿∩ µÑ½«τ¿ß½Ñ¡¡«ú« Γ¿»á Word, αáºñѽѡ¡δÑ ºá»∩-
- Γ묨, ¿ß»«½∞ºπεΓß∩ ñ½∩ ºáñá¡¿∩ íẫó«ú« ßÑú¼Ñ¡Γá ¿ ß¼ÑΘÑ¡¿∩ ∩τÑ⌐-
- ¬¿ »á¼∩Γ¿, ¬ ¬«Γ«α«⌐ »α«¿ºó«ñ¿Γß∩ ñ«ßΓπ». ìá»α¿¼Ñα:
-
- Mem[$0040:$0049] := 7;
- Data := MemW[Seg(V):Ofs(V)];
- MemLong := MemL[64:3*4];
-
- ÅÑαóδ⌐ «»ÑαáΓ«α ºá»¿ßδóáÑΓ º¡áτÑ¡¿Ñ 7 ó íá⌐Γ »« áñαÑßπ
- $0040:$0049. éΓ«α«⌐ «»ÑαáΓ«α »«¼ÑΘáÑΓ º¡áτÑ¡¿Ñ Γ¿»á Word, ºá»¿-
- ßá¡¡«Ñ ó »ÑαóδÑ 2 íá⌐Γá »ÑαѼѡ¡«⌐ V, ó »ÑαѼѡ¡πε Data. ÆαÑΓ¿⌐
- «»ÑαáΓ«α »«¼ÑΘáÑΓ º¡áτÑ¡¿Ñ Γ¿»á Longint, ºá»¿ßá¡¡«Ñ »« áñαÑßπ
- $0040:$000C, ó »ÑαѼѡ¡πε MemLong.
-
- Åα∩¼«⌐ ñ«ßΓπ» ¬ »«αΓá¼
- ─────────────────────────────────────────────────────────────────
-
- ä½∩ ñ«ßΓπ»á ¬ »«αΓá¼ ñá¡¡δσ »α«µÑßß«αá 80σ86 Borland Pascal
- αÑ὿ºπÑΓ ñóá »αÑñ«»αÑñѽѡ¡δσ ¼áßß¿óá - Port ¿ PortW. Äíá φΓ¿
- ¼áßß¿óá ∩ó½∩εΓß∩ «ñ¡«¼Ñα¡δ¼¿ ¼áßß¿óἿ, úñÑ ¬áªñδ⌐ φ½Ñ¼Ñ¡Γ »αÑñß-
- Γáó½∩ÑΓ »«αΓ ñá¡¡δσ, áñαÑß ¬«Γ«α«ú« ß««ΓóÑΓßΓóπÑΓ ¿¡ñѬßπ. ê¡ñѬß
- ¿¼ÑÑΓ Γ¿» Word. ¥½Ñ¼Ñ¡Γδ ¼áßß¿óá Port ¿¼ÑεΓ Γ¿»á Byte, á φ½Ñ¼Ñ¡Γδ
- ¼áßß¿óá PortW - Word.
-
- è«úñá φ½Ñ¼Ñ¡ΓἿ ¼áßß¿óá Port ¿½¿ PortW »α¿ßóá¿óáÑΓß∩ º¡áτÑ-
- ¡¿Ñ, «¡« óδó«ñ¿Γß∩ ó óδíαá¡¡δ⌐ »«αΓ. è«úñá ¡á φ½Ñ¼Ñ¡Γδ φΓ¿σ ¼áß-
- ß¿ó«ó ¿¼ÑεΓß∩ ßß佬¿ ó óδαáªÑ¡¿∩σ, Γ« º¡áτÑ¡¿Ñ óó«ñ¿Γß∩ ¿º ºáñá¡-
- ¡«ú« »«αΓá.
-
- êß»«½∞º«óá¡¿Ñ ¼áßß¿ó«ó Port ¿ PortW «úαá¡¿τÑ¡« Γ«½∞¬« »α¿ß-
- óá¿ó᡿Ѽ ¿ ßßδ½¬á¼¿ ó óδαáªÑ¡¿∩σ, Γ« ÑßΓ∞ φ½Ñ¼Ñ¡Γδ φΓ¿σ ¼áßß¿ó«ó
- ¡Ñ ¼«úπΓ ¿ß»«½∞º«óáΓ∞ß∩ ó ¬áτÑßΓóÑ »áαá¼ÑΓα«ó-»ÑαѼѡ¡δσ. èα«¼Ñ
- Γ«ú«, ßß佬¿ ¡á óÑß∞ ¼áßß¿ó Port ¿½¿ PortW (íѺ ¿¡ñѬßá) ¡Ñ ñ«-
- »π߬áεΓß∩.
-
-
-
- B.Pascal 7 & Objects/LR - 388 -
-
- ───────────────────────────────────────────────────────────────────────
- â½áóá 22. é«»α«ßδ π»αáó½Ñ¡¿∩
- ─────────────────────────────────────────────────────────────────
-
- é ñá¡¡«⌐ ú½áóÑ »«ñα«í¡« «»¿ßδóáεΓß∩ αẽ¿τ¡δÑ ß»«ß«íδ αÑ὿-
- ºáµ¿¿ ó Borland Pascal π»αáó½Ñ¡¿∩ »α«úαá¼¼«⌐. æεñá ó¬½ετÑ¡δ ß«ú-
- ½áΦÑ¡¿∩ »« ó맮óá¼, »α«µÑñπαδ óδσ«ñá, «íαáí«Γ¬á »αÑαδóá¡¿⌐ ¿ «í-
- αáí«Γ¬á «Φ¿í«¬.
-
- æ«ú½áΦÑ¡¿∩ »« ó맮óá¼
- ─────────────────────────────────────────────────────────────────
-
- Åáαá¼ÑΓαδ »α«µÑñπαá¼ ¿ Σπ¡¬µ¿∩¼ »ÑαÑñáεΓß∩ τÑαѺ ßΓѬ. ÅÑαÑñ
- óδº«ó«¼ »α«µÑñπαδ ¿½¿ Σπ¡¬µ¿¿ »áαá¼ÑΓαδ »«¼ÑΘáεΓß∩ ó ßΓѬ ó »«-
- α∩ñ¬Ñ ¿σ «»¿ßá¡¿∩. ÅÑαÑñ óδσ«ñ«¼ ¿º »α«µÑñπαδ ¿½¿ Σπ¡¬µ¿¿ óßÑ »á-
- αá¼ÑΓαδ ¿ºó½Ñ¬áεΓß∩ ¿º ßΓѬá.
-
- Åα¿¼Ñα¡δ⌐ ó맮ó »α«µÑñπαδ ¿½¿ Σπ¡¬µ¿¿ ¼«ª¡« »αÑñßΓáó¿Γ∞ ß½Ñ-
- ñπεΘ¿¼ «íαẫ¼:
-
- PUSH Param1
- PUSH Param2
- .
- .
- .
- PUSH ParamX
- Call ProcOrFunc
-
- Åáαá¼ÑΓαδ ¼«úπΓ »ÑαÑñáóáΓ∞ß∩ »« ßßδ½¬Ñ ¿½¿ »« º¡áτÑ¡¿ε. è«ú-
- ñá »áαá¼ÑΓα »ÑαÑñáÑΓß∩ »« ßß佬Ñ, Γ« π¬áºáΓѽ∞, ¬«Γ«αδ⌐ ßßδ½áÑΓß∩
- ¡á αÑá½∞¡πε ∩τÑ⌐¬π »á¼∩Γ¿, »«¼ÑΘáÑΓß∩ ó ßΓѬ. è«úñá »áαá¼ÑΓα »Ñ-
- αÑñáÑΓß∩ »« º¡áτÑ¡¿ε, ó ßΓѬ »«¼ÑΘáÑΓß∩ ßἫ Σá¬Γ¿τÑ߬«Ñ º¡áτÑ-
- ¡¿Ñ.
-
- Åáαá¼ÑΓαδ-»ÑαѼѡ¡δÑ
- ─────────────────────────────────────────────────────────────────
-
- Åáαá¼ÑΓαδ-»ÑαѼѡ¡δÑ (»áαá¼ÑΓαδ var) óßÑúñá »ÑαÑñáεΓß∩ »«
- ßß佬Ñ, Γ« ÑßΓ∞ π¬áºáΓѽ∞ ßßδ½áÑΓß∩ ¡á ∩τÑ⌐¬π »á¼∩Γ¿ ß Σá¬Γ¿τÑß-
- ¬¿¼ º¡áτÑ¡¿Ñ¼.
-
- Åáαá¼ÑΓαδ-º¡áτÑ¡¿∩
- ─────────────────────────────────────────────────────────────────
-
- Åáαá¼ÑΓαδ-º¡áτÑ¡¿∩ »ÑαÑñáεΓß∩ »« º¡áτÑ¡¿ε ¿½¿ »« ßß佬Ñ, ó
- ºáó¿ß¿¼«ßΓ¿ «Γ ¿σ Γ¿»á ¿ αẼÑαá. é «íΘѼ ß½πτáÑ, Ñß½¿ »áαá-
- ¼ÑΓα-º¡áτÑ¡¿Ñ ºá¡¿¼áÑΓ 1, 2 ¿½¿ 4 íá⌐Γá, Γ« º¡áτÑ¡¿Ñ »«¼ÑΘáÑΓß∩
- ¡Ñ»«ßαÑñßΓóÑ¡¡« ó ßΓѬ. é »α«Γ¿ó¡«¼ ß½πτáÑ ó ßΓѬ »«¼ÑΘáÑΓß∩ π¬á-
- ºáΓѽ∞ ¡á º¡áτÑ¡¿Ñ, á »α«µÑñπαá ¿½¿ Σπ¡¬µ¿∩ ¬«»¿απÑΓ ºáΓѼ º¡áτÑ-
- ¡¿Ñ ó ½«¬á½∞¡πε ∩τÑ⌐¬π »á¼∩Γ¿.
-
- é »α«µÑßß«αÑ 8086 ¡Ñ »«ññÑনóáεΓß∩ íá⌐Γ«óδÑ ¿¡ßΓαπ¬µ¿¿ ÉUSì
- ¿ ÉÄÉ, »«φΓ«¼π íá⌐Γ«óδÑ »áαá¼ÑΓαδ óßÑúñá »ÑαÑñáεΓß∩ ó ßΓѬÑ, ¬á¬
- ß½«óá. î½áñΦ¿⌐ íá⌐Γ ß½«óá ß«ñÑαª¿Γ º¡áτÑ¡¿Ñ, á ßΓáαΦ¿⌐ íá⌐Γ ß½«óá
-
- B.Pascal 7 & Objects/LR - 389 -
-
- ßó«í«ñÑ¡ (¿ ¡Ñ«»αÑñѽѡ).
-
- ç¡áτÑ¡¿Ñ ¿½¿ »áαá¼ÑΓα µÑ½«ú« Γ¿»á »ÑαÑñáÑΓß∩ ¬á¬ íá⌐Γ, ß½«ó«
- ¿½¿ ñó«⌐¡«Ñ ß½«ó«. Åα¿ φΓ«¼ ¿ß»«½∞ºπÑΓß∩ Γᬫ⌐ ªÑ Σ«α¼áΓ, ¬á¬ ñ½∩
- »αÑñßΓáó½Ñ¡¿∩ »ÑαѼѡ¡«⌐ µÑ½«ú« Γ¿»á. (ä½∩ ñó«⌐¡δσ ß½«ó ßΓáαΦÑÑ
- ß½«ó« »«¼ÑΘáÑΓß∩ ó ßΓѬ »ÑαÑñ ¼½áñΦ¿¼ ß½«ó«¼, ΓᬠτΓ« ¼½áñΦÑÑ
- ß½«ó« αẼÑΘáÑΓß∩ ó í«½ÑÑ ¼½áñΦ¿σ áñαÑßáσ.)
-
- Åáαá¼ÑΓα ß¿¼ó«½∞¡«ú« Γ¿»á (Char) »ÑαÑñáÑΓß∩, ¬á¬ íá⌐Γ íѺ
- º¡á¬á.
-
- Åáαá¼ÑΓα íπ½Ñó߬«ú« Γ¿»á (Boolean) »ÑαÑñáÑΓß∩, ¬á¬ íá⌐Γ ß«
- º¡áτÑ¡¿Ñ¼ 0 ¿½¿ 1.
-
- Åáαá¼ÑΓα »ÑαÑτ¿ß½¿¼«ú« Γ¿»á »ÑαÑñáÑΓß∩, ¬á¬ íá⌐Γ íѺ º¡á¬á,
- Ñß½¿ ¡π¼Ñαᵿ∩ ¡Ñ »αÑóδΦáÑΓ 256. é »α«Γ¿ó¡«¼ ß½πτáÑ «¡ »ÑαÑñáÑΓ-
- ß∩, ¬á¬ ß½«ó« íѺ º¡á¬á.
-
- Åáαá¼ÑΓα óÑΘÑßΓóÑ¡¡«ú« Γ¿»á (Real, º¡áτÑ¡¿∩ ß «ñ¿¡áα¡«⌐,
- ñó«⌐¡«⌐ ¿½¿ »«óδΦÑ¡¡«⌐ Γ«τ¡«ßΓ∞ε ¿½¿ ß½«ª¡«ú« Γ¿»á - Single,
- Double, Extended, Comp), »ÑαÑñáεΓß∩ τÑαѺ ßΓѬ ¬á¬ 4, 6, 8 ¿½¿ 10
- íá⌐Γ. ¥Γ« ∩ó½∩ÑΓß∩ ¿ß¬½ετÑ¡¿Ñ¼ ¿º Γ«ú« »αáó¿½á, τΓ« 1-, 2- ¿
- 4-íá⌐Γ«óδÑ º¡áτÑ¡¿Ñ »ÑαÑñáεΓß∩ ¡Ñ»«ßαÑñßΓóÑ¡¡« ó ßΓѬÑ.
-
- Åáαá¼ÑΓα Γ¿»á π¬áºáΓѽ∞ »ÑαÑñáÑΓß∩ ó ó¿ñÑ ñó«⌐¡«ú« ß½«óá
- (áñαÑß ßÑú¼Ñ¡Γá »«¼ÑΘáÑΓß∩ ó ßΓѬ »ÑαÑñ ß¼ÑΘÑ¡¿Ñ¼, ΓᬠτΓ« τáßΓ∞,
- »αÑñßΓáó½∩εΘá∩ ß«í«⌐ ß¼ÑΘÑ¡¿Ñ, ºá¬á¡τ¿óáÑΓß∩ ó ßἫ¼ ¼½áñΦѼ áñ-
- αÑßÑ).
-
- Åáαá¼ÑΓα ßΓ᫬«ó«ú« Γ¿»á »ÑαÑñáÑΓß∩, ¬á¬ π¬áºáΓѽ∞ ¡á º¡áτÑ-
- ¡¿Ñ.
-
- Åáαá¼ÑΓα ¼¡«ªÑßΓóÑ¡¡«ú« Γ¿»á »ÑαÑñáÑΓß∩ ó ó¿ñÑ íá⌐Γá (Ñß½¿
- úαá¡¿µδ φ½Ñ¼Ñ¡Γá πßΓá¡«ó½Ñ¡δ ó ñ¿á»áº«¡Ñ «Γ 0 ñ« 7) ¿½¿ ß½«óá
- (Ñß½¿ úαá¡¿µδ φ½Ñ¼Ñ¡Γá πßΓá¡«ó½Ñ¡δ ó ñ¿á»áº«¡Ñ «Γ 0 ñ« 15). é
- »α«Γ¿ó¡«¼ ß½πτáÑ «¡« »ÑαÑñáÑΓß∩ ó ó¿ñÑ π¬áºáΓѽ∩ ¡á "¡Ñπ»á¬«óá¡-
- ¡«Ñ" ¼¡«ªÑßΓó« ñ½¿¡«⌐ 32 íá⌐Γá.
-
- îáßß¿ó ¿½¿ ºá»¿ß∞ ¿º 1, 2 ¿½¿ 4 íá⌐Γ »«¼ÑΘáÑΓß∩ ¡Ñ»«ßαÑñß-
- ΓóÑ¡¡« ó ßΓѬ. äαπú¿Ñ ¼áßß¿óδ ¿ ºá»¿ß¿ »ÑαÑñáεΓß∩, ¬á¬ π¬áºáΓѽ¿
- ¡á º¡áτÑ¡¿∩.
-
- ÄΓ¬αδΓδÑ ßΓ᫬«óδÑ »áαá¼ÑΓαδ
- ─────────────────────────────────────────────────────────────────
-
- ÄΓ¬αδΓδÑ ßΓ᫬«óδÑ »áαá¼ÑΓαδ »ÑαÑñáεΓß∩ ºá¡ÑßÑ¡¿Ñ¼ ó ßΓѬ
- ß¡áτá½á π¬áºáΓѽ∩ ¡á ßΓ᫬π, á ºáΓѼ ß½«óá, ß«ñÑαªáΘÑú« áΓα¿íπΓ
- αẼÑαá (¼á¬ß¿¼á½∞¡πε ñ½¿¡π ßΓ᫬¿).
-
- ÄΓ¬αδΓδÑ »áαá¼ÑΓαδ-¼áßß¿óδ »ÑαÑñáεΓß∩ ºá¡ÑßÑ¡¿Ñ¼ ó ßΓѬ ß¡á-
- τá½á π¬áºáΓѽ∩ ¡á ¼áßß¿ó, á ºáΓѼ ß½«óá, ß«ñÑαªáΘÑú« áΓα¿íπΓ αáº-
- ¼Ñαá (τ¿ß½« φ½Ñ¼Ñ¡Γ«ó ¼áßß¿óá ¼¿¡πß 1).
-
-
- B.Pascal 7 & Objects/LR - 390 -
-
- Åα¿ ¿ß»«½∞º«óá¡¿¿ óßΓα«Ñ¡¡«ú« áßßѼí½Ñαá, º¡áτÑ¡¿Ñ, ó«ºóαá-
- ΘáѼ«Ñ ñ½∩ «Γ¬αδΓ«ú« »áαá¼ÑΓαá ß »«¼«Θ∞ε ßΓá¡ñáαΓ¡«⌐ Σπ¡¬µ¿¿
- High, ¼«ª¡« »«½πτ¿Γ∞, ºáúαπªá∩ ß½«ó« ¡Ñ»«ßαÑñßΓóÑ¡¡« »«ñ «Γ¬αδΓδ¼
- »áαá¼ÑΓα«¼. é ñá¡¡«¼ »α¿¼ÑαÑ φΓ« ñѼ«¡ßΓα¿απÑΓ »α«µÑñπαá
- FillString, ºá»«½¡∩εΘá∩ ßΓ᫬π ñ« ÑÑ ¼á¬ß¿¼á½∞¡«⌐ ñ½¿¡δ π¬áºá¡¡δ¼
- ß¿¼ó«½«¼.
-
- procedure FillString(var Str: OpenString; Chr: Char);
- assebmler;
- asm
- LES DI,Str { ES:DI = @Str }
- MOV CX,Str,Str.Word[-2] { Cx = igh(Str) }
- MOV AL,CL
- CLD
- STOSB { πßΓá¡«ó¿Γ∞ Str[0] }
- MOV AL,Chr
- REP STOSB { πßΓá¡«ó¿Γ∞ Str[1..High] }
- end;
-
- ÉѺπ½∞ΓáΓδ Σπ¡¬µ¿⌐
- ─────────────────────────────────────────────────────────────────
-
- ÉѺπ½∞ΓáΓδ Σπ¡¬µ¿⌐ »«α∩ñ¬«ó«ú« Γ¿»á ó«ºóαáΘáεΓß∩ ó αÑú¿ßΓαáσ
- µÑ¡Γαá½∞¡«ú« »α«µÑßß«αá: íá⌐Γδ ó«ºóαáΘáεΓß∩ ó αÑú¿ßΓαÑ AL, ß½«óá
- - ó αÑú¿ßΓαÑ Aò, ñó«⌐¡δÑ ß½«óá - ó DX:AX (ßΓáαΦÑÑ ß½«ó« - ó Dò,
- ¼½áñΦÑÑ - ó Aò).
-
- ÉѺπ½∞ΓáΓδ Σπ¡¬µ¿⌐ óÑΘÑßΓóÑ¡¡«ú« Γ¿»á (º¡áτÑ¡¿∩ óÑΘÑßΓóÑ¡¡«-
- ú« Γ¿»á Real) ó«ºóαáΘáεΓß∩ ó αÑú¿ßΓαáσ Dò:éò:AX (ßΓáαΦÑÑ ß½«ó« -
- ó αÑú¿ßΓαÑ Dò, ßαÑñ¡ÑÑ ß½«ó« - ó αÑú¿ßΓαÑ éò, ¼½áñΦÑÑ ß½«ó« - ó
- AX).
-
- ÉѺπ½∞ΓáΓδ Σπ¡¬µ¿¿, ¿¼ÑεΘ¿Ñ «ñ¿¡ ¿º Γ¿»«ó, ¿ß»«½∞ºπεΘ¿σß∩ ó
- »α«µÑßß«αÑ 8087, (º¡áτÑ¡¿∩ ß «ñ¿¡áα¡«⌐, ñó«⌐¡«⌐ ¿½¿ »«óδΦÑ¡¡«⌐
- Γ«τ¡«ßΓ∞ε ¿½¿ ß½«ª¡«ú« Γ¿»á - Single, Double, Extended ¿ Comp),
- ó«ºóαáΘáεΓß∩ ó αÑú¿ßΓαÑ óÑαΦ¿¡δ ßΓѬá ß«»α«µÑßß«αá 8087 (SÆ(0)).
-
- ÉѺπ½∞ΓáΓδ Σπ¡¬µ¿¿ Γ¿»á π¬áºáΓѽ∞ ó«ºóαáΘáεΓß∩ ó αÑú¿ßΓαÑ Dò:
- AX (áñαÑß ßÑú¼Ñ¡Γá - ó Dò, á ß¼ÑΘÑ¡¿Ñ - ó AX).
-
- ùΓ« ¬áßáÑΓß∩ αѺπ½∞ΓáΓá Σπ¡¬µ¿¿ ßΓ᫬«ó«ú« Γ¿»á, Γ« óδºδóáε-
- Θá∩ »α«úαá¼¼á »«¼ÑΘáÑΓ ó ßΓѬ »ÑαÑñ »ÑαÑñáτÑ⌐ ¬á¬¿σ-½¿í« »áαá¼ÑΓ-
- α«ó óαѼѡ¡πε ∩τÑ⌐¬π »á¼∩Γ¿, á Σπ¡¬µ¿∩ ó«ºóαáΘáÑΓ ßΓ᫬«ó«Ñ º¡á-
- τÑ¡¿Ñ ó φΓ«⌐ óαѼѡ¡«⌐ ∩τÑ⌐¬Ñ. öπ¡¬µ¿∩ ¡Ñ ñ«½ª¡á πñá½∩Γ∞ π¬áºá-
- Γѽ∞.
-
-
-
- B.Pascal 7 & Objects/LR - 391 -
-
- ü½¿ª¡¿Ñ ¿ ñá½∞¡¿Ñ Γ¿»δ ó맮ó«ó
- ─────────────────────────────────────────────────────────────────
-
- é µÑ¡Γαá½∞¡«¼ »α«µÑßß«αÑ 8086 »«ññÑনóáÑΓß∩ ñóá Γ¿»á ó맮-
- ó«ó ¿ ¿¡ßΓαπ¬µ¿⌐ ó«ºóαáΓá π»αáó½Ñ¡¿∩ - í½¿ª¡¿Ñ (NEAR) ¿ ñá½∞¡¿Ñ
- (FAR). ü½¿ª¡¿Ñ ó맮óδ »ÑαÑñáεΓ π»αáó½Ñ¡¿Ñ ñαπú«⌐ ∩τÑ⌐¬Ñ ó »αÑñÑ-
- ½áσ Γ«ú« ªÑ »α«úαá¼¼¡«ú« ßÑú¼Ñ¡Γá, á ñá½∞¡¿Ñ ó맮óδ »«ºó«½∩εΓ »Ñ-
- αÑ⌐Γ¿ ó ñαπú«⌐ »α«úαá¼¼¡δ⌐ ßÑú¼Ñ¡Γ.
-
- ê¡ßΓαπ¬µ¿∩ í½¿ª¡Ñú« «íαáΘÑ¡¿∩ CALL »«¼ÑΘáÑΓ ó ßΓѬ 16-í¿Γ«-
- óδ⌐ áñαÑß ó«ºóαáΓá (Γ«½∞¬« ß¼ÑΘÑ¡¿Ñ), á ¿¡ßΓαπ¬µ¿∩ ñá½∞¡Ñú« ó맮-
- óá »«¼ÑΘáÑΓ ó ßΓѬ 32-í¿Γ«óδ⌐ áñαÑß ó«ºóαáΓá (áñαÑß ßÑú¼Ñ¡Γá ¿
- ß¼ÑΘÑ¡¿Ñ). æ««ΓóÑΓßΓóπεΘá∩ ¿¡ßΓαπ¬µ¿∩ RET ¿ºó½Ñ¬áÑΓ ¿º ßΓѬá
- Γ«½∞¬« ß¼ÑΘÑ¡¿Ñ ¿½¿ áñαÑß ßÑú¼Ñ¡Γá ¿ ß¼ÑΘÑ¡¿Ñ.
-
- ìá «ß¡«óÑ «»¿ßá¡¿∩ »α«µÑñπαδ ó Borland Pascal íπñÑΓ áóΓ«¼á-
- Γ¿τÑ߬¿ óδí¿αáΓ∞ß∩ »αáó¿½∞¡δ⌐ Γ¿» «íαáΘÑ¡¿∩. Åα«µÑñπαδ, «»¿ßá¡¡δÑ
- ó ¿¡ΓÑαΣÑ⌐ß¡«⌐ ßѬµ¿¿ ¼«ñπ½∩ ß««ΓóÑΓßΓóπεΓ ñá½∞¡Ñ¼π «íαáΘÑ¡¿ε ¿
- ¼«úπΓ óδºδóáΓ∞ß∩ ¿º ñαπú¿σ í½«¬«ó. Åα«µÑñπαδ, «»¿ßá¡¡δÑ ó »α«ú-
- αá¼¼Ñ ó ßѬµ¿¿ αÑ὿ºáµ¿¿ ¼«ñπ½∩ (implementation), ∩ó½∩εΓß∩ í½¿ª-
- ¡¿¼¿ ¿ ¼«úπΓ óδºδóáΓ∞ß∩ Γ«½∞¬« ¿º φΓ«⌐ »α«úαá¼¼δ ¿½¿ ñá¡¡«ú« ¼«-
- ñπ½∩.
-
- ä½∩ ¡Ñ¬«Γ«αδσ ¬«¡¬αÑΓ¡δσ µÑ½Ñ⌐ ¼«ª¡« »«ΓαÑí«óáΓ∞, τΓ«íδ »α«-
- µÑñπαá ¿¼Ñ½á ñá½∞¡¿⌐ Γ¿» ó맮óá. ìá»α¿¼Ñα, »α«µÑñπαá óδσ«ñá,
- ñαá⌐óÑαδ πßΓα«⌐ßΓó ñ½∩ ΓѬßΓ«óδσ Σá⌐½«ó ¿ ñαπú¿Ñ ßαÑñßΓóá, ¿ß-
- »«½∞ºπεΘ¿Ñ π¬áºáΓѽ¿ ¡á »α«µÑñπαδ. ä¿αÑ¬Γ¿óá ¬«¼»¿½∩Γ«αá {$F+}
- π¬áºδóáÑΓ ¡á ¡Ñ«íσ«ñ¿¼«ßΓ∞ ¿ß»«½∞º«óá¡¿∩ ñá½∞¡Ñú« Γ¿»á ó맮ó«ó.
- Åα«µÑñπαδ ¿½¿ Σπ¡¬µ¿¿, ߬«¼»¿½¿α«óá¡¡δÑ ß ñá¡¡«⌐ ñ¿αÑ¬Γ¿ó«⌐,
- óßÑúñá íπñπΓ ¿¼ÑΓ∞ ñá½∞¡¿⌐ Γ¿» ó맮óá. Åα¿ ¿ß»«½∞º«óá¡¿¿ ó
- Borland Pascal ñ¿αÑ¬Γ¿óδ {$F-} »αáó¿½∞¡á∩ ßσѼá ó맮óá íπñÑΓ óδ-
- í¿αáΓ∞ß∩ áóΓ«¼áΓ¿τÑ߬¿. Å« π¼«½τá¡¿ε ¡áº¡áτáÑΓß∩ αѪ¿¼ {$F-}.
-
-
- 齫ªÑ¡¡δÑ »α«µÑñπαδ ¿ Σπ¡¬µ¿¿
- ─────────────────────────────────────────────────────────────────
-
- Åα«µÑñπαá ¿½¿ Σπ¡¬µ¿∩ ßτ¿ΓáÑΓß∩ 󽫪ѡ¡«⌐, ¬«úñá «¡á «»¿ßδ-
- óáÑΓß∩ ó¡πΓα¿ ñαπú«⌐ »α«µÑñπαδ ¿½¿ Σπ¡¬µ¿¿. Å« π¼«½τá¡¿ε 󽫪ѡ-
- ¡δÑ »α«µÑñπαδ ¿ Σπ¡¬µ¿¿ óßÑúñá ¿ß»«½∞ºπεΓ í½¿ª¡¿⌐ Γ¿» ó맮óá
- (NEAR), »«ß¬«½∞¬π «¡¿ ñ«ßΓπ»¡δ Γ«½∞¬« ó¡πΓα¿ «»αÑñѽѡ¡«⌐ »α«µÑ-
- ñπαδ ¿½¿ Σπ¡¬µ¿¿ ó Γ«¼ ªÑ ßÑú¼Ñ¡ΓÑ ¬«ñá. Äñ¡á¬« ó «óÑα½Ñ⌐¡δσ ºá-
- ñáτáσ «íδτ¡« ñ½∩ Γ«ú«, τΓ«íδ «íÑß»Ñτ¿Γ∞ ñ½∩ óßÑσ »α«µÑñπα ¿ Σπ¡¬-
- µ¿⌐ ñá½∞¡¿⌐ Γ¿» ó맮óá (FAR), ¿ß»«½∞ºπÑΓß∩ ñ¿αÑ¬Γ¿óá {$F+}.
-
- Åα¿ ó맮óÑ ó½«ªÑ¡¡«⌐ »α«µÑñπαδ ¿½¿ Σπ¡¬µ¿¿ ¬«¼»¿½∩Γ«α ¡Ñ»«ß-
- αÑñßΓóÑ¡¡« »ÑαÑñ ¿¡ßΓαπ¬µ¿Ñ⌐ CALL úÑ¡Ñα¿απÑΓ ¿¡ßΓαπ¬µ¿ε PUSH BP,
- Σá¬Γ¿τÑ߬¿ »ÑαÑñáóá∩ αÑú¿ßΓα BP óδºδóáεΘÑ⌐ »α«úαá¼¼δ ó ¬áτÑßΓóÑ
- ñ«»«½¡¿Γѽ∞¡«ú« »áαá¼ÑΓαá. Å«ß½Ñ Γ«ú«, ¬á¬ óδºδóáѼá∩ »α«µÑñπαá
- πßΓá¡«ó¿Γ ßó«⌐ ß«íßΓóÑ¡¡δ⌐ αÑú¿ßΓα BP, αÑú¿ßΓα éÉ óδºδóáεΘÑ⌐ »α«-
- µÑñπαδ ñ«ßΓπ»Ñ¡, ¬á¬ ß½«ó«, ß«σαá¡Ñ¡¡«Ñ ó [BP+4] ¿½¿ ó [BP+6]
- (Ñß½¿ »α«µÑñπαá ¿¼ÑÑΓ ñá½∞¡¿⌐ Γ¿» ó맮óá). êß»«½∞ºπ∩ ßó∩º∞ τÑαѺ
- [BP+4] ¿ [BP+6], óδºδóáѼá∩ »α«µÑñπαá ¼«ªÑΓ »«½πτ¿Γ∞ ñ«ßΓπ» ¬ ½«-
-
- B.Pascal 7 & Objects/LR - 392 -
-
- ¬á½∞¡δ¼ »ÑαѼѡ¡δ¼ ó úαá¡¿µáσ ßΓѬá óδºδóáεΘÑ⌐ »α«µÑñπαδ. æ½Ññπε-
- Θ¿⌐ »α¿¼Ñα »«¬áºδóáÑΓ, ¬á¬ ¼«ª¡« »«½πτ¿Γ∞ ñ«ßΓπ» ¬ ½«¬á½∞¡δ¼ »Ñ-
- αѼѡ¡δ¼ ¿º «»ÑαáΓ«αá inline ó« 󽫪ѡ¡«⌐ »α«µÑñπαÑ:
-
- procedure A; near;
- var IntA: integer;
-
- procedure B; far;
- var IntB: integer;
-
- procedure C; near;
- var IntC: integer;
- begin
- inline(
- $8B/$46/<IntC>/ { MOV AX,[BP+IntC] ;AX = IntC }
- $8B/$5E/$04/ { MOV BX,[BP+4] ;BX = ßΓѬ é }
- $36/$8b/$47/<IntB>/ { MOV AX,SS:[BX+IntB] ;AX = IntB }
- $8B/$5E/$04/ { MOV BX,[BP+4] ;BX = ßΓѬ B }
- $36/8B/$5F/$06/ { MOV BX,SS:[BX+6] ;BX = ßΓѬ A }
- $36/$8B/$47/<IntA>); { MOV AX,SS:[BX+IntA] ;AX =IntA }
- end;
-
- begin C end;
-
- begin B end;
-
- Åα¿¼Ñτá¡¿Ñ: 齫ªÑ¡¡δÑ »α«µÑñπαδ ¿ Σπ¡¬µ¿¿ ¡Ñ½∞º∩ «»¿ßδ-
- óáΓ∞ ß »«¼«Θ∞ε ñ¿αÑ¬Γ¿óδ external, ¿ «¡¿ ¡Ñ ¼«úπΓ ¿¼ÑΓ∞ »á-
- αá¼ÑΓαδ »α«µÑñπα¡«ú« Γ¿»á.
-
- Åα¿¼Ñτá¡¿Ñ: ü½«¬ inline ó »α¿óÑñÑ¡¡«¼ »α¿¼ÑαÑ ¼«ª¡« ºá»¿ßáΓ∞
- Γá¬ªÑ ó ó¿ñÑ:
-
- begin
- asm
- MOV AX,[BP+IntC] { AX = IntC }
- MOV BX,[BP+4] { BX = ßΓѬ é }
- MOV AX,SS:[BX+IntB] { AX = IntB }
- MOV BX,[BP+4] { BX = ¬áñα ßΓѬ B }
- MOV BX,SS:[BX+6] { BX = ¬áñα ßΓѬ A }
- MOV AX,SS:[BX+IntA] { AX =IntA }
- end;
- end;
-
- æ«ú½áΦÑ¡¿∩ « ó맮óáσ ¼ÑΓ«ñ«ó
- ─────────────────────────────────────────────────────────────────
-
- îÑΓ«ñδ ¿ß»«½∞ºπεΓ ΓÑ ªÑ ß«ú½áΦÑ¡¿∩ « ó맮óáσ, τΓ« ¿ «íδτ¡δÑ
- »α«µÑñπαδ ¿ Σπ¡¬µ¿¿, ºá ΓѼ ¿ß¬½ετÑ¡¿Ñ¼, τΓ« ¬áªñδ⌐ ¼ÑΓ«ñ ¿¼ÑÑΓ
- ¡Ñ∩ó¡δ⌐ ñ«»«½¡¿Γѽ∞¡δ⌐ »áαá¼ÑΓα Self, ¬«Γ«αδ⌐ ß««ΓóÑΓßΓóπÑΓ »áαá-
- ¼ÑΓαπ-»ÑαѼѡ¡«⌐ Γ«ú« ªÑ Γ¿»á, τΓ« ¿ «íΩÑ¬Γ¡δ⌐ Γ¿» ñá¡¡«ú« ¼ÑΓ«-
- ñá. Åáαá¼ÑΓα Self óßÑúñá »ÑαÑñáÑΓß∩ »«ß½Ññ¡¿¼ ¿ óßÑúñá ¿¼ÑÑΓ Σ«α-
- ¼π 32-αáºα∩ñ¡«ú« π¬áºáΓѽ∩ ¡á φ¬ºÑ¼»½∩α, ¿º ¬«Γ«α«ú« óδºδóáÑΓß∩
-
- B.Pascal 7 & Objects/LR - 393 -
-
- ¼ÑΓ«ñ. ìá»α¿¼Ñα, Ñß½¿ »ÑαѼѡ¡á∩ PP ¿¼ÑÑΓ Γ¿» PPoint, ¬á¬ «»αÑñÑ-
- ½Ñ¡« óδΦÑ, Γ« ó맮ó PP^.MoveTo (10, 20) ¬«ñ¿απÑΓß∩ ß½ÑñπεΘ¿¼ «í-
- αẫ¼:
-
- mov ax, 10 ; ºáúαπº¿Γ∞ 10 ó AX
- push ax ; »ÑαÑñáΓ∞ PX ¬á¬ »áαá¼ÑΓα
- mov ax, 20 ; ºáúαπº¿Γ∞ 20 ó AX
- push ax ; »ÑαÑñáΓ∞ PY ¬á¬ »áαá¼ÑΓα
- les di, PP ; ºáúαπº¿Γ∞ PP ó ES:DI
- push es ; »ÑαÑñáΓ∞, ¬á¬ »áαá¼ÑΓα Self
- push di
- mov di, es:[di + 6] ; ¿ºó½Ñτ∞ ß¼ÑΘÑ¡¿Ñ Æéî ¿º »«½∩ Æéî
- call DWORD PTR [di + 16] ; óδºóáΓ∞ ºá»¿ß∞ Æéî ñ½∩ MoveTo
-
- é« óαѼ∩ ó«ºóαáΓá ¼ÑΓ«ñ ñ«½ªÑ¡ πñ὿Γ∞ »áαá¼ÑΓα Self ¿º ßΓÑ-
- ¬á Γ«τ¡« ΓᬠªÑ, ¬á¬ «¡ πñá½∩ÑΓ «íδτ¡δÑ »áαá¼ÑΓαδ.
-
- îÑΓ«ñδ óßÑúñá ¿ß»«½∞ºπεΓ ñá½∞¡¿⌐ Γ¿» ó맮óá, ¡Ñºáó¿ß¿¼« «Γ
- ß«ßΓ«∩¡¿∩ ñ¿αÑ¬Γ¿óδ $F ¬«¼»¿½∩Γ«αá.
-
-
-
- B.Pascal 7 & Objects/LR - 394 -
-
- é맮óδ ó¿αΓπá½∞¡δσ ¼ÑΓ«ñ«ó
- ─────────────────────────────────────────────────────────────────
-
- ä½∩ ó맮óá ó¿αΓπá½∞¡«ú« ¼ÑΓ«ñá ¬«¼»¿½∩Γ«α úÑ¡Ñα¿απÑΓ ¬«ñ,
- ¬«Γ«αδ⌐ óδí¿αáÑΓ áñαÑß Γáí½¿µδ ó¿αΓπá½∞¡δσ ¼ÑΓ«ñ«ó ¿º »«½∩ Γáí½¿-
- µδ ó¿αΓπá½∞¡δσ ¼ÑΓ«ñ«ó «íΩѬΓá, ¿ ºáΓѼ óδºδóáÑΓ ¼ÑΓ«ñ, ¿ß»«½∞ºπ∩
- ßó∩ºá¡¡πε ß ¡¿¼ Γ«τ¬π óσ«ñá. ìá»α¿¼Ñα, Ñß½¿ ñá¡á »ÑαѼѡ¡á∩ PP
- Γ¿»á Point, Γ« ó맮ó PP^.Show íπñÑΓ úÑ¡Ñα¿α«óáΓ∞ ß½ÑñπεΘ¿⌐ ¬«ñ:
-
- les di, PP ; ºáúαπº¿Γ∞ PP ó ES:DI
- push es ; »ÑαÑñáΓ∞, ¬á¬ »áαá¼ÑΓα Self
- push di
- mov di, es:[di + 6] ; ¿ºó½Ñτ∞ ß¼ÑΘÑ¡¿Ñ Æéî ¿º »«½∩ Æéî
- call DWORD PTR [di + 12] ; óδºóáΓ∞ ºá»¿ß∞ Æéî ñ½∩ Show
-
- Åαáó¿½á ß«ó¼ÑßΓ¿¼«ßΓ¿ Γ¿»«ó ñ½∩ «íΩÑ¬Γ¡δσ Γ¿»«ó »«ºó«½∩εΓ PP
- π¬áºδóáΓ∞ ¡á Point ¿ ¡á TCircle ¿½¿ ¡á ½εíδσ ñαπú¿σ »«Γ«¼¬«ó
- TPoint. ê Ñß½¿ óδ »α«ß¼«Γα¿ΓÑ »«¬áºá¡¡δÑ ºñÑß∞ Γáí½¿µδ ó¿αΓπá½∞-
- ¡δσ ¼ÑΓ«ñ«ó, Γ« óδ πó¿ñ¿ΓÑ, τΓ« ñ½∩ Γ¿»á TPoint Γ«τ¬á óσ«ñá ß«
- ß¼ÑΘÑ¡¿Ñ¼ 12 ó Γáí½¿µδ ó¿αΓπá½∞¡δσ ¼ÑΓ«ñ«ó π¬áºδóáÑΓ ¡á
- TPoint.Show. Æá¬¿¼ «íαẫ¼, ó ºáó¿ß¿¼«ßΓ¿ «Γ Σá¬Γ¿τÑ߬«ú« ó« óαÑ-
- ¼∩ óδ»«½¡Ñ¡¿∩ Γ¿»á PP, ¿¡ßΓαπ¬µ¿∩ CALL óδºδóáÑΓ ½¿í« TPoint.Show,
- ½¿í« TCircle.Show, ½¿í« ¼ÑΓ«ñ ½εí«ú« ñαπú«ú« »«Γ«¼¬á TPoint.
-
- àß½¿ Show ∩ó½∩ÑΓß∩ ßΓáΓ¿τÑ߬¿¼ ¼ÑΓ«ñ«¼, Γ« ñ½∩ ó맮óá
- PP.Show íπñÑΓ úÑ¡Ñα¿α«óáΓ∞ß∩ ß½ÑñπεΘ¿⌐ ¬«ñ:
-
- les di, PP ; ºáúαπº¿Γ∞ PP ó ES:DI
- push es ; »ÑαÑñáΓ∞, ¬á¬ »áαá¼ÑΓα Self
- push di
- call TPoint.Show ; ¡Ñ»«ßαÑñßΓóÑ¡¡« óδºóáΓ∞ TPonit.Show
-
- é ñá¡¡«¼ ß½πτáÑ ¡Ñ ¿¼ÑÑΓ º¡áτÑ¡¿∩, ¡á τΓ« π¬áºδóáÑΓ PP, ¿
- ¬«ñ óßÑúñá íπñÑΓ óδºδóáΓ∞ ¼ÑΓ«ñ TPoint.Show.
-
-
-
- B.Pascal 7 & Objects/LR - 395 -
-
- é맮óδ ñ¿¡á¼¿τÑ߬¿σ ¼ÑΓ«ñ«ó
- ─────────────────────────────────────────────────────────────────
-
- ä¿ß»ÑΓτÑα¿ºáµ¿∩ ó맮óá ñ¿¡á¼¿τÑ߬«ú« ¼ÑΓ«ñá ¡Ñ߬«½∞¬« í«½ÑÑ
- ß½«ª¡á ¿ ΓαÑíπÑΓ í«½∞ΦÑ óαѼѡ¿, τѼ ñ¿ß»ÑΓτÑα¿ºáµ¿∩ ó¿αΓπá½∞¡«ú«
- ¼ÑΓ«ñá. é¼ÑßΓ« ¿ß»«½∞º«óá¡¿∩ ¿¡ßΓαπ¬µ¿¿ CALL ñ½∩ ó맮óá τÑαѺ
- π¬áºáΓѽ∞ ¼ÑΓ«ñá »« ßΓáΓ¿τÑ߬«¼π ß¼ÑΘÑ¡¿ε ó Γáí½¿µÑ ó¿αΓπá½∞¡δσ
- ¼ÑΓ«ñ«ó, Γáí½¿µá ñ¿¡á¼¿τÑ߬¿σ ¼ÑΓ«ñ«ó «íΩÑ¬Γ¡«ú« Γ¿»á ¿ Γáí½¿µá
- ñ¿¡á¼¿τÑ߬¿σ ¼ÑΓ«ñ«ó Ñú« »αÑñ¬á ñ«½ª¡δ »α«ß¼áΓα¿óáΓ∞ß∩ ó »«¿ß¬Ñ
- "ßἫú« óÑασ¡Ñú«" óσ«ªñÑ¡¿∩ ¿¡ñѬßá ¬«¡¬αÑΓ¡«ú« ñ¿¡á¼¿τÑ߬«ú« ¼Ñ-
- Γ«ñá, á ó맮ó ºáΓѼ ñ«½ªÑ¡ óδ»«½¡∩Γ∞ß∩ τÑαѺ ß««ΓóÑΓßΓóπεΘ¿⌐ π¬á-
- ºáΓѽ∞ ¼ÑΓ«ñá. ¥Γ«Γ »α«µÑßß ΓαÑíπÑΓ ¿ß»«½∞º«óá¡¿∩ ßπΘÑßΓóÑ¡¡«
- í«½∞ΦÑú« τ¿ß½á ¿¡ßΓαπ¬µ¿⌐, ¬«Γ«αδÑ ¼«ª¡« ºá»¿ßáΓ∞, ¬á¬ "óßΓα«Ñ¡-
- ¡δÑ" (inline), »«φΓ«¼π Æπαí« Åá߬á½∞ «íÑß»Ñτ¿óáÑΓ »«ñ»α«úαá¼¼π
- ñ¿ß»ÑΓτÑα¿ºáµ¿¿, ¿ß»«½∞ºπѼπε »α¿ ó맮óÑ ñ¿¡á¼¿τÑ߬«ú« ¼ÑΓ«ñá.
- àß½¿ íδ ¼ÑΓ«ñ Show »«¬áºá¡¡«ú« óδΦÑ Γ¿»á TPoint
- «»¿ßδóá½ß∩ ¬á¬ ñ¿¡á¼¿τÑ߬¿⌐ ¼ÑΓ«ñ (ß ¿¡ñѬ߫¼ ñ¿¡á¼¿τÑ߬«ú«
- ¼ÑΓ«ñá 200), Γ« ó맮ó PP^.Show, úñÑ PP ¿¼ÑÑΓ Γ¿» TPointPtr,
- »α¿óѽ íδ ¬ úÑ¡Ñαᵿ¿ ß½ÑñπεΘÑú« ¬«ñá:
-
- les di,PP ; ºáúαπº¬á PP ó ED:DI
- push es ; »ÑαÑñáτá, ¬á¬ »áαá¼ÑΓαá
- ; Self
- push di
- mow di,es:[di+6] ; ¿ºó½ÑτÑ¡¿Ñ ß¼ÑΘÑ¡¿∩
- ; Γáí½¿µδ ó¿αΓπá½∞¡δσ ¼ÑΓ«ñ«ó
- ; ¿º »«½∩ Γáí½¿µδ
- ; ó¿αΓπá½∞¡δσ ¼ÑΓ«ñ«ó
- mov ax,200 ; ºáúαπº¬á ó AX ¿¡ñѬßá
- ; ñ¿¡á¼¿τÑ߬«ú« ¼ÑΓ«ñá
- call Dispatch ; óδº«ó »«ñ»α«úαá¼¼δ
- ; ñ¿ß»ÑΓτÑα¿ºáµ¿¿
-
- ä¿ß»ÑΓτÑα óδí¿αáÑΓ ß¡áτá½á ß¼ÑΘÑ¡¿Ñ Γáí½¿µδ ñ¿¡á¼¿τÑ߬¿σ ¼Ñ-
- Γ«ñ«ó «Γ Γáí½¿µδ ó¿αΓπá½∞¡δσ ¼ÑΓ«ñ«ó, ¡á ¬«Γ«α«Ñ π¬áºδóáÑΓ αÑ-
- ú¿ßΓα DI. çáΓѼ ¿ß»«½∞ºπÑΓß∩ "¿¡ñÑ¬ß ó ¬ÑΦÑ" - »«½Ñ Γáí½¿µδ ñ¿¡á-
- ¼¿τÑ߬¿σ ¼ÑΓ«ñ«ó. ä¿ß»ÑΓτÑα »α«óÑα∩ÑΓ, ∩ó½∩ÑΓß∩ ½¿ ¿¡ñÑ¬ß óδºóá¡-
- ¡«ú« ñ¿¡á¼¿τÑ߬«ú« ¼ÑΓ«ñá ¿¡ñѬ߫¼ Γ«ú« ñ¿¡á¼¿τÑ߬«ú« ¼ÑΓ«ñá, ¬«-
- Γ«αδ⌐ óδºδóá½ß∩ »«ß½Ññ¡¿¼. àß½¿ φΓ« Γá¬, «¡ ¡Ñ¼Ññ½Ñ¡¡« »ÑαÑñáÑΓ
- φΓ«¼π ¼ÑΓ«ñπ π»αáó½Ñ¡¿Ñ (»πΓѼ »ÑαÑσ«ñá ß »«¼«Θ∞ε π¬áºáΓѽ∩ ¼ÑΓ«-
- ñá, ºá»¿ßá¡¡«ú« »« ß¼ÑΘÑ¡¿ε, ºáñá¡¡«¼π »«½Ñ¼ "ß¼ÑΘÑ¡¿Ñ ºá»¿ß¿").
-
- àß½¿ ñ¿¡á¼¿τÑ߬¿⌐ ¿¡ñÑ¬ß óδºóá¡¡«ú« ¼ÑΓ«ñá ¡Ñ ß«ó»áñáÑΓ ß
- ΓѼ, ¬«Γ«αδ⌐ ºá»¿ßá¡ ó ¬ÑΦÑ, Γ« ñ¿ß»ÑΓτÑα »α«ß¼áΓα¿óáÑΓ Γáí½¿µπ
- ñ¿¡á¼¿τÑ߬¿σ ¼ÑΓ«ñ«ó ¿ α«ñ¿Γѽ∞߬πε Γáí½¿µπ ñ¿¡á¼¿τÑ߬¿σ ¼ÑΓ«ñ«ó
- (ß½Ññπ∩ »« ßó∩º∩¼ ó Γáí½¿µÑ ñ¿¡á¼¿τÑ߬¿σ ¼ÑΓ«ñ«ó), »«¬á «¡ ¡Ñ
- ¡á⌐ñÑΓ ºá»¿ß∞, ß ñá¡¡δ¼ ¿¡ñѬ߫¼ ñ¿¡á¼¿τÑ߬«ú« ¼ÑΓ«ñá. ê¡ñÑ¬ß ¿
- ß¼ÑΘÑ¡¿Ñ ß««ΓóÑΓßΓóπεΘÑú« π¬áºáΓѽ∩ ¼ÑΓ«ñá ºá»¿ßδóáεΓß∩ ºáΓѼ ó
- »«½Ñ Γáí½¿µδ ñ¿¡á¼¿τÑ߬¿σ ¼ÑΓ«ñ«ó, á π»αáó½Ñ¡¿Ñ »ÑαÑñáÑΓß∩ ¼ÑΓ«-
- ñπ. àß½¿ »« ¬á¬¿¼-½¿í« »α¿τ¿¡á¼ ñ¿ß»ÑΓτÑα ¡Ñ ¼«ªÑΓ ¡á⌐Γ¿ ºá»¿ß∞ ß
- ñá¡¡δ¼ ¿¡ñѬ߫¼ ñ¿¡á¼¿τÑ߬«ú« ¼ÑΓ«ñá, «¡ ºáóÑαΦáÑΓ »α¿¬½áñ¡πε
- »α«úαá¼¼π ß ¬«ñ«¼ «Φ¿í¬¿ φΓá»á óδ»«½¡Ñ¡¿∩ 210.
-
-
- B.Pascal 7 & Objects/LR - 396 -
-
- é«»αѬ¿ ¬ÑΦ¿α«óá¡¿ε ¿ óδß«¬««»Γ¿¼¿º¿α«óá¡¡«⌐ »«ñ»α«úαá¼¼Ñ
- ñ¿ß»ÑΓτÑα¿ºáµ¿¿, ñ¿ß»ÑΓτÑα¿ºáµ¿∩ ñ¿¡á¼¿τÑ߬«ú« ¼ÑΓ«ñá ¼«ªÑΓ »«Γ-
- αÑí«óáΓ∞ ßπΘÑßΓóÑ¡¡« í«½∞ΦÑ óαѼѡ¿, τѼ ó맮ó ó¿αΓπá½∞¡«ú« ¼ÑΓ«-
- ñá. Äñ¡á¬« ó ΓÑσ ß½πτá∩σ, ¬«úñá ßἿ ñÑ⌐ßΓó¿∩, óδ»«½¡∩ѼδÑ ñ¿¡á-
- ¼¿τÑ߬¿¼ ¼ÑΓ«ñ«¼, ΓαÑíπεΓ ¼¡«ú« óαѼѡ¿, ñ«»«½¡¿Γѽ∞¡«Ñ »α«ßΓ-
- αá¡ßΓó«, ß«σαá¡∩Ѽ«Ñ Γáí½¿µá¼¿ ñ¿¡á¼¿τÑ߬¿σ ¼ÑΓ«ñ«ó, ¼«ªÑΓ »ÑαÑ-
- óÑß¿Γ∞ φëà ¡Ññ«ßΓáΓ«¬.
-
- è«¡ßΓαπ¬Γ«αδ ¿ ñÑßΓαπ¬Γ«αδ
- ─────────────────────────────────────────────────────────────────
-
- è«¡ßΓαπ¬Γ«αδ ¿ ñÑßΓαπ¬Γ«αδ ¿ß»«½∞ºπεΓ ΓÑ ªÑ ß«ú½áΦÑ¡¿∩ « óδ-
- º«óáσ, τΓ« ¿ «íδτ¡δÑ ¼ÑΓ«ñδ, ºá ΓѼ ¿ß¬½ετÑ¡¿Ñ¼, τΓ« ñ«»«½¡¿Γѽ∞-
- ¡δ⌐ »áαá¼ÑΓα αẼÑα«¼ ó ß½«ó«, ¡áºδóáѼδ⌐ »áαá¼ÑΓα«¼ Γáí½¿µδ ó¿α-
- Γπá½∞¡δσ ¼ÑΓ«ñ«ó, »ÑαÑñáÑΓß∩ τÑαѺ ßΓѬ ¡Ñ»«ßαÑñßΓóÑ¡¡« »ÑαÑñ
- »áαá¼ÑΓα«¼ Self.
-
- ä½∩ ¬«¡ßΓαπ¬Γ«α«ó »áαá¼ÑΓα Γáí½¿µδ ó¿αΓπá½∞¡δσ ¼ÑΓ«ñ«ó ß«-
- ñÑαª¿Γ ß¼ÑΘÑ¡¿Ñ Γáí½¿µδ ó¿αΓπá½∞¡δσ ¼ÑΓ«ñ«ó ñ½∩ ºá»«¼¿¡á¡¿∩ »«½∩
- Self Γáí½¿µδ ó¿αΓπá½∞¡«ú« ¼ÑΓ«ñá, τΓ«íδ ¿¡¿µ¿á½¿º¿α«óáΓ∞ Self.
-
- ü«½ÑÑ Γ«ú«, Ñß½¿ ¬«¡ßΓαπ¬Γ«α óδºδóáÑΓß∩ ñ½∩ αẼÑΘÑ¡¿∩ ñ¿¡á-
- ¼¿τÑ߬«ú« «íΩѬΓá ß »«¼«Θ∞ε αáßΦ¿αÑ¡¡«ú« ß¿¡Γá¬ß¿ßá ßΓá¡ñáαΓ¡«⌐
- »α«µÑñπαδ New, τÑαѺ »áαá¼ÑΓα Self »ÑαÑñáÑΓß∩ π¬áºáΓѽ∞ nil. ¥Γ«
- ºáßΓáó½∩ÑΓ ¬«¡ßΓαπ¬Γ«α αẼÑΘáΓ∞ ¡«óδ⌐ ñ¿¡á¼¿τÑ߬¿⌐ «íΩѬΓ, áñαÑß
- ¬«Γ«α«ú« »ÑαÑñáÑΓß∩ óδºδóáεΘÑ⌐ »α«úαá¼¼Ñ τÑαѺ DX:AX »α¿ ó«ºóαáΓÑ
- ¿º ¬«¡ßΓαπ¬Γ«αá. àß½¿ ¬«¡ßΓαπ¬Γ«α ¡Ñ ¼«ªÑΓ αẼÑßΓ¿Γ∞ «íΩѬΓ, Γ«
- ó DX:AX ó«ºóαáΘáÑΓß∩ »πßΓ«⌐ π¬áºáΓѽ∞ nil. (æ¼. ñá½ÑÑ "Äí¡áαπªÑ-
- ¡¿Ñ «Φ¿í«¬ ¬«¡ßΓαπ¬Γ«αá").
-
- ìᬫ¡Ñµ, Ñß½¿ ¬«¡ßΓαπ¬Γ«α óδºδóáÑΓß∩ ß ¿ß»«½∞º«ó᡿Ѽ πΓ«τ-
- ¡Ñ¡¡«ú« ¿ñÑ¡Γ¿Σ¿¬áΓ«αá ¼ÑΓ«ñá (Γ.Ñ. ¿ñÑ¡Γ¿Σ¿¬áΓ«αá Γ¿»á «íΩѬΓá,
- ºá ¬«Γ«αδ¼ ß½ÑñπεΓ Γ«τ¬á ¿ ¿ñÑ¡Γ¿Σ¿¬áΓ«α ¼ÑΓ«ñá), Γ« ó »áαá¼ÑΓαÑ
- Γáí½¿µδ ó¿αΓπá½∞¡δσ ¼ÑΓ«ñ«ó »ÑαÑñáÑΓß∩ ¡π½Ñó«Ñ º¡áτÑ¡¿Ñ. ¥Γ« ∩ó-
- ½∩ÑΓß∩ π¬áºá¡¿Ñ¼ ¬«¡ßΓαπ¬Γ«απ ¡á Γ«, τΓ« Ѽπ ¡Ñ ß½ÑñπÑΓ ¿¡¿µ¿á½¿-
- º¿α«óáΓ∞ »«½Ñ Self Γáí½¿µδ ó¿αΓπá½∞¡δσ ¼ÑΓ«ñ«ó. ä½∩ ñÑßΓαπ¬Γ«α«ó
- ¡π½Ñó«Ñ º¡áτÑ¡¿Ñ »áαá¼ÑΓαá Γáí½¿µδ ó¿αΓπá½∞¡δσ ¼ÑΓ«ñ«ó «º¡áτáÑΓ
- «íδτ¡δ⌐ ó맮ó, á ¡Ñ¡π½Ñó«Ñ π¬áºδóáÑΓ, τΓ« ñÑßΓαπ¬Γ«α íδ½ óδºóá¡ ß
- ¿ß»«½∞º«ó᡿Ѽ αáßΦ¿αÑ¡¡«ú« ß¿¡Γá¬ß¿ßá ßΓá¡ñáαΓ¡«⌐ »α«µÑñπαδ
- Dispose. ¥Γ« ºáßΓáó½∩ÑΓ ñÑßΓαπ¬Γ«α πñ὿Γ∞ Self ¡Ñ»«ßαÑñßΓóÑ¡¡«
- »ÑαÑñ ó«ºóαáΓ«¼ (αẼÑα Self «»αÑñѽ∩ÑΓß∩ ¿º »Ñαó«ú« ß½«óá Self ó
- Æéî).
-
- æΓá¡ñáαΓ¡δ⌐ ¬«ñ óσ«ñá ¿ óδσ«ñá
- ─────────────────────────────────────────────────────────────────
-
- èáªñá∩ »α«µÑñπαá ¿ Σπ¡¬µ¿∩ Borland Pascal ¡áτ¿¡áÑΓß∩ ¿ ºá-
- ¬á¡τ¿óáÑΓß∩ ßΓá¡ñáαΓ¡δ¼ ¡áí«α«¼ «»ÑαáΓ«α«ó, ¬«Γ«αδÑ »«ºó«½∩εΓ á¬-
- Γ¿ó¿º¿α«óáΓ∞ ¿ ñÑá¬Γ¿ó¿º¿α«óáΓ∞ »α«µÑñπαπ ¿½¿ Σπ¡¬µ¿ε.
-
- æΓá¡ñáαΓ¡δ¼ óσ«ñ«¼ ß½πª¿Γ ß½ÑñπεΘá∩ úαπ»»á «»ÑαáΓ«α«ó:
-
- PUSH BP ; ß«σαá¡¿Γ∞ αÑú¿ßΓα éÉ
-
- B.Pascal 7 & Objects/LR - 397 -
-
- MOV BP,SP ; πßΓá¡«ó¿Γ∞ úαá¡¿µδ ßΓѬá
- SUB SP,LocalSize ; óδñѽ¿Γ∞ »á¼∩Γ∞ ñ½∩ ½«¬á½∞¡δσ »ÑαÑ-
- ; ¼Ñ¡¡δσ
-
- é φΓ«¼ »α¿¼ÑαÑ LocalSize - φΓ« αẼÑα ½«¬á½∞¡δσ »ÑαѼѡ¡δσ.
- ê¡ßΓαπ¬µ¿∩ SUé »α¿ßπΓßΓóπÑΓ Γ«½∞¬« ó Γ«¼ ß½πτáÑ, ¬«úñá LocalSize
- ¡Ñ αáó¡« ¡π½ε. àß½¿ Γ¿» «íαáΘÑ¡¿∩ ¬ »α«µÑñπαÑ ∩ó½∩ÑΓß∩ í½¿ª¡¿¼,
- Γ« »áαá¼ÑΓαδ ¡áτ¿¡áεΓß∩ ß BP+4, Ñß½¿ ñ½∩ ó맮óá »α«µÑñπαδ ¿ß»«½∞-
- ºπÑΓß∩ ñá½∞¡¿⌐ Γ¿» «íαáΘÑ¡¿∩, Γ« «¡¿ ¡áτ¿¡áεΓß∩ ß BP+6.
-
- ä½∩ »α«úαá¼¼ DOS ¬«ñ óσ«ñá ¿ óδσ«ñá ñ½∩ »«ñ»α«úαá¼¼δ, ¿ß-
- »«½∞ºπεΘÑ⌐ ñá½∞¡εε ¼«ñѽ∞ ó맮óá, ëà ªÑ, τΓ« ¿ ñ½∩ »«ñ»α«úαá¼¼δ
- ß í½¿ª¡¿¼ Γ¿»«¼ ó맮ó, ¡« ñ½∩ ó«ºóαáΓá ¿º »«ñ»α«úαá¼¼δ ¿ß»«½∞ºπ-
- ÑΓß∩ ¿¡ßΓαπ¬µ¿∩ RETF. ¥Γ« ß»αáóÑñ½¿ó« Γá¬ªÑ ñ½∩ »α«úαá¼¼δ
- Windows, c¬«¼»¿½¿α«óá¡¡«⌐ ó ß«ßΓ«∩¡¿¿ {$W-}.
-
- Åα¿¼Ñτá¡¿Ñ: Äí ¿ß»«½∞º«óá¡¿¿ »α«µÑñπα óσ«ñá ¿ óδσ«ñá ó
- DLL αáß߬áºδóáÑΓß∩ ó â½áóÑ 11 "信ἿτÑ߬¿ ¬«¼»«¡πѼδÑ í¿í-
- ½¿«ΓѬ¿".
-
- æΓá¡ñáαΓ¡«⌐ úαπ»»«⌐ «»ÑαáΓ«α«ó óδσ«ñá ∩ó½∩ÑΓß∩:
-
- MOV SP,BP ; «ßó«í«ñ¿Γ∞ »á¼∩Γ∞, óδñѽѡ¡πε ñ½∩
- ; ½«¬á½∞¡δσ »ÑαѼѡ¡δσ
- POP BP ; ó«ßßΓá¡«ó¿Γ∞ αÑú¿ßΓα éÉ
- RET ParamSize ; πñ὿Γ∞ »áαá¼ÑΓαδ ¿ óδ»«½¡¿Γ∞ ó«ºóαáΓ
- ; π»αáó½Ñ¡¿∩
-
- çñÑß∞ Éárá¼SizÑ - φΓ« αẼÑα »áαá¼ÑΓα«ó. ê¡ßΓαπ¬µ¿∩ RET ∩ó-
- ½∩ÑΓß∩ ¿¡ßΓαπ¬µ¿Ñ⌐ í½¿ª¡Ñú« ¿½¿ ñá½∞¡Ñú« Γ¿»á, ó ºáó¿ß¿¼«ßΓ¿ «Γ
- Γ¿»á «íαáΘÑ¡¿∩ ¬ »α«µÑñπαÑ.
-
- é ß«ßΓ«∩¡¿¿ {$W+} (»« π¼«½τá¡¿ε) ó »«ñ»α«úαá¼¼Ñ, ¿ß»«½∞ºπε-
- ΘÑ⌐ ñá½∞¡εε ¼«ñѽ∞ ó맮óá, ¬«ñ óδσ«ñá ¿ óδσ«ñá óδú½∩ñ¿Γ ß½ÑñπεΘ¿¼
- «íαẫ¼:
-
- INC BP ; π¬áºδóáÑΓ ¡á ¬áñα ßΓѬá FAR
- PUSH BP ; ß«σαá¡¿Γ∞ αÑú¿ßΓα éÉ
- MOV BP,SP ; πßΓá¡«ó¿Γ∞ ¬áñα ßΓѬá
- PUSH DS ; ß«σαá¡¿Γ∞ DS
- SUB SP,LocalSize ; óδñѽ¿Γ∞ »á¼∩Γ∞ ñ½∩ ½«¬á½∞¡δσ »ÑαѼѡ¡δσ
- .
- .
- .
- MOV SP,BP ; «ßó«í«ñ¿Γ∞ »á¼∩Γ∞, óδñѽѡ¡πε ñ½∩
- ; ½«¬á½∞¡δσ »ÑαѼѡ¡δσ
- POP BP ; ó«ßßΓá¡«ó¿Γ∞ αÑú¿ßΓα éÉ
- DEC PB ; ¡áßΓα«¿Γ∞ BP
- RETF ParamSize ; πñ὿Γ∞ »áαá¼ÑΓαδ ¿ óδ»«½¡¿Γ∞ ó«ºóαáΓ
- ; π»αáó½Ñ¡¿∩
-
- è«ñ óσ«ñá ¿ óδσ«ñá ñ½∩ φ¬ß»«αΓ¿απѼ«⌐ »«ñ»α«úαá¼¼δ
- (»α«µÑñπαδ ¿½¿ Σπ¡¬µ¿¿, ߬«¼»¿½¿α«óá¡¡«⌐ ß ñ¿αÑ¬Γ¿ó«⌐
-
- B.Pascal 7 & Objects/LR - 398 -
-
- ¬«¼»¿½∩Γ«αá export) óδú½∩ñ¿Γ ß½ÑñπεΘ¿¼ «íαẫ¼:
-
- mov AXC,DS ; ºáúαπº¿Γ∞ ßÑ½Ñ¬Γ«α DS ó AX
- nop ; ñ«»«½¡¿Γѽ∞¡«Ñ »α«ßΓαá¡ßΓó« ñ½∩
- ; ¬«ααÑ¬Γ¿α«ó«¬
- inc BP ; π¬áºδóáÑΓ ¡á ñá½∞¡¿⌐ ¬áñα ßΓѬá
- push BP ; ß«σαá¡¿Γ∞ BP
- mov BP,SP ; πßΓá¡«ó¿Γ∞ ¬áñα ßΓѬá
- push DS ; ß«σαá¡¿Γ∞ DS
- mov DS,AX ; ¿¡¿µ¿á½¿ºáµ¿∩ αÑú¿ßΓαá DS
- sub SP,LocalSize; αáß»αÑñѽѡ¿¿ ½«¬á½∞¡δσ »ÑαѼѡ¡δσ
- . ; (Ñß½¿ «¡¿ ¿¼ÑεΓß∩)
- .
- .
- pop DI ; ó«ßßΓá¡«ó¿Γ∞ DI
- pop SI ; ó«ßßΓá¡«ó¿Γ∞ SI
- lea SP,[BP-2] ; «ßó«í«ñ¿Γ∞ »á¼∩Γ∞, óδñѽѡ¡πε ñ½∩
- ; ½«¬á½∞¡δσ »ÑαѼѡ¡δσ
- pop DS ; ó«ßßΓá¡«ó¿Γ∞ DS
- pop BP ; ó«ßßΓá¡«ó¿Γ∞ BP
- dec BP ; ¡áßΓα«¿Γ∞ αÑú¿ßΓα BP
- retf ParamSize ; πñá½Ñ¡¿Ñ »áαá¼ÑΓα«ó ¿ ó«ºóαáΓ
- ; π»αáó½Ñ¡¿∩
-
- ä½∩ óßÑσ ¼«ñѽÑ⌐ ó맮óá, Ñß½¿ »«ñ»α«úαá¼¼á ¡Ñ ß«ñÑαª¿Γ ½«-
- ¬á½∞¡δσ »ÑαѼѡ¡δσ, ¿¡ßΓαπ¬µ¿¿ óδñѽѡ¿∩ ¿ «ßó«í«ªñÑ¡¿∩ »á¼∩Γ¿
- ñ½∩ ½«¬á½∞¡δσ »ÑαѼѡ¡δσ ¼«ª¡« «»πßΓ¿Γ∞.
-
- Åα¿ αáí«ΓÑ ó αÑá½∞¡«¼ αѪ¿¼Ñ, τΓ«íδ αẽ¿τáΓ∞ í½¿ª¡¿⌐ ¿
- ñá½∞¡¿⌐ ¬áñα ßΓѬá, Windows ΓαÑíπÑΓ, τΓ«íδ óßÑ ¬áñαδ ßΓѬá (ó¬½ε-
- τá∩ ¬áñαδ ßΓѬá φ¬ß»«αΓ¿απѼδσ »«ñ»α«úαá¼¼) ß«σαá¡∩½¿ ó ß½«óÑ »«
- áñαÑßπ [BP+0] ¡ÑτÑΓ¡«Ñ º¡áτÑ¡¿Ñ BP. èα«¼Ñ Γ«ú«, Windows ΓαÑíπÑΓ,
- τΓ«íδ ß½«ó« »« áñαÑßπ [BP-2] ß«ñÑαªá½« ßÑ½Ñ¬Γ«α ßÑú¼Ñ¡Γá ñá¡¡δσ
- óδºδóáεΘÑ⌐ »α«úαá¼¼δ. ¥Γ« «íΩ∩ß¡∩ÑΓ ¿ß»«½∞º«óá¡¿Ñ ¿¡ßΓαπ¬µ¿⌐ INC
- BP, PUSH DS ¿ DEC BP (ßúÑ¡Ñα¿α«óá¡¡δσ ó ß«ßΓ«∩¡¿¿ {$W+}) ¡á óσ«ñÑ
- ¿ óδσ«ñÑ ñ½∩ »«ñ»α«úαá¼¼ far ¿ export.
-
- çá¼ÑΓ¿¼, τΓ« ¿ß»«½∞º«óá¡¿Ñ {$W+} ΓαÑíπεΓ Γ«½∞¬« αÑá½∞¡δ⌐
- αѪ¿¼ Windows. àß½¿ óδ ¡Ñ »«ññÑনóáÑΓÑ αÑá½∞¡δ⌐ αѪ¿¼, π¬áª¿ΓÑ
- {$W-}. éδ »«½πτ¿ΓÑ »α«úαá¼¼π ¼Ñ¡∞ΦÑú« αẼÑαá ¿ ¡Ñ¬«Γ«αδ⌐ óδ¿úαδΦ
- ó ߬«α«ßΓ¿.
-
- Åα¿ αáºαáí«Γ¬Ñ »α«úαá¼¼δ ºáΘ¿ΘÑ¡¡«ú« αѪ¿¼á Windows ¼«ªÑΓ
- «¬áºáΓ∞ß∩ »«½Ñº¡δ¼ ¿ß»«½∞º«óá¡¿Ñ ß«ßΓ«∩¡¿∩ {$W+}. ìѬ«Γ«αδÑ
- ßαÑñßΓóá «Γ½áñ¬¿, «Γ½¿τ¡δÑ «Γ ßαÑñßΓó Borland, ΓαÑíπεΓ φΓ«ú« ñ½∩
- ¬«ααÑ¬Γ¡«⌐ αáí«Γδ.
-
- Å« π¼«½τá¡¿ε Borland Pascal áóΓ«¼áΓ¿τÑ߬¿ úÑ¡Ñα¿απÑΓ φΣΣѬ-
- Γ¿ó¡δÑ ß¿ßΓѼ¡δÑ ó맮óδ ñ½∩ »α«µÑñπα ¿ Σπ¡¬µ¿⌐, φ¬ß»«αΓ¿απѼδσ
- »α¿¬½áñ¡«⌐ »α«úαá¼¼«⌐. Åα¿ ¬«¼»«¡«ó¬Ñ »α¿¬½áñ¡«⌐ »α«úαá¼¼δ ó ß«ß-
- Γ«∩¡¿¿ {$K+} (»« π¼«½τá¡¿ε) «Γ½áñτ¿¬ ¿ΘÑΓ ó ¬áªñ«⌐ φ¬ß»«αΓ¿απѼ«⌐
- Γ«τ¬Ñ óσ«ñá »«ß½Ññ«óáΓѽ∞¡«ßΓ∞ ¿¡ßΓαπ¬µ¿⌐ MOV AX,DS ß »«ß½ÑñπεΘÑ⌐
- ¿¡ßΓαπ¬µ¿Ñ⌐ NOP, ºá¼Ñ¡∩∩ ¿σ ¡á MOV AX.DS ¡á MOV AX,SS. ¥Γ« ¿º¼Ñ-
-
- B.Pascal 7 & Objects/LR - 399 -
-
- ¡Ñ¡¿Ñ «ß½áí½∩ÑΓ ΓαÑí«óá¡¿Ñ ¿ß»«½∞º«óá¡¿∩ »α¿ ß«ºñá¡¿¿ »α«úαá¼¼
- ß¿ßΓѼ¡«ú« ó맮óá »«ñ»α«úαá¼¼ API Windows MakeProcInstanc ¿
- FreeProcInstance (σ«Γ∩ φΓ« ¡Ñ ó«ºíαá¡∩ÑΓß∩). ¡« Γá¬ªÑ óδºδóáΓ∞
- φ¬ß»«αΓ¿απѼδÑ Γ«τ¬¿ óσ«ñá ¿º ßἫ⌐ »α¿¬½áñ¡«⌐ »α«úαá¼¼δ.
-
- é ß«ßΓ«∩¡¿¿ {$K-} »α¿ ß«ºñá¡¿¿ ñ¿¡á¼¿τÑ߬¿ ¬«¼»«¡πѼ«⌐ í¿í-
- ½¿«ΓѬ¿ ¬«¼»«¡«óΘ¿¬ Borland Pascal ¡Ñ ¼«ñ¿Σ¿µ¿απÑΓ ¬«ñ óσ«ñá ¿
- óδσ«ñá φ¬ß»«αΓ¿α«óá¡¡«⌐ Γ«τ¬¿ óσ«ñá. àß½¿ »«ñ»α«úαá¼¼á ß¿ßΓѼ¡«ú«
- ó맮óá ó »α¿½«ªÑ¡¿¿ ñ«½ª¡á óδºδóáΓ∞ß∩ ¿º ñαπú«⌐ »α¿¬½áñ¡«⌐ »α«ú-
- αá¼¼δ, óδí¿αáΓ∞ ß«ßΓ«∩¡¿Ñ {$K-} ¡Ñ ß½ÑñπÑΓ.
-
- Åα¿ ºáúαπº¬Ñ »α¿¬½áñ¡«⌐ »α«úαá¼¼δ ¿½¿ ñ¿¡á¼¿τÑ߬¿ ¬«¼»«¡πÑ-
- ¼«⌐ í¿í½¿«ΓѬ¿ Windows ¿ΘÑΓ ó ¬áªñ«⌐ φ¬ß»«αΓ¿απѼ«⌐ Γ«τ¬Ñ óσ«ñá
- »«ß½Ññ«óáΓѽ∞¡«ßΓ∞ ¿¡ßΓαπ¬µ¿⌐ MOV AX,DS ß »«ß½ÑñπεΘÑ⌐ ¿¡ßΓαπ¬µ¿Ñ⌐
- NOP. ä½∩ »α¿¬½áñ¡«⌐ »α«úαá¼¼δ Windows ¿º¼Ñ¡∩ÑΓ »ÑαóδÑ Γα¿ íá⌐Γá
- ¡á Γα¿ ¿¡ßΓαπ¬µ¿¿ NOP, τΓ«íδ »«ñú«Γ«ó¿Γ∞ »«ñ»α«úαá¼¼π ñ½∩ ¿ß»«½∞-
- º«óá¡¿∩ ÑÑ Σπ¡¬µ¿Ñ⌐ Windows MakeProcInstance. ä½∩ í¿í½¿«ΓѬ
- Windows ¿º¼Ñ¡∩ÑΓ »ÑαóδÑ Γα¿ íá⌐Γá ó ¿¡ßΓαπ¬µ¿¿ MOV AX,xxxx, úñÑ
- xxxx - ßÑ½Ñ¬Γ«α (áñαÑß ßÑú¼Ñ¡Γá) ßÑú¼Ñ¡Γá ñ¿¡á¼¿τÑ߬¿σ ½«¬á½∞¡δσ
- ñá¡¡δσ í¿í½¿«ΓѬ¿.
-
-
-
- B.Pascal 7 & Objects/LR - 400 -
-
- æ«ú½áΦÑ¡¿∩ »« ß«σαá¡Ñ¡¿ε αÑú¿ßΓα«ó
- ─────────────────────────────────────────────────────────────────
-
- é »α«µÑñπαáσ ¿ Σπ¡¬µ¿∩σ ß½ÑñπÑΓ ß«σαá¡∩Γ∞ αÑú¿ßΓαδ BP, SP,
- SS ¿ DS. ç¡áτÑ¡¿∩ óßÑσ ñαπú¿σ αÑú¿ßΓα«ó ¼«ª¡« ¿º¼Ñ¡∩Γ∞. èα«¼Ñ Γ«-
- ú«, φ¬ß»«αΓ¿απѼδÑ »«ñ»α«úαá¼¼δ ñ«½ª¡δ ß«σαá¡∩Γ∞ αÑú¿ßΓαδ SI ¿
- DI.
-
- Åα«µÑñπαδ óδσ«ñá
- ─────────────────────────────────────────────────────────────────
-
- é »«¼«Θ∞ε »α«µÑñπα óδσ«ñá (¿½¿ »α«µÑñπα ºáóÑαΦÑ¡¿∩) óδ ¼«ªÑ-
- ΓÑ π»αáó½∩Γ∞ »α«µÑßß«¼ ºáóÑαΦÑ¡¿∩ αáí«Γδ »α«úαá¼¼δ. ¥Γ« »«½Ñº¡« ó
- Γ«¼ ß½πτáÑ, ¬«úñá óδ σ«Γ¿ΓÑ »ÑαÑñ »αѬαáΘÑ¡¿Ñ¼ αáí«Γδ »α«úαá¼¼δ
- «íÑß»Ñτ¿Γ∞ óδ»«½¡Ñ¡¿Ñ «»αÑñѽѡ¡δσ ñÑ⌐ßΓó¿⌐ (Γ¿»¿τ¡δ¼ »α¿¼Ñα«¼
- ∩ó½∩ÑΓß∩ «í¡«ó½Ñ¡¿Ñ ¿ ºá¬αδΓ¿Ñ Σá⌐½«ó).
-
- ÉÑ὿º«óáΓ∞ »α«µÑñπαπ óδσ«ñá óá¼ »«ºó«½∩ÑΓ »ÑαѼѡ¡á∩-π¬áºá-
- Γѽ∞ EσitProc. Åα«µÑñπαá óδσ«ñá óßÑúñá »«½πτáÑΓ ó맮ó »α¿ ºáóÑα-
- ΦÑ¡¿¿ αáí«Γδ »α«úαá¼¼δ, ¡Ñºáó¿ß¿¼« «Γ Γ«ú«, ∩ó½∩ÑΓß∩ ½¿ φΓ« ºá-
- óÑαΦÑ¡¿Ñ ¡«α¼á½∞¡δ¼ «¬«¡τ᡿Ѽ αáí«Γδ »α«úαá¼¼δ, ºáóÑαΦÑ¡¿Ñ¼
- »«ß½Ñ «íαáΘÑ¡¿∩ ¬ Σπ¡¬µ¿¿ ìált, ¿½¿ αáí«Γá »α«úαá¼¼δ »αѬαáΓ¿½áß∞
- ¿º-ºá «Φ¿í¬¿ ó« óαѼ∩ óδ»«½¡Ñ¡¿∩.
-
- Åáαá¼ÑΓαδ ñ½∩ »α«µÑñπαδ óδσ«ñá ¡Ñ ΓαÑíπεΓß∩, ¿ ñ½∩ Γ«ú«,
- τΓ«íδ ¿ß»«½∞º«óá½ß∩ ñá½∞¡¿⌐ Γ¿» ó맮óá, «¡á ñ«½ª¡á ¬«¼»¿½¿α«óáΓ∞-
- ß∩ ß π¬áºá¡¿Ñ¼ ñ¿αÑ¬Γ¿óδ ¬«¼»¿½∩Γ«αá {$F+}.
-
- è«úñá »α«µÑñπαá óδσ«ñá ñ«½ª¡δ¼ «íαẫ¼ αÑ὿º«óá¡á, «¡á ó
- ñÑ⌐ßΓó¿Γѽ∞¡«ßΓ¿ ßΓá¡«ó¿Γß∩ τáßΓ∞ε µÑ»«τ¬¿ »α«µÑñπα óδσ«ñá. ¥Γá
- µÑ»«τ¬á »«ºó«½∩ÑΓ αÑ὿º«óáΓ∞ »α«µÑñπαδ óδσ«ñá ¬á¬ ñ½∩ ¼«ñπ½Ñ⌐,
- Γᬠ¿ ñ½∩ »α«úαá¼¼. é ¡Ñ¬«Γ«αδσ ¼«ñπ½∩σ »α«µÑñπαá óδσ«ñá αÑ὿ºπ-
- ÑΓß∩, ¬á¬ τáßΓ∞ ßἫú« ¼«ñπ½∩, á óδ»«½¡Ñ¡¿Ñ ¡Ñ¬«Γ«αδσ ºáóÑαΦáεΘ¿σ
- ñÑ⌐ßΓó¿⌐ »«ß½Ñ óδσ«ñá ¿º ¼«ñπ½∩, ¡á»α¿¼Ñα, ºá¬αδΓ¿Ñ Σá⌐½«ó ¿½¿
- ó«ßßΓá¡«ó½Ñ¡¿Ñ óÑ¬Γ«α«ó »αÑαδóá¡¿⌐, 󫺽áúáÑΓß∩ ¡á ¬«¡¬αÑΓ¡πε
- »α«µÑñπαπ. Åα«µÑñπαδ ó µÑ»«τ¬Ñ óδσ«ñá óδ»«½¡∩εΓß∩ ó »«ß½Ññ«óá-
- Γѽ∞¡«ßΓ¿, «íαáΓ¡«⌐ »«α∩ñ¬π ¿σ αÑ὿ºáµ¿¿. ¥Γ¿¼ «íÑß»Ñτ¿óáÑΓß∩,
- τΓ« «»ÑαáΓ«αδ óδσ«ñá «ñ¡«ú« í½«¬á ¡Ñ óδ»«½¡∩εΓß∩, »«¬á ¡Ñ íπñπΓ
- óδ»«½¡Ñ¡δ «»ÑαáΓ«αδ óδσ«ñá ¬á¬«ú«-½¿í« ºáó¿ß∩ΘÑú« «Γ ¡Ñú« ¼«ñπ½∩.
-
- ùΓ«íδ ß«σαá¡¿Γ∞ µÑ»«τ¬π óδσ«ñá ó ¡Ñ»α¿¬«ß¡«óÑ¡¡«ßΓ¿, óδ
- ñ«½ª¡δ »ÑαÑñ ¿º¼Ñ¡Ñ¡¿Ñ¼ π¬áºáΓѽ∩ EσitPr«ß ¡á áñαÑß óáΦÑ⌐ ß«íß-
- ΓóÑ¡¡«⌐ »α«µÑñπαδ ß«σαá¡¿Γ∞ ΓѬπΘÑÑ ß«ñÑন¼«Ñ φΓ«ú« π¬áºáΓѽ∩.
- äá½ÑÑ, ¡Ñ»«ßαÑñßΓóÑ¡¡« »ÑαÑñ ó«ºóαáΓ«¼ π»αáó½Ñ¡¿∩ óáΦá »α«µÑñπαá
- óδσ«ñá ñ«½ª¡á ó«ßßΓá¡«ó¿Γ∞ ß«σαá¡Ñ¡¡«Ñ º¡áτÑ¡¿Ñ EσitProc. é ß½Ñ-
- ñπεΘÑ⌐ »α«úαá¼¼Ñ »«¬áºá¡δ «ß¡«óδ ¼ÑΓ«ñá αÑ὿ºáµ¿¿ Γᬫ⌐ »α«µÑñπ-
- αδ óδσ«ñá.
-
- program Testexit;
- var
- ExitSave: Pointer;
-
- procedure MyExit; far
-
- B.Pascal 7 & Objects/LR - 401 -
-
- begin
- ExitProc := ExitSave; { óßÑúñá ó«ßßΓá¡áó½¿óáÑΓ ß¡áτá½á
- ßΓáαδ⌐ óÑ¬Γ«α }
- .
- .
- .
- end;
-
- begin
- ExitProc := ExitSave;
- ExitProc := @MyExit;
- .
- .
- .
- end.
-
- Åα¿ óσ«ñÑ ó »α«úαá¼¼π ß«ñÑন¼«Ñ EσitProc ß«σαá¡∩ÑΓß∩ ß
- EσitSave, á ºáΓѼ ß½ÑñπÑΓ »α«µÑñπαá óδσ«ñá îπEσit. Å«ß½Ñ Γ«ú«,
- ¬á¬ «¡á íπñÑΓ óδºóá¡á ó ¬áτÑßΓóÑ φ½Ñ¼Ñ¡Γá »α«µÑßßá ºáóÑαΦÑ¡¿∩ αá-
- í«Γδ »α«úαá¼¼δ, »α«µÑñπαá îπEσit ó«ßßΓá¡«ó¿Γ »αÑñδñπΘπε »α«µÑñπαπ
- óδσ«ñá.
-
- Åα«úαá¼¼á ºáóÑαΦÑ¡¿∩ ó í¿í½¿«ΓÑ¬Ñ ¿ß»«½¡∩εΘÑ⌐ ß¿ßΓѼδ íπñÑΓ
- óδºδóáΓ∞ »α«µÑñπαδ óδσ«ñá, »«¬á π¬áºáΓѽ∞ EσitPr«ß ¡Ñ »α¿¼ÑΓ º¡á-
- τÑ¡¿Ñ nil. é« ¿ºíѪ᡿¿ ºáµ¿¬½¿óá¡¿∩ EσitPr«ß πßΓá¡áó½¿óáÑΓß∩ ó
- nil »ÑαÑñ ¬áªñδ¼ «íαáΘÑ¡¿Ñ¼, ΓᬠτΓ« ß½ÑñπεΘá∩ »α«µÑñπαá óδσ«ñá
- óδºδóáÑΓß∩ Γ«½∞¬« ó Γ«¼ ß½πτáÑ, Ñß½¿ ΓѬπΘá∩ »α«µÑñπαá óδσ«ñá πß-
- Γá¡áó½¿óáÑΓ ñ½∩ EσitPr«ß ÑÑ áñαÑß. àß½¿ »α¿ óδ»«½¡Ñ¡¿¿ »α«µÑñπαδ
- óδσ«ñá 󫺡¿¬áÑΓ «Φ¿í¬á, Γ« ó ¡Ñ⌐ ¡Ñ πß»ÑÑΓ ÑΘÑ óδ»«½¡¿Γ∞ß∩ »α¿ß-
- óá¿óá¡¿Ñ ¡«ó«ú« áñαÑßá π¬áºáΓѽε EσitPr«ß, Γᬠ¬á¬ φΓ« ñѽáÑΓß∩
- ¡Ñ»«ßαÑñßΓóÑ¡¡« »ÑαÑñ ΓѼ, ¬á¬ »α«µÑñπαá óδσ«ñá óδ»«½¡¿Γ ó«ºóαáΓ
- π»αáó½Ñ¡¿∩.
-
- Åα«µÑñπαá óδσ«ñá ¼«ªÑΓ αáß»«º¡áóáΓ∞ »α¿τ¿¡π ºáóÑαΦÑ¡¿∩ αáí«-
- Γδ »α«úαá¼¼δ »πΓѼ »α«óÑન µÑ½«τ¿ß½Ñ¡¡«⌐ »ÑαѼѡ¡«⌐ EσitCode ¿
- »ÑαѼѡ¡«⌐-π¬áºáΓѽ∩ ErrorAddr. é ß½πτáÑ ¡«α¼á½∞¡«ú« ºáóÑαΦÑ¡¿∩ ó
- EσitCode ß«ñÑনΓß∩ ¡π½Ñó«Ñ º¡áτÑ¡¿Ñ ¿ ErrorAddr ¿¼ÑÑΓ º¡áτÑ¡¿Ñ
- nil. é ß½πτáÑ ºáóÑαΦÑ¡¿∩ τÑαѺ «íαáΘÑ¡¿Ñ ¬ »α«µÑñπαÑ ìált
- EσitCode ß«ñÑαª¿Γ º¡áτÑ¡¿Ñ, »ÑαÑñá¡¡«Ñ Σπ¡¬µ¿¿ ìált, á ErrorAddr
- ¿¼ÑÑΓ º¡áτÑ¡¿Ñ nil. ìᬫ¡Ñµ, ó ß½πτáÑ »αѬαáΘÑ¡¿∩ αáí«Γδ »α«úαá¼-
- ¼δ ¿º-ºá «Φ¿í¬¿ ó« óαѼ∩ ÑÑ óδ»«½¡Ñ¡¿∩ EσitCode ß«ñÑαª¿Γ ¬«ñ
- «Φ¿í¬¿, á ErrorAddr ß«ñÑαª¿Γ áñαÑß «Φ¿í«τ¡«ú« «»ÑαáΓ«αá.
-
- B.Pascal 7 & Objects/LR - 402 -
-
-
- Åα¿¼Ñτá¡¿Ñ: Ä »α«µÑñπαáσ óδσ«ñá ñ½∩ DLL αáß߬áºδóáÑΓß∩
- ó â½áóÑ 11.
-
- ū߽Ññ¡∩∩ »α«µÑñπαá óδσ«ñá (¬«Γ«αá∩ ß«ñÑনΓß∩ ó í¿í½¿«ΓѬÑ
- ¿ß»«½¡∩εΘÑ⌐ ß¿ßΓѼδ) ºá¬αδóáÑΓ Σá⌐½δ Input ¿ Output ¿ ó«ßßΓá¡áó-
- ½¿óáÑΓ óÑ¬Γ«αδ »αÑαδóá¡¿⌐, ¬«Γ«αδÑ í뫨 »ÑαÑσóáτÑ¡δ Æπαí« Åá߬á-
- ½Ñ¼. Åα¿ φΓ«¼, Ñß½¿ π¬áºáΓѽ∞ ErrorAddr ¿¼ÑÑΓ º¡áτÑ¡¿Ñ, «Γ½¿τ¡«Ñ
- «Γ nil, Γ« »α«µÑñπαá óδσ«ñá óδó«ñ¿Γ ß««íΘÑ¡¿Ñ «í «Φ¿í¬Ñ ó« óαѼ∩
- óδ»«½¡Ñ¡¿∩ »α«úαá¼¼δ. àß½¿ óδ σ«Γ¿ΓÑ óδó«ñ¿Γ∞ ßó«¿ ß«íßΓóÑ¡¡δÑ
- ß««íΘÑ¡¿∩ «í «Φ¿í¬áσ ó« óαѼ∩ óδ»«½¡Ñ¡¿∩, ¿ß»«½∞ºπ⌐ΓÑ »α«µÑñπαπ
- óδσ«ñá, ¬«Γ«αá∩ »α«óÑα∩ÑΓ ErrorAddr ¿ óδó«ñ¿Γ ß««íΘÑ¡¿Ñ «í «Φ¿í-
- ¬Ñ, Ñß½¿ Ñú« º¡áτÑ¡¿Ñ «Γ½¿τ¡« «Γ nil. é ñ«íáó«¬ ¬ φΓ«¼π »ÑαÑñ
- ó«ºóαáΓ«¼ π»αáó½Ñ¡¿∩ ¡Ñ«íσ«ñ¿¼« «íÑß»Ñτ¿Γ∞, τΓ«íδ π¬áºáΓѽ∞
- ErrorAddr íδ½ πßΓá¡«ó½Ñ¡ ó º¡áτÑ¡¿Ñ nil, τΓ«íδ ß««íΘÑ¡¿Ñ «í «Φ¿í-
- ¬Ñ ¡Ñ óδñáóὫß∞ ß¡«óá ñαπú«⌐ »α«µÑñπα«⌐ óδσ«ñá.
-
- Å«ß½Ñ Γ«ú«, ¬á¬ í¿í½¿«ΓÑ¬á ¿ß»«½¡∩εΘÑ⌐ ß¿ßΓÑ¼δ «íαáΘáÑΓß∩ ó
- »α«µÑñπαá¼ óδσ«ñá, «¡á ó«ºóαáΘáÑΓ π»αáó½Ñ¡¿Ñ DOS ¿ »ÑαÑñáÑΓ ó ¬á-
- τÑßΓóÑ ¬«ñá ó«ºóαáΓá º¡áτÑ¡¿Ñ, ß«ñÑαªáΘÑÑß∩ ó àσitCode.
-
-
-
- B.Pascal 7 & Objects/LR - 403 -
-
- Äíαáí«Γ¬á »αÑαδóá¡¿⌐
- ─────────────────────────────────────────────────────────────────
-
- ü¿í½¿«ΓÑ¬á ¿ß»«½¡∩εΘÑ⌐ ß¿ßΓѼδ Borland Pascal ¿ ¬«ñ, ß«ºñá-
- óáѼδ⌐ ¬«¼»¿½∩Γ«α«¼, ∩ó½∩εΓß∩ »«½¡«ßΓ∞ε »αÑαδóáÑ¼δ¼¿. ü«½∞Φ¿¡ßΓó«
- ¿º »α«úαá¼¼ í¿í½¿«ΓѬ¿ ¿ß»«½¡∩εΘÑ⌐ ß¿ßΓѼδ ∩ó½∩εΓß∩ Γá¬ªÑ αÑÑ¡ΓÑ-
- αáíѽ∞¡δ¼¿, τΓ« »«ºó«½∩ÑΓ óá¼ »¿ßáΓ∞ ¡á Borland Pascal »α«úαá¼¼δ
- «íαáí«Γ¬¿ »αÑαδóá¡¿⌐.
-
- ä½∩ Windows »«ñ»α«úαá¼¼δ «íαáí«Γ¬¿ »αÑαδóá¡¿⌐ »¿ßáΓ∞ ¡Ñ ß½Ñ-
- ñπÑΓ. àß½¿ óδ φΓ« ßñѽáÑΓÑ, »«ß½ÑñßΓó¿Ñ¼ ¼«ªÑΓ íδΓ∞ ßí«⌐ ß¿ßΓѼδ.
-
- Éáºαáí«Γ¬á »α«µÑñπα «íαáí«Γ¬¿ »αÑαδóá¡¿⌐
- ─────────────────────────────────────────────────────────────────
-
- Åα«µÑñπαδ «íαáí«Γ¬¿ »αÑαδóá¡¿⌐ «»¿ßδóáεΓß∩ ß »«¼«Θ∞ε ñ¿αѬ-
- Γ¿óδ Interrupt. é ¬áªñ«⌐ »α«µÑñπαÑ «íαáí«Γ¬¿ »αÑαδóá¡¿⌐ ñ«½ªÑ¡
- «»αÑñѽ∩Γ∞ß∩ ß½ÑñπεΘ¿⌐ ºáú«½«ó«¬ »α«µÑñπαδ (¿½¿, ¬á¬ íπñÑΓ »«∩ß-
- ¡∩Γ∞ß∩ ñá½ÑÑ, Ñú« »«ñ¼¡«ªÑßΓó«):
-
- procedure IntHandler(Flags,CS,IPAX,BX,CX,DX,SI,DI,DS,ES,BP:
- Word);
- interrupt;
- begin
- .
- .
- .
- end;
-
- èᬠ¼«ª¡« ó¿ñÑΓ∞, óßÑ αÑú¿ßΓαδ »ÑαÑñáεΓß∩ ó ¬áτÑßΓóÑ »ßÑóñ«-
- »áαá¼ÑΓα«ó, ΓᬠτΓ« óδ ¼«ªÑΓÑ ¿σ ¿ß»«½∞º«óáΓ∞ ¿ ¿º¼Ñ¡∩Γ∞ ó ßó«Ñ⌐
- »α«úαá¼¼Ñ. éδ ¼«ªÑΓÑ «»πßΓ¿Γ∞ ¡Ñ¬«Γ«αδÑ ¿º »áαá¼ÑΓα«ó ¿½¿ óßÑ »á-
- αá¼ÑΓαδ, ¡áτ¿¡á∩ ß »áαá¼ÑΓαá Flag ¿ ¬«¡τá∩ éÉ. Å«»δΓ¬á «»¿ßáΓ∞
- í«½∞ΦÑÑ ¬«½¿τÑßΓó« »áαá¼ÑΓα«ó ¿½¿ »«»δΓ¬á «»πßΓ¿Γ∞ «Γñѽ∞¡δ⌐ »á-
- αá¼ÑΓα íѺ »α«»π߬á Γá¬ªÑ Γ«ú« »áαá¼ÑΓαá, ºá ¬«Γ«αδ¼ «¡ ß½ÑñπÑΓ,
- ∩ó½∩ÑΓß∩ «Φ¿í¬«⌐, σ«Γ∩ ß««íΘÑ¡¿∩ « ¡Ñ⌐ ¡Ñ óδñáÑΓß∩. ìá»α¿¼Ñα:
-
- procedure IntHandler(DI,ES,BP : Word); { ¡Ññ«»πßΓ¿¼δ⌐
- ºáú«½«ó«¬ }
- procedure IntHandler(SI,DI,DS,ES,BP : Word); { ñ«»πßΓ¿¼δ⌐
- ºáú«½«ó«¬ }
-
- Åα¿ óσ«ñÑ ó ¡ÑÑ »α«µÑñπαá «íαáí«Γ¬¿ »αÑαδóá¡¿⌐ áóΓ«¼áΓ¿τÑ߬¿
- ß«σαá¡∩ÑΓ óßÑ αÑú¿ßΓαδ (¡Ñºáó¿ß¿¼« «Γ ºáú«½«ó¬á »α«µÑñπαδ) ¿ ¿¡¿-
- µ¿á½¿º¿απÑΓ αÑú¿ßΓα DS:
-
- PUSH AX
- PUSH BX
- PUSH DX
- PUSH SI
- PUSH DI
- PUSH DS
- PUSH ES
-
- B.Pascal 7 & Objects/LR - 404 -
-
- PUSH BP
- MOV BP,SP
- SUB SP,LocalSize
- MOV AX,SEG DATA
- MOV DS,AX
-
- ÄíαáΓ¿ΓÑ ó¡¿¼á¡¿Ñ ¡á «ΓßπΓßΓó¿Ñ »α«µÑñπαδ æLI, τΓ«íδ αáºαÑ-
- Φ¿Γ∞ ñá½∞¡Ñ⌐Φ¿Ñ »αÑαδóá¡¿∩. æ »«¼«Θ∞ε «»ÑαáΓ«αá inline óδ ¼«ªÑΓÑ
- ¡á»¿ßáΓ∞ ÑÑ ßἿ (Ñß½¿ φΓ« ¡Ñ«íσ«ñ¿¼«). ìáí«α «»ÑαáΓ«α«ó óδσ«ñá
- ó«ßßΓá¡áó½¿óáÑΓ αÑú¿ßΓαδ ¿ óδ»«½¡∩ÑΓ Σπ¡¬µ¿ε ó«ºóαáΓá »αÑαδóá¡¿∩:
-
- MOV SP,BP
- POP BP
- POP ES
- POP DS
- POP DI
- POP SI
- POP DX
- POP CX
- POP BX
- POP AX
- IRET
-
- Åα«µÑñπαá «íαáí«Γ¬¿ »αÑαδóá¡¿⌐ ¼«ªÑΓ ¼«ñ¿Σ¿µ¿α«óáΓ∞ ßó«¿ »á-
- αá¼ÑΓαδ. è«úñá «íαáí«Γτ¿¬ »αÑαδóá¡¿⌐ ó«ºóαáΓ¿Γ π»αáó½Ñ¡¿Ñ, ¿º¼Ñ-
- ¡Ñ¡¿Ñ «»¿ßá¡¡δσ »áαá¼ÑΓα«ó »α¿óÑñÑΓ ¬ ¿º¼Ñ¡Ñ¡¿ε ß«ñÑন¼«ú« ß««Γ-
- óÑΓßΓóπεΘ¿σ αÑú¿ßΓα«ó. ¥Γ« ¼«ªÑΓ «¬áºáΓ∞ß∩ »«½Ñº¡δ¼, ¬«úñá óδ
- ¿ß»«½∞ºπÑΓÑ «íαáí«Γτ¿¬ »αÑαδóá¡¿⌐ ó ¬áτÑßΓóÑ »«½∞º«óáΓѽ∞߬«ú«
- ßÑαó¿ß¡«ú« ßαÑñßΓóá, á¡á½«ú¿τ¡«ú« ó맮óπ Σπ¡¬µ¿¿ DOS »« ¿¡ßΓαπ¬-
- µ¿¿ INÆ 21ì.
-
- é »α«µÑñπαáσ «íαáí«Γ¬¿ »αÑαδóá¡¿⌐, «íß½πª¿óáεΘ¿σ »αÑαδóá¡¿∩,
- »«½πτáѼδÑ «Γ á»»áαáΓ¡δσ ßσѼ, ß½ÑñπÑΓ ó«ºñÑনóáΓ∞ß∩ «Γ ¿ß»«½∞-
- º«óá¡¿∩ ¬á¬¿σ-½¿í« »α«úαá¼¼ óó«ñá-óδó«ñá Æπαí« Åá߬á½∩ ¿½¿ »α«ú-
- αá¼¼ αáß»αÑñѽѡ¿∩ »á¼∩Γ¿, »«ß¬«½∞¬π «¡¿ ¡Ñ ∩ó½∩εΓß∩ αÑÑ¡ΓÑαá-
- íѽ∞¡δ¼¿. êº-ºá ¿σ ¡ÑαÑÑ¡ΓÑαáíѽ∞¡«ßΓ¿ ¡Ñ½∞º∩ Γá¬ªÑ ¿ß»«½∞º«óáΓ∞
- ¡¿¬á¬¿Ñ Σπ¡¬µ¿¿ DOS.
-
-
-
- B.Pascal 7 & Objects/LR - 405 -
-
- ───────────────────────────────────────────────────────────────────────
- â½áóá 23. ÇóΓ«¼áΓ¿τÑ߬á∩ «»Γ¿¼¿ºáµ¿∩
- ─────────────────────────────────────────────────────────────────
-
- é Borland Pascal óδ»«½¡∩ÑΓß∩ ¡Ñ߬«½∞¬« αẽ¿τ¡δσ Γ¿»«ó «»Γ¿-
- ¼¿ºáµ¿¿ ¬«ñá, ¡áτ¿¡á∩ «Γ ßóÑαΓδóá¡¿∩ ¬«¡ßΓá¡Γ ¿ óδτ¿ß½Ñ¡¿∩ íπ-
- ½Ñó߬¿σ óδαáªÑ¡¿⌐ »« ¬«α«Γ¬«⌐ ßσÑ¼Ñ ¿ ¬«¡τá∩ φΣΣÑ¬Γ¿ó¡«⌐ ¬«¼»«-
- ¡«ó¬«⌐. Éáßß¼«Γα¿¼ ¡Ñ¬«Γ«αδÑ ó¿ñδ «»Γ¿¼¿ºáµ¿¿.
-
- æóÑαΓδóá¡¿Ñ ¬«¡ßΓá¡Γ
- ─────────────────────────────────────────────────────────────────
-
- àß½¿ πτáßΓóπεΘ¿Ñ ó «»Ñαᵿ¿ «»Ñαá¡ñδ »αÑñßΓáó½∩εΓ ß«í«⌐
- ¬«¡ßΓá¡Γδ »ÑαÑτ¿ß½¿¼«ú« Γ¿»á, Γ« ó Borland Γá¬«Ñ óδαáªÑ¡¿Ñ óδτ¿ß-
- ½∩ÑΓß∩ ó« óαѼ∩ ¬«¼»¿½∩µ¿¿. ìá»α¿¼Ñα, óδαáªÑ¡¿Ñ:
-
- ò := 3 + 4 * 2
-
- »α¿óÑñÑΓ ¬ úÑ¡Ñαᵿ¿ Γᬫú« ªÑ ¬«ñá, ¬á¬ óδαáªÑ¡¿Ñ ò := 11, á óδ-
- αáªÑ¡¿Ñ:
-
- S := 'In' + 'Out'
-
- úÑ¡Ñα¿απÑà ëà ªÑ ¬«ñ, τΓ« S := 'InOut'.
-
- ǡὫú¿τ¡«, Ñß½¿ «»Ñαá¡ñδ Σπ¡¬µ¿⌐ Abs, Sqr, Succ, Pred, Odd,
- Lo, Hi ¿ Swap »αÑñßΓáó½∩εΓ ß«í«⌐ ¬«¡ßΓá¡Γδ »ÑαÑτ¿ß½¿¼«ú« Γ¿»á, Γ«
- Σπ¡¬µ¿∩ óδτ¿ß½∩ÑΓß∩ ó« óαѼ∩ ¬«¼»¿½∩µ¿¿.
-
- àß½¿ ¿¡ñѬ߫¼ ¼áßß¿óá ∩ó½∩ÑΓß∩ ¬«¡ßΓá¡Γá ¿½¿ óδαáªÑ¡¿Ñ, ß«ß-
- Γ«∩ΘÑÑ ¿º ¬«¡ßΓá¡Γ, Γ« áñαÑß φ½Ñ¼Ñ¡Γá óδτ¿ß½∩ÑΓß∩ ó« óαѼ∩ ¬«¼»¿-
- ½∩µ¿¿. ìá»α¿¼Ñα, ñ«ßΓπ» ¬ φ½Ñ¼Ñ¡Γπ Dátá[5,5] ΓᬠªÑ φΣΣÑ¬Γ¿óÑ¡,
- ¬á¬ ñ«ßΓπ» ¬ »α«ßΓ«⌐ »ÑαѼѡ¡«⌐.
-
- 潿∩¡¿Ñ ¬«¡ßΓá¡Γ
- ─────────────────────────────────────────────────────────────────
-
- êß»«½∞º«óá¡¿Ñ «ñ¡«⌐ ¿ Γ«⌐ ªÑ ßΓ᫬«ó«⌐ ¬«¡ßΓá¡Γδ ñóá ¿½¿ í«-
- ½ÑÑ αẠ»α¿ó«ñ¿Γ ¬ úÑ¡Ñαᵿ¿ Γ«½∞¬« «ñ¡«⌐ ¬«»¿¿ ¬«¡ßΓá¡Γδ. ìá»α¿-
- ¼Ñα, ñóá ¿½¿ í«½ÑÑ «»ÑαáΓ«αá Write('D«nÑ') ó «ñ¡«⌐ ¿ Γ«⌐ ªÑ τáßΓ¿
- »α«úαá¼¼δ »α¿óÑñÑΓ ¬ ßßδ½¬Ñ ¡á «ñ¡π ¿ Γπ ªÑ ¬«»¿ε ßΓ᫬«ó«⌐ ¬«¡ß-
- Γá¡Γδ 'DonÑ'.
-
- éδτ¿ß½Ñ¡¿Ñ »« ¬«α«Γ¬«⌐ ßσѼÑ
- ─────────────────────────────────────────────────────────────────
-
- é Borland Pascal αÑ὿ºπÑΓß∩ óδτ¿ß½Ñ¡¿Ñ íπ½Ñó߬«ú« óδαáªÑ¡¿∩
- »« ¬«α«Γ¬«⌐ ßσѼÑ. ¥Γ« «º¡áτáÑΓ, τΓ« óδτ¿ß½Ñ¡¿Ñ íπ½Ñó߬«ú« óδαá-
- ªÑ¡¿∩ »αѬαáΘáÑΓß∩, ¬á¬ Γ«½∞¬« αѺπ½∞ΓáΓ óßÑú« íπ½Ñó߬«ú« óδαáªÑ-
- ¡¿∩ ßΓá¡«ó¿Γß∩ «τÑó¿ñ¡δ¼. Åα¿ φΓ«¼ «íÑß»Ñτ¿óáÑΓß∩ ¼¿¡¿¼á½∞¡«Ñ
- óαѼ∩ óδ»«½¡Ñ¡¿∩ ¿, «íδτ¡«, ¼¿¡¿¼á½∞¡δ⌐ αẼÑα «íΩÑ¬Γ¡«ú« ¬«ñá.
- éδτ¿ß½Ñ¡¿Ñ »« ¬«α«Γ¬«⌐ ßσÑ¼Ñ ñѽáÑΓ Γá¬ªÑ ó«º¼«ª¡δ¼ óδτ¿ß½Ñ¡¿Ñ
- ¬«¡ßΓαπ¬µ¿⌐, ¬«Γ«αδÑ ¿¡áτÑ í뫨 íδ ¡Ññ«»πßΓ¿¼δ¼¿. ìá»α¿¼Ñα:
-
-
- B.Pascal 7 & Objects/LR - 406 -
-
- while (I<=Length(S)) and (S[I]<>' ') do
- Inc(I);
- while (P<>nil) and (P^.Value<>5) do
- P:=P^.Next;
-
- é «í«¿σ ß½πτá∩σ, Ñß½¿ »Ñαóá∩ »α«óÑα¬á ¿¼ÑÑΓ º¡áτÑ¡¿Ñ FalsÑ,
- óΓ«αá∩ »α«óÑα¬á ¡Ñ óδτ¿ß½∩ÑΓß∩.
-
- Åα«Γ¿ó«»«½«ª¡δ¼ óδτ¿ß½Ñ¡¿ε »« ¬«α«Γ¬«⌐ ßσÑ¼Ñ ∩ó½∩ÑΓß∩ »«½¡«Ñ
- óδτ¿ß½Ñ¡¿Ñ, ¬«Γ«α«Ñ ¼«ª¡« óδíαáΓ∞ ß »«¼«Θ∞ε ñ¿αÑ¬Γ¿óδ ¬«¼»¿½∩Γ«αá
- {$é+}. é φΓ«¼ ß½πτáÑ «íÑß»Ñτ¿óáÑΓß∩ óδτ¿ß½Ñ¡¿Ñ ¬áªñ«ú« «»Ñαá¡ñá
- íπ½Ñó߬«ú« óδαáªÑ¡¿∩.
-
- Åáαá¼ÑΓαδ-¬«¡ßΓá¡Γδ
- ─────────────────────────────────────────────────────────────────
-
- Æá¼, úñÑ φΓ« 󫺼«ª¡«, ó¼ÑßΓ« »áαá¼ÑΓα«ó-º¡áτÑ¡¿⌐ ß½ÑñπÑΓ
- ¿ß»«½∞º«óáΓ∞ »áαá¼ÑΓαδ-¬«¡ßΓá¡Γδ. Åáαá¼ÑΓαδ-¬«¡ßΓá¡Γδ ¡áßΓ«½∞¬«
- ªÑ φΣΣÑ¬Γ¿ó¡δ, τΓ« ¿ »áαá¼ÑΓαδ-»ÑαѼѡ¡δÑ, á ó« ¼¡«ú¿σ ß½πτá∩σ
- »αÑó«ßσ«ñ¿Γ ¿σ »« φΣΣÑ¬Γ¿ó¡«ßΓ¿. é τáßΓ¡«ßΓ¿, »áαá¼ÑΓαδ-¬«¡ßΓá¡Γδ
- úÑ¡Ñα¿απεΓ »«½πτÑ¡¿Ñ ¬«ñá ¼Ñ¡∞ΦÑú« αẼÑαá ¿ »α«úαá¼¼δ ß ¡¿¼¿ óδ-
- »«½¡∩εΓß∩ íδßΓαÑÑ, τѼ »α«úαá¼¼δ ß »áαá¼ÑΓαἿ-º¡áτÑ¡¿∩¼¿ ßΓαπ¬-
- Γπα¡«ú« ¿ ßΓ᫬«ó«ú« Γ¿»«ó.
-
- Åáαá¼ÑΓαδ-¬«¡ßΓá¡Γδ í«½ÑÑ φΣΣÑ¬Γ¿ó¡δ, τѼ »áαá¼ÑΓαδ-º¡áτÑ-
- ¡¿∩, »«ß¬«½∞¬π ¬«¼»¿½∩Γ«απ ¡Ñ »α¿σ«ñ¿Γß∩ úÑ¡Ñα¿α«óáΓ∞ ¬«»¿¿ Σá¬-
- Γ¿τÑ߬¿σ »áαá¼ÑΓα«ó ¡á óσ«ñÑ ó »α«µÑñπαδ ¿ Σπ¡¬µ¿¿. ç¡áτÑ¡¿∩ »á-
- αá¼ÑΓα«ó ñ«½ª¡δ íδΓ∞ ߬«»¿α«óá¡δ ó ½«¬á½∞¡δÑ »ÑαѼѡ¡δÑ, ΓᬠτΓ«
- ¼«ñ¿Σ¿¬áµ¿¿ Σ«α¼á½∞¡δσ »áαá¼ÑΓα«ó ¡Ñ »α¿óÑñπΓ ¬ ¼«ñ¿Σ¿¬áµ¿¿ Σá¬-
- Γ¿τÑ߬¿σ »áαá¼ÑΓα«ó. ū߬«½∞¬π Σ«α¼á½∞¡δÑ »áαá¼ÑΓαδ-¬«¡ßΓá¡Γδ ¼«-
- ñ¿Σ¿µ¿α«óáΓ∞ß∩ ¡Ñ ¼«úπΓ, ¬«¼»¿½∩Γ«απ ¡ÑΓ ¡Ñ«íσ«ñ¿¼«ßΓ¿ ¬«»¿α«óáΓ∞
- Σá¬Γ¿τÑ߬¿Ñ »áαá¼ÑΓαδ, τΓ« φ¬«¡«¼¿Γ ¬«ñ ¿ »α«ßΓαá¡ßΓó« ó ßΓѬÑ.
-
- ôßΓαá¡Ñ¡¿Ñ ¿ºíδΓ«τ¡«⌐ ºáúαπº¬¿ π¬áºáΓѽÑ⌐
- ─────────────────────────────────────────────────────────────────
-
- é «»αÑñѽѡ¡δσ ß¿Γπᵿ∩σ úÑ¡ÑαáΓ«α ¬«ñá Borland Pascal ¼«ªÑΓ
- πßΓαá¡¿Γ∞ ¿ºíδΓ«τ¡δÑ ¿¡ßΓαπ¬µ¿¿ ºáúαπº¬¿ π¬áºáΓѽÑ⌐, π¼Ñ¡∞Φá∩ ΓѼ
- ßá¼δ¼ αẼÑα ¬«ñá ¿ «íÑß»Ñτ¿óá∩ í«½ÑÑ íδßΓα«Ñ Ñú« óδ»«½¡Ñ¡¿Ñ.
- è«úñá úÑ¡ÑαáΓ«α ¬«ñá ¼«ªÑΓ «íÑß»Ñτ¿Γ∞, τΓ« π¬áºáΓѽ∞ «ßΓáÑΓß∩
- »«ßΓ«∩¡¡δ¼ ¡á πτáß⪥ ½¿¡Ñ⌐¡«ú« ¬«ñá (¬«ñá, ¡Ñ ß«ñÑαªáΘÑú« »ÑαÑ-
- σ«ñ«ó ¡á ¡Ñú«), ¿ ¬«úñá π¬áºáΓѽ∞ πªÑ ºáúαπªÑ¡ ó »áαπ αÑú¿ßΓα«ó
- (¡á»α¿¼Ñα, ES:DI), úÑ¡ÑαáΓ«α ¬«ñá πßΓαá¡∩ÑΓ ¡Ñ¡πª¡δÑ ºáúαπº¬¿
- π¬áºáΓѽÑ⌐ ó í½«¬Ñ ¬«ñá.
-
- ô¬áºáΓѽ∞ ßτ¿ΓáÑΓß∩ ¬«¡ßΓá¡Γ«⌐, Ñß½¿ «¡ »«½πτáÑΓß∩ ¿º »áαá-
- ¼ÑΓαá-»ÑαѼѡ¡«⌐ (»áαá¼ÑΓαδ-»ÑαѼѡ¡δÑ óßÑúñá »ÑαÑñáεΓß∩ ¬á¬ π¬á-
- ºáΓѽ¿) ¿½¿ ¿º ßß佬¿ ¡á »ÑαѼѡ¡πε «»ÑαáΓ«α with. Å«φΓ«¼π «»Ñαá-
- Γ«α with τáßΓ« ∩ó½∩ÑΓß∩ í«½ÑÑ φΣΣÑ¬Γ¿ó¡δ¼ (¡« ¡¿¬«úñá ¡Ñ íπñÑΓ
- ¼Ñ¡ÑÑ φΣΣÑ¬Γ¿ó¡δ¼), τѼ ºá»¿ß∞ ñ½∩ ¬áªñ«⌐ ßß佬¿ ¡á φ½Ñ¼Ñ¡Γ »«½-
- ¡«ßΓ∞ε πΓ«τ¡Ñ¡¡«⌐ »ÑαѼѡ¡«⌐.
-
-
- B.Pascal 7 & Objects/LR - 407 -
-
- Å«ñßΓá¡«ó¬á ¬«¡ßΓá¡Γ ¼¡«ªÑßΓóÑ¡¡«ú« Γ¿»á
- ─────────────────────────────────────────────────────────────────
- è«úñá »αáóá∩ τáßΓ∞ «»ÑαáΓ«α in ∩ó½∩ÑΓß∩ ¬«¡ßΓá¡Γ«⌐ ¼¡«ªÑßΓ-
- óÑ¡¡«ú« Γ¿»á, ¬«¼»¿½∩Γ«α úÑ¡Ñα¿απÑΓ ó¬½ετÑ¡¿Ñ »α«óÑન ß »«¼«Θ∞ε
- ¬«¼á¡ñ CMP. Æá¬¿Ñ »«ßΓáó½∩ѼδÑ »α«óÑન í«½ÑÑ φΣΣÑ¬Γ¿ó¡δ τѼ ¬«ñ,
- úÑ¡Ñα¿απѼδ⌐ ó »α«Γ¿ó¡«¼ ß½πτáÑ ß««ΓóÑΓßΓóπεΘ¿¼¿ íπ½Ñó߬¿¼¿ óδαá-
- ªÑ¡¿∩¼¿ ß ¿ß»«½∞º«ó᡿Ѽ «»Ñαᵿ⌐ «Γ¡«ΦÑ¡¿∩. ìá»α¿¼Ñα, «»ÑαáΓ«α:
-
- if ((Ch >= 'A') and (Ch <: 'Z')) or
- ((Ch >= 'a') and (Ch <= 'z')) then ...;
-
- ¼Ñ¡ÑÑ τ¿ΓáѼ ¿ ¼Ñ¡ÑÑ φΣΣÑ¬Γ¿óÑ¡ τѼ
-
- if Ch in ['A'..'Z', 'a'..'z'] then ...;
-
- ū߬«½∞¬π ßóÑαΓδóá¡¿Ñ ¬«¡ßΓá¡Γ »α¿¼Ñ¡∩ÑΓß∩ ¬ ¬«¡ßΓá¡Γá¼ ¼¡«-
- ªÑßΓóÑ¡¡«ú« Γ¿»á Γá¬ªÑ ¬á¬ ¬ ¬«¡ßΓá¡Γá¼ ñαπú¿σ Γ¿»«ó, ¼«ª¡« ¿ß-
- »«½∞º«óáΓ∞ «»¿ßá¡¿∩ const íѺ »«ΓÑα¿ φΣΣÑ¬Γ¿ó¡«ßΓ¿.
-
- const
- Upper = ['A'..'Z'];
- Lower = ['a'..'z'];
- Alpha = Upper + Lower;
-
- æ πτÑΓ«¼ ñá¡¡δσ «»¿ßá¡¿⌐ «»ÑαáΓ«α if úÑ¡Ñα¿απÑà ëà ªÑ ¬«ñ,
- τΓ« ¿ ó ß½πτáÑ »αÑñδñπΘÑú« «»ÑαáΓ«α if:
-
- if Ch in Alpha then ... ;
-
- îá½δÑ ¼¡«ªÑßΓóá
- ─────────────────────────────────────────────────────────────────
- ä½∩ «»Ñαᵿ⌐ ß ¼á½δ¼¿ ¼¡«ªÑßΓóἿ ¬«¼»¿½∩Γ«α úÑ¡Ñα¿απÑΓ
- «τÑ¡∞ φΣΣÑ¬Γ¿ó¡δ⌐ ¬«ñ. îá½«Ñ ¼¡«ªÑßΓó« - φΓ« ¼¡«ªÑßΓó« ß ¡¿ª¡¿¼
- »«α∩ñ¬«óδ¼ º¡áτÑ¡¿Ñ¼ ó ñ¿á»áº«¡Ñ 0..7 ¿ óÑασ¡¿¼ »«α∩ñ¬«óδ¼ º¡áτÑ-
- ¡¿Ñ¼ ó ñ¿á»áº«¡Ñ 0..15. ìá»α¿¼Ñα, ß½ÑñπεΘ¿Ñ ¼¡«ªÑßΓóá TByteSet ¿
- TWordSet ∩ó½∩εΓß∩ ¼á½δ¼¿ ¼¡«ªÑßΓóἿ:
-
- type
- TByteSet = set of 0..7;
- TWordSet = set of 0..15;
-
- Ä»Ñαᵿ¿ ß ¼á½δ¼¿ ¼¡«ªÑßΓóἿ, Γá¬¿Ñ ¬á¬ «íΩÑñ¿¡Ñ¡¿Ñ (+),
- αạ«ßΓ∞ (-), »ÑαÑßÑτÑ¡¿Ñ (*) ¿ »α«óÑα¬á ¡á ó¬½ετÑ¡¿Ñ in úÑ¡Ñα¿-
- απεΓ ß »«¼«Θ∞ε «»Ñαᵿ⌐ AND, OR, NOT ¿ TEST ó¼ÑßΓ« ó맮óá í¿í½¿«-
- ΓѬ ¿ß»«½¡∩εΘÑ⌐ ß¿ßΓÑ¼δ ¿¡ßΓαπ¬µ¿¿ ¼áΦ¿¡¡«ú« ¬«ñá. ǡὫú¿τ¡«,
- ßΓá¡ñáαΓ¡δÑ »α«µÑñπαδ Include ¿ Exclude úÑ¡Ñα¿απεΓ »α¿ »α¿¼Ñ¡Ñ¡¿¿
- ¬ ¼á½δ¼ ¼¡«ªÑßΓóá¼ »«ßΓáó½∩Ѽδ⌐ ¬«ñ.
-
- Å«α∩ñ«¬ óδτ¿ß½Ñ¡¿∩
- ─────────────────────────────────────────────────────────────────
- æΓá¡ñáαΓἿ Åá߬á½∩ ñ«»π߬áÑΓß∩, τΓ« «»Ñαá¡ñδ ó óδαáªÑ¡¿¿
-
- B.Pascal 7 & Objects/LR - 408 -
-
- τáßΓ« óδτ¿ß½∩εΓß∩ ó »«α∩ñ¬Ñ, «Γ½¿τ¡«¼ «Γ Γ«ú«, ó ¬«Γ«α«¼ «¡¿ ºá-
- »¿ßá¡δ (ß½Ñóá ¡á»αáó«). ìá»α¿¼Ñα, «»ÑαáΓ«α:
-
- I := F(J) div G(J)
-
- úñÑ F ¿ G - Σπ¡¬µ¿¿ µÑ½«ú« Γ¿»á, »α¿ó«ñ¿Γ ¬ Γ«¼π, τΓ« G óδτ¿ß½∩-
- ÑΓß∩ »ÑαÑñ óδτ¿ß½Ñ¡¿Ñ¼ F, Γᬠ¬á¬ φΓ« »«ºó«½∩ÑΓ ¬«¼»¿½∩Γ«απ »«½π-
- τ¿Γ∞ í«½ÑÑ «»Γ¿¼á½∞¡δ⌐ «íΩÑ¬Γ¡δ⌐ ¬«ñ. é᪡«, »«φΓ«¼π, τΓ«íδ óδαá-
- ªÑ¡¿Ñ ¡¿¬«úñá ¡Ñ ºáó¿ßѽ« «Γ ¬á¬«ú«-Γ« ¬«¡¬αÑΓ¡«ú« »«α∩ñ¬á
- óδτ¿ß½Ñ¡¿∩ óßΓα«Ñ¡¡δσ Σπ¡¬µ¿⌐. àß½¿ óÑα¡πΓ∞ß∩ ¬ »αÑñδñπΘѼπ »α¿-
- ¼Ñαπ, Γ« ñ½∩ Γ«ú«, τΓ«íδ óδºóáΓ∞ Σπ¡¬µ¿ε F »ÑαÑñ Σπ¡¬µ¿Ñ⌐ G, ¼«ª-
- ¡« ¿ß»«½∞º«óáΓ∞ óαѼѡ¡πε »ÑαѼѡ¡πε:
-
- T := F(J);
- I := T div G(J);
-
- ê߬½ετÑ¡¿Ñ¼ ¿º φΓ«ú« »αáó¿½á ∩ó½∩ÑΓß∩ óδτ¿ß½Ñ¡¿Ñ »« ¬«α«Γ¬«⌐
- ßσÑ¼Ñ (αáºαÑΦÑ¡¡«Ñ ñ¿αÑ¬Γ¿ó«⌐ ¬«¼»¿½∩Γ«αá {$B-}, »α¿ ¬«Γ«α«¼ «»Ñ-
- αá¡ñδ íπ½Ñó߬«ú« Γ¿»á, ßó∩ºá¡¡δÑ «»Ñαᵿ∩¼¿ and ¿½¿ «r, óßÑúñá
- óδτ¿ß½∩εΓß∩ ß½Ñóá ¡á»αáó«.
-
- Åα«óÑα¬á ¡á ñ«»πßΓ¿¼«ßΓ∞ úαá¡¿µ
- ─────────────────────────────────────────────────────────────────
-
- Åα¿ßóá¿óá¡¿Ñ ¬«¡ßΓá¡Γδ »ÑαѼѡ¡«⌐ ¿ ¿ß»«½∞º«óá¡¿Ñ ¬«¡ßΓá¡Γδ
- ó ¬áτÑßΓóÑ º¡áτÑ¡¿∩ »áαá¼ÑΓαá »α«óÑα∩ÑΓß∩ ó« óαѼ∩ ¬«¼»¿½∩µ¿¿ ¡á
- ñ«»πßΓ¿¼«ßΓ∞ ¡áσ«ªñÑ¡¿∩ ó ºáñá¡¡δσ úαá¡¿µáσ. Åα¿ φΓ«¼ úÑ¡Ñα¿απÑΓ-
- ß∩ Γᬫ⌐ ¬«ñ, τΓ« ó« óαѼ∩ óδ»«½¡Ñ¡¿∩ Γᬿσ »α«óÑ᫬ ¡Ñ ñѽáÑΓß∩.
- ìá»α¿¼Ñα, ò := 999, úñÑ ò - »ÑαѼѡ¡á∩ íá⌐Γ«ó«ú« Γ¿»á (BytÑ),
- »α¿ó«ñ¿Γ ¬ «Φ¿í¬Ñ ¬«¼»¿½∩µ¿¿.
-
- êß»«½∞º«óá¡¿Ñ ßñó¿úá ó¼ÑßΓ« π¼¡«ªÑ¡¿∩
- ─────────────────────────────────────────────────────────────────
-
- Ä»Ñαᵿ∩ X*C, úñÑ C - ¬«¡ßΓá¡Γá, ∩ó½∩εΘá∩ß∩ ßΓѻѡ∞ε τ¿ß½á
- 2, »α¿ó«ñ¿Γ ¬ úÑ¡Ñαᵿ¿ «íΩÑ¬Γ¡«ú« ¬«ñá, ó ¬«Γ«α«¼ ¿ß»«½∞ºπÑΓß∩
- ¿¡ßΓαπ¬µ¿∩ Shl (ßñó¿ú ó½Ñó«).
-
- ǡὫú¿τ¡«, ¬«úñá αẼÑα¡«ßΓ∞ ¼áßß¿óá »αÑñßΓáó½∩ÑΓ ß«í«⌐
- ßΓѻѡ∞ τ¿ß½á 2, Γ« ñ½∩ óδτ¿ß½Ñ¡¿∩ ¿¡ñѬߡδσ óδαáªÑ¡¿⌐ ¿ß»«½∞ºπ-
- ÑΓß∩ ¿¡ßΓαπ¬µ¿∩ Shl (á ¡Ñ ¿¡ßΓαπ¬µ¿∩ îul).
-
- ÇóΓ«¼áΓ¿τÑ߬«Ñ óδαáó¡¿óá¡¿Ñ ¡á úαá¡¿µπ ß½«óá
- ─────────────────────────────────────────────────────────────────
-
- Å« π¼«½τá¡¿ε Borland Pascal óδαáó¡¿óáÑΓ óßÑ »ÑαѼѡ¡δÑ ¿ Γ¿-
- »¿º«óá¡¡δÑ ¬«¡ßΓá¡Γδ, »αÑóδΦáεΘ¿Ñ »« αẼÑαπ 1 íá⌐Γ, ¡á úαá¡¿µπ
- ¼áΦ¿¡¡«ú« ß½«óá. ìá óßÑσ 16-αáºα∩ñ¡δσ »α«µÑßß«αáσ ßѼÑ⌐ßΓóá 80σ86
- óδαáó¡¿óá¡¿Ñ ¡á úαá¡¿µπ ß½«óá «º¡áτáÑΓ í«½ÑÑ íδßΓα«Ñ óδ»«½¡Ñ¡¿Ñ,
- »«ß¬«½∞¬π ñ«ßΓπ» ¬ φ½Ñ¼Ñ¡Γá¼ αẼÑα«¼ ó ß½«ó« ¿½¿ τÑΓ¡δ¼ áñαÑßá¼
- «ßπΘÑßΓó½∩ÑΓß∩ íδßΓαÑÑ, τѼ ¬ ß½«óá¼ »« ¡ÑτÑΓ¡«¼π áñαÑßπ.
-
- éδαáó¡¿óá¡¿Ñ ñá¡¡δσ π»αáó½∩ÑΓß∩ ñ¿αÑ¬Γ¿ó«⌐ ¬«¼»¿½∩Γ«αá $A.
-
- B.Pascal 7 & Objects/LR - 409 -
-
- Å« π¼«½τá¡¿ε ó ß«ßΓ«∩¡¿¿ {$A+} »ÑαѼѡ¡δÑ ¿ Γ¿»¿º«óá¡¡δÑ ¬«¡ßΓá¡-
- Γδ óδαáó¡¿óáεΓß∩ π¬áºá¡¡δ¼ óδΦÑ «íαẫ¼. é ß«ßΓ«∩¡¿¿ {$A-} ¡¿¬á-
- ¬¿σ ñÑ⌐ßΓó¿⌐ »« óδαáó¡¿óá¡¿ε ¡Ñ »α«¿ºó«ñ¿Γß∩.
-
- Åα¿¼Ñτá¡¿Ñ: äá½∞¡Ñ⌐Φ¿Ñ »«ñα«í¡«ßΓ¿ »α¿óÑñÑ¡δ ó â½áóÑ 2
- ("ä¿αÑ¬Γ¿óδ ¬«¼»¿½∩Γ«αá") "æ»αáó«τ¡«ú« απ¬«ó«ñßΓóá »α«úαá¼-
- ¼¿ßΓá".
-
- ôñá½Ñ¡¿Ñ ¡Ñ¿ß»«½∞ºπѼ«ú« ¬«ñá
- ─────────────────────────────────────────────────────────────────
-
- Ä»ÑαáΓ«αδ, « ¬«Γ«αδσ ¿ºóÑßΓ¡«, τΓ« «¡¿ ¡¿¬«úñá ¡Ñ íπñπΓ óδ-
- »«½¡∩Γ∞ß∩, ¡Ñ ó¬½ετáεΓß∩ ó «íΩÑ¬Γ¡δ⌐ ¬«ñ. äá¡¡δÑ óδαáªÑ¡¿∩, ¡á»-
- α¿¼Ñα, ¡Ñ »α¿óÑñπΓ ¬ úÑ¡Ñαᵿ¿ «íΩÑ¬Γ¡«ú« ¬«ñá:
-
- if false then
- statement { «»ÑαáΓ«α }
- while false do
- statement
-
- ¥ΣΣÑ¬Γ¿ó¡á∩ ¬«¼»«¡«ó¬á
- ─────────────────────────────────────────────────────────────────
-
- 諼»«¡«óΘ¿¬ Borland Pascal áóΓ«¼áΓ¿τÑ߬¿ πñá½∩ÑΓ ¡Ñ¿ß»«½∞ºπ-
- Ѽδ⌐ ¬«ñ (»« »α«µÑñπαá¼), Γ« ÑßΓ∞ »α«µÑñπαδ ¿ Σπ¡¬µ¿¿, ∩ó½∩εΘ¿Ñß∩
- τáßΓ∞ε ߬«¼»¿½¿α«óá¡¡«⌐ »α«úαá¼¼δ, ¡« ¬ ¬«Γ«αδ¼ ¡ÑΓ «íαáΘÑ¡¿⌐, ¡Ñ
- ó¬½ετáεΓß∩ ó Σá⌐½ Γ¿»á .EXE. Åα«µÑñπαδ, Σπ¡¬µ¿¿, »ÑαѼѡ¡δÑ ¿ Γ¿-
- »¿º«óá¡¡δÑ ¬«¡ßΓá¡Γδ, πτáßΓóπεΘ¿Ñ ó »α«µÑßßÑ ¬«¼»¿½∩µ¿¿, ¡« ßßδ½-
- ¬¿ ¡á ¬«Γ«αδÑ «ΓßπΓßΓóπεΓ, πñá½∩εΓß∩ ¿º Σá⌐½a .EXE. ôñá½Ñ¡¿Ñ ¡Ñ-
- ¿ß»«½∞ºπѼ«ú« ¬«ñá óδ»«½¡∩ÑΓß∩ »« »α«µÑñπαá¼, á πñá½Ñ¡¿Ñ ¡Ñ¿ß-
- »«½∞ºπѼδσ ñá¡¡δσ - »« ßѬµ¿∩¼, úñÑ φΓ¿ ñá¡¡δÑ «»¿ßδóáεΓß∩.
-
- Éáßß¼«Γα¿¼ ß½ÑñπεΘπε »α«úαá¼¼π:
-
- program SmartLink;
- const
- H: array[0..15] of char = '0123456789ABCDEF';
- var
- I,J : integer;
- X,Y : real;
- var
- S: string[79];
- var
- A: array[1..10000] of integer;
-
- procedure P1:
- begin
- A[1] = 1;
- end;
-
- procedure P2;
- begin
- I := 1;
-
- B.Pascal 7 & Objects/LR - 410 -
-
- end;
-
- procedure P3;
- begin
- S := 'Borland Pascal';
- P2;
- end;
-
- begin
- P3;
- end;
-
- Äß¡«ó¡á∩ »α«úαá¼¼á óδºδóáÑΓ »α«µÑñπαπ P3, ¬«Γ«αá∩ óδºδóáÑΓ
- »α«µÑñπαπ P2, »«φΓ«¼π «íÑ »α«µÑñπαδ P2 ¿ P3 ó¬½ετáεΓß∩ ó Σá⌐½
- .EXE. ū߬«½∞¬π P2 ßßδ½áÑΓß∩ ¡á »Ñαóδ⌐ αáºñѽ «»¿ßá¡¿∩ »ÑαѼѡ-
- ¡δσ, á P3 ßßδ½áÑΓß∩ ¡á óΓ«α«⌐ αáºñѽ «»¿ßá¡¿Ñ »ÑαѼѡ¡δσ, »ÑαÑ-
- ¼Ñ¡¡δÑ I, J, X, Y, S Γá¬ªÑ ó¬½ετáεΓß∩ ó óδ»«½¡∩Ѽδ⌐ Σá⌐½. Äñ¡á¬«
- ¡á »α«µÑñπαπ P1 ¡¿¬á¬¿σ ßß佫¬ ¡ÑΓ, á ó¬½ετÑ¡¡δÑ ó óδ»«½¡∩Ѽδ⌐
- Σá⌐½ »α«µÑñπαδ ¡Ñ ßßδ½áεΓß∩ ¡á »ÑαѼѡ¡δÑ ì ¿ A, »«φΓ«¼π φΓ¿ «íΩ-
- ѬΓδ πñá½∩εΓß∩.
-
- ¥ΣΣÑ¬Γ¿ó¡á∩ ¬«¼»«¡«ó¬á ¿¼ÑÑΓ «ß«íπε µÑ¡¡«ßΓ∞ ó ßó∩º¿ ß ¿ß-
- »«½∞º«ó᡿Ѽ ¼«ñπ½Ñ⌐, ¬«Γ«αδÑ αÑ὿ºπεΓ í¿í½¿«ΓѬ¿ »α«µÑñπα ¿
- Σπ¡¬µ¿⌐. Åα¿¼Ñα«¼ Γᬫú« ¼«ñπ½∩ ∩ó½∩ÑΓß∩ ßΓá¡ñáαΓ¡δ⌐ ¼«ñπ½∞ Dos,
- ¬«Γ«αδ⌐ ß«ñÑαª¿Γ α∩ñ »α«µÑñπα ¿ Σπ¡¬µ¿⌐. Åα¿ φΓ«¼ »α«úαá¼¼á αÑñ¬«
- ¿ß»«½∞ºπÑΓ óßÑ φΓ¿ »α«µÑñπαδ. àß½¿ «¡á ¿ß»«½∞ºπÑΓ Γ«½∞¬« «ñ¡π ¿½¿
- ñóÑ »α«µÑñπαδ ¿½¿ Σπ¡¬µ¿¿, Γ« Γ«½∞¬« φΓ¿ »α«µÑñπαδ ó¬½ετáεΓß∩ ó
- »«½πτÑ¡¡δ⌐ ó αѺπ½∞ΓáΓÑ ¬«ñ.
-
-
-
- B.Pascal 7 & Objects/LR - 411 -
-
- ───────────────────────────────────────────────────────────────────────
- ùáßΓ∞ IV. êß»«½∞º«óá¡¿Ñ Borland Pascal ß ∩ºδ¬«¼ áßßѼí½Ñαá
- ─────────────────────────────────────────────────────────────────
-
-
- â½áóá 24. éßΓα«Ñ¡¡δ⌐ áßßѼí½Ñα
- ─────────────────────────────────────────────────────────────────
-
- éßΓα«Ñ¡¡δ⌐ áßßѼí½Ñα Borland Pascal »«ºó«½∩ÑΓ óá¼ ¡Ñ»«ßαÑñß-
- ΓóÑ¡¡« ó »α«úαá¼¼áσ Åá߬á½∩ ºá»¿ßδóáΓ∞ ¬«ñ áßßѼí½Ñαá »α«µÑßß«α«ó
- 8087/8087 ¿ 80286/80287. éδ, ¬«¡Ñτ¡«, Ñß½¿ ΓαÑíπÑΓß∩ τÑαÑñ«óáΓ∞
- ¬«ñ Åá߬á½∩ ¿ áßßѼí½Ñαá, ¼«ªÑΓÑ »αÑ«íαẫóáΓ∞ ¬«ñ áßßѼí½Ñαá ó
- ¼áΦ¿¡¡δÑ ¿¡ßΓαπ¬µ¿¿ óαπτ¡πε ¿ ó«ß»«½∞º«óáΓ∞ß∩ ºáΓѼ «»ÑαáΓ«αἿ
- inline, ½¿í« óδ»«½¡∩Γ∞ ¬«¼»«¡«ó¬π ß Σá⌐½á¼¿ .OBJ, ¬«Γ«αδÑ ß«ñÑα-
- ªáΓ ó¡ÑΦ¡¿Ñ »α«µÑñπαδ ¿ Σπ¡¬µ¿¿ (external).
-
- éßΓα«Ñ¡¡δÑ «»ÑαáΓ«αδ áßßѼí½Ñαá »αÑñßΓáó½∩εΓ ß«í«⌐ í«½∞Φ«Ñ
- »«ñ¼¡«ªÑßΓó« ß¿¡Γá¬ß¿ßá, »«ññÑনóáѼ«ú« Æπαí« ÇßßѼí½Ñα«¼ ¿ îá¬-
- α«áßßѼí½Ñα«¼ Σ¿α¼δ Microsoft. éßΓα«Ñ¡¡δ⌐ áßßѼí½Ñα »«ññÑনóáÑΓ
- óßÑ ¬«ñδ «»Ñαᵿ⌐ »α«µÑßß«α«¼ 8086/8087 ¿ 80286/80287 ¿ ¡Ñ¬«Γ«αδÑ
- ¿º «»Ñαᵿ⌐, ¿ß»«½∞ºπѼδσ ó óδαáªÑ¡¿∩σ Æπαí« ÇßßѼí½Ñαá.
-
- çá ¿ß¬½ετÑ¡¿Ñ¼ ñ¿αÑ¬Γ¿ó DB («»αÑñѽ¿Γ∞ íá⌐Γ), DW («»αÑñѽ¿Γ∞
- ß½«ó«) ¿ DD («»αÑñѽ¿Γ∞ ñó«⌐¡«Ñ ß½«ó«) ¡¿¬á¬¿Ñ ñαπú¿Ñ ñ¿αÑ¬Γ¿óδ
- Æπαí« ÇßßѼí½Ñαá, Γ¿»á EQU, STRUC, SEGMENT ¿½¿ MACRO, óßΓα«Ñ¡¡δ¼
- áßßѼí½Ñα«¼ ¡Ñ »«ññÑনóáεΓß∩. Äñ¡á¬«, «»Ñαᵿ¿, αÑ὿ºπѼδÑ ß
- »«¼«Θ∞ε ñ¿αÑ¬Γ¿ó Æπαí« ÇßßѼí½Ñαá, í½¿º¬« ß««ΓóÑΓßΓóπεΓ ¬«¡ßΓαπ¬-
- µ¿∩¼ Borland Pascal. ìá»α¿¼Ñα, í«½∞Φ¿¡ßΓó« ñ¿αÑ¬Γ¿ó EQU ß««ΓóÑΓß-
- ΓóπεΓ «»¿ßá¡¿∩¼ Borland Pascal const, var ¿ type, ñ¿αÑ¬Γ¿óá PROC
- - «»¿ßá¡¿∩¼ procedure ¿ function, á ñ¿αÑ¬Γ¿óá STRUC - Γ¿»á¼
- record Borland Pascal. öá¬Γ¿τÑ߬¿, óßΓα«Ñ¡¡δ⌐ áßßѼí½Ñα Borland
- Pascal ¼«ª¡« αáßß¼áΓα¿óáΓ∞, ¬á¬ ¬«¼»¿½∩Γ«α ∩ºδ¬á áßßѼí½Ñαá, ¿ß-
- »«½∞ºπεΘ¿⌐ ñ½∩ óßÑσ «»¿ßá¡¿⌐ ß¿¡Γá¬ß¿ß Åá߬á½∩.
-
- Ä»ÑαáΓ«α asm
- ─────────────────────────────────────────────────────────────────
-
- éßΓα«Ñ¡¡δ⌐ áßßѼí½Ñα ßΓá¡«ó¿Γß∩ ñ«ßΓπ»¡δ¼ ß »«¼«Θ∞ε «»ÑαáΓ«-
- α«ó asm. Ä»ÑαáΓ«α asm ¿¼ÑÑΓ ß½ÑñπεΘ¿⌐ ß¿¡Γá¬ß¿ß:
-
- asm «»ÑαáΓ«α_áßßѼí½Ñαá < αáºñѽ¿Γѽ∞ «»ÑαáΓ«α_áßßѼí½Ñαá > end
-
- úñÑ "«»ÑαáΓ«α_áßßѼí½Ñαá" »αÑñßΓáó½∩ÑΓ ß«í«⌐ «»ÑαáΓ«α áßßѼí½Ñαá,
- á "αáºñѽ¿Γѽ∞ " - φΓ« Γ«τ¬á ß ºá»∩Γ«⌐, ¡«óá∩ ßΓα«¬á ¿½¿ ¬«¼¼Ñ¡-
- Γáα¿⌐ Åá߬á½∩. Åα¿óÑñѼ ¡Ñ¬«Γ«αδÑ »α¿¼Ñαδ «»ÑαáΓ«α«ó asm:
-
- asm
- mov ah,0 { ßτ¿ΓáΓ∞ ß ¬½áó¿áΓπαδ ¬«ñ Σπ¡¬µ¿¿ }
- int 16H { ñ½∩ τΓÑ¡¿∩ ¬½áó¿Φ¿ óδºóáΓ∞ BIOS }
- mov CharCode,al { ß«σαá¡¿Γ∞ ¬«ñ ASCII }
- mov ScanCode,ah { ß«σαá¡¿Γ∞ ¬«ñ «»α«ßá }
- end;
-
- asm
-
- B.Pascal 7 & Objects/LR - 412 -
-
- push ds { ß«σαá¡¿Γ∞ DS }
- lds si,Source { ºáúαπº¿Γ∞ π¬áºáΓѽ∞ ¿ßΓ«τ¡¿¬á }
- les di,Dest { ºáúαπº¿Γ∞ π¬áºáΓѽ∞ »α¿Ñ¼¡¿¬á }
- mov cx,Count { ºáúαπº¿Γ∞ αẼÑα í½«¬á }
- cld { »ÑαѼÑßΓ¿Γ∞ }
- rep movsb { ߬«»¿α«óáΓ∞ í½«¬ }
- pop ds { ó«ßßΓá¡«ó¿Γ∞ DS }
- end;
-
- çá¼ÑΓ¿¼, τΓ« ¡á «ñ¡«⌐ ßΓα«¬Ñ ¼«ª¡« αẼÑßΓ¿Γ∞ ¡Ñ߬«½∞¬« «»Ñ-
- αáΓ«α«ó áßßѼí½Ñαá, αáºñѽ¿ó ¿σ Γ«τ¬á¼¿ ß ºá»∩Γ«⌐. èα«¼Ñ Γ«ú«
- ß½ÑñπÑΓ «Γ¼ÑΓ¿Γ∞, τΓ« Ñß½¿ «»ÑαáΓ«αδ áßßѼí½Ñαá αẼÑΘáεΓß∩ ¡á
- αạδσ ßΓ᫬áσ, αáºñѽ∩Γ∞ ¿σ Γ«τ¬á¼¿ ß ºá»∩Γ«⌐ ¡Ñ ΓαÑíπÑΓß∩. çá-
- ¼ÑΓ¿¼ ΓᬪÑ, τΓ« Γ«τ¬á ß ºá»∩Γ«⌐ ¡Ñ ú«ó«α¿Γ « Γ«¼, τΓ« «ßΓá½∞¡á∩
- τáßΓ∞ ßΓ᫬¿ »αÑñßΓáó½∩ÑΓ ß«í«⌐ ¬«¼¼Ñ¡Γáα¿⌐. 諼¼Ñ¡Γáα¿¿ ß½ÑñπÑΓ
- ºá»¿ßδóáΓ∞, ¿ß»«½∞ºπ∩ ß¿¡Γá¬ß¿ß Åá߬á½∩: ß »«¼«Θ∞ε { ¿ } ¿½¿ (* ¿
- *).
-
- êß»«½∞º«óá¡¿Ñ αÑú¿ßΓα«ó
- ─────────────────────────────────────────────────────────────────
-
- Åαáó¿½á ¿ß»«½∞º«óá¡¿∩ αÑú¿ßΓα«ó ó «»ÑαáΓ«αÑ asm ó «ß¡«ó¡«¼
- ß«ó»áñáεΓ ß φΓ¿¼¿ »αáó¿½á¼¿ ñ½∩ ó¡ÑΦ¡¿σ »α«µÑñπα ¿ Σπ¡¬µ¿⌐. Ä»Ñ-
- αáΓ«α asm ñ«½ªÑ¡ ß«σαá¡∩Γ∞ αÑú¿ßΓαδ BP, SP, SS ¿ DS, ¡« ¼«ªÑΓ
- ßó«í«ñ¡« ¿º¼Ñ¡∩Γ∞ AX, BX, CX, DX, SI, DI, ES ¿ αÑú¿ßΓα Σ½áú«ó. ìá
- óσ«ñÑ ó «»ÑαáΓ«α asm BP π¬áºδóáÑΓ ¡á ΓѬπΘπε αἬπ ßΓѬá, SP π¬á-
- ºδóáÑΓ ¡á óÑαΦ¿¡π ßΓѬá, SS ß«ñÑαª¿Γ áñαÑß ßÑú¼Ñ¡Γá ßΓѬá, á DS -
- áñαÑß ßÑú¼Ñ¡Γá ñá¡¡δσ. çá ¿ß¬½ετÑ¡¿Ñ¼ αÑú¿ßΓα«ó BP, SP, SS ¿ DS
- «»ÑαáΓ«α asm ¡Ñ ¼«ªÑΓ ñѽáΓ∞ ¡¿¬á¬¿σ »αÑñ»«½«ªÑ¡¿⌐ «Γ¡«ß¿Γѽ∞¡«
- ß«ñÑন¼«ú« ñαπú¿σ αÑú¿ßΓα«ó ¡á óσ«ñÑ ó φëà «»ÑαáΓ«α.
-
- æ¿¡Γá¬ß¿ß «»ÑαáΓ«αa áßßѼí½Ñαá
- ─────────────────────────────────────────────────────────────────
-
- Ä»ÑαáΓ«α áßßѼí½Ñαá ¿¼ÑÑΓ ß½ÑñπεΘ¿⌐ ß¿¡Γá¬ß¿ß:
-
- [ ¼ÑΓ¬á":" ] < »αÑΣ¿¬ß > [¬«ñ_«»Ñαᵿ¿ [«»Ñαá¡ñ < "," «»Ñαá¡ñ >]]
-
- úñÑ "¼ÑΓ¬á" - φΓ« ¿ñÑ¡Γ¿Σ¿¬áΓ«α ¼ÑΓ¬¿, "»αÑΣ¿¬ß" - »αÑΣ¿¬ß ¬«ñá
- «»Ñαᵿ¿ áßßѼí½Ñαá. "è«ñ_«»Ñαᵿ¿" - ¬«ñ ¿¡ßΓαπ¬µ¿¿ ¿½¿ ñ¿αÑ¬Γ¿-
- óá áßßѼí½Ñαá, á "«»Ñαá¡ñ" - óδαáªÑ¡¿Ñ áßßѼí½Ñαá.
-
- îѪñπ «»ÑαáΓ«αἿ áßßѼí½Ñαá (¡« ¡Ñ ó ¡¿σ) ñ«»π߬áÑΓß∩ ó¬½ε-
- τáΓ∞ ¬«¼¼Ñ¡Γáα¿¿. ä«»πßΓ¿¼«, ¡á»α¿¼Ñα, ß½ÑñπεΘÑÑ:
-
- asm
- mov ax,1 { ¡áτá½∞¡«Ñ º¡áτÑ¡¿Ñ }
- mov cx,100 { ßτÑΓτ¿¬ }
- end;
-
- «ñ¡á¬« ß½ÑñπεΘá∩ ºá»¿ß∞ «Φ¿í«τ¡á:
-
- asm
-
- B.Pascal 7 & Objects/LR - 413 -
-
- mov { ¡áτá½∞¡«Ñ º¡áτÑ¡¿Ñ } ax,1
- mov cx, { ßτÑΓτ¿¬ } 100
- end;
-
- îÑΓ¬¿
- ─────────────────────────────────────────────────────────────────
-
- îÑΓ¬¿ ó áßßѼí½ÑαÑ «»αÑñѽ∩εΓß∩ ΓᬪÑ, ¬á¬ ó Åá߬á½Ñ: »ÑαÑñ
- «»ÑαáΓ«α«¼ ºá»¿ßδóáÑΓß∩ ¿ñÑ¡Γ¿Σ¿¬áΓ«α ¼ÑΓ¬¿ ¿ ñó«ÑΓ«τ¿Ñ. èᬠ¿ ó
- Åá߬á½Ñ, ¼ÑΓ¬¿ ó áßßѼí½ÑαÑ ñ«½ª¡δ «»¿ßδóáΓ∞ß∩ ó «íΩ∩ó½Ñ¡¿¿ label
- Γ«ú« í½«¬á, ¬«Γ«αδ⌐ ß«ñÑαª¿Γ «»ÑαáΓ«α asm. Äñ¡á¬« ¿º φΓ«ú« »αáó¿-
- ½á ÑßΓ∞ «ñ¡« ¿ß¬½ετÑ¡¿Ñ. ¥Γ« ½«¬á½∞¡δÑ ¼ÑΓ¬¿.
-
- 﫬á½∞¡δÑ ¼ÑΓ¬¿ - φΓ« ¼ÑΓ¬¿, ¬«Γ«αδÑ ¡áτ¿¡áεΓß∩ ß ß¿¼ó«½á @.
- ū߬«½∞¬π φΓ«Γ ß¿¼ó«½ ¡Ñ ¼«ªÑΓ íδΓ∞ τáßΓ∞ε ¿ñÑ¡Γ¿Σ¿¬áΓ«αá Åá߬á-
- ½∩, Γá¬¿Ñ ½«¬á½∞¡δÑ ¼ÑΓ¬¿ áóΓ«¼áΓ¿τÑ߬¿ «úαá¡¿τ¿óáεΓß∩ ¿ß»«½∞º«-
- ó᡿Ѽ ¿σ ó «»ÑαáΓ«αáσ asm. 﫬á½∞¡á∩ ¼ÑΓ¬á ¿ºóÑßΓ¡á Γ«½∞¬« ó «»-
- αÑñѽ∩εΘѼ ÑÑ «»ÑαáΓ«αÑ asm (Γ« ÑßΓ∞ «í½áßΓ∞ ñÑ⌐ßΓó¿∩ ½«¬á½∞¡«⌐
- ¼ÑΓ¬¿ ¡áτ¿¡áÑΓß∩ «Γ ¬½ετÑó«ú« ß½«óá asm ¿ ºá¬á¡τ¿óáÑΓß∩ ¬½ετÑóδ¼
- ß½«ó«¼ end «»ÑαáΓ«αá asm, ¬«Γ«αδ⌐ ÑÑ ß«ñÑনΓ).
-
- é «Γ½¿τ¿Ñ «Γ «íδτ¡«⌐ ¼ÑΓ¬¿, ½«¬á½∞¡πε ¼ÑΓ¬π »ÑαÑñ ÑÑ ¿ß»«½∞-
- º«ó᡿Ѽ ¡Ñ ΓαÑíπÑΓß∩ «»¿ßδóáΓ∞ ó «íΩ∩ó½Ñ¡¿¿ label.
-
- êñÑ¡Γ¿Σ¿¬áΓ«α ½«¬á½∞¡«⌐ ¼ÑΓ¬¿ ß«ßΓ«¿Γ ¿º ß¿¼ó«½á @, ºá ¬«Γ«-
- αδ¼ ß½ÑñπÑΓ «ñ¡á ¿½¿ í«½ÑÑ íπ¬ó (A..Z) µ¿Σα (0..9) ß¿¼ó«½«ó »«ñ-
- τÑનóá¡¿∩ ¿½¿ ß¿¼ó«½«ó @. èᬠ¿ óßÑ ¼ÑΓ¬¿, ¿ñÑ¡Γ¿Σ¿¬áΓ«α ºáóÑα-
- ΦáÑΓß∩ ñó«ÑΓ«τ¿Ñ¼.
-
- s è«ñδ ¿¡ßΓαπ¬µ¿⌐
- ─────────────────────────────────────────────────────────────────
-
- éßΓα«Ñ¡¡δ⌐ áßßѼí½Ñα »«ññÑনóáÑΓ ¿¡ßΓαπ¬µ¿¿ »α«µÑßß«α«ó
- 8086/8087 ¿ 80286/80287. ê¡ßΓαπ¬µ¿¿ »α«µÑßß«αá 8087 ñ«ßΓπ»¡δ
- Γ«½∞¬« ó ß«ßΓ«∩¡¿¿ {$N+} (αáºαÑΦÑ¡« ¿ß»«½∞º«óá¡¿Ñ ß«»α«µÑßß«αá),
- ¿¡ßΓαπ¬µ¿¿ »α«µÑßß«αá 80286 - Γ«½∞¬« ó ß«ßΓ«∩¡¿¿ {$G+} (αáºαÑΦÑ¡á
- úÑ¡Ñαᵿ∩ ¬«ñá ñ½∩ »α«µÑßß«αá 80286), á ¿¡ßΓαπ¬µ¿¿ ß«»α«µÑßß«αá
- 80287 - Γ«½∞¬« ó ß«ßΓ«∩¡¿¿ {$G+,N+}.
-
- Å«½¡«Ñ «»¿ßá¡¿Ñ ¬áªñ«⌐ ¿¡ßΓαπ¬µ¿¿ ß«ñÑনΓß∩ ó ß»αáó«τ¡δσ
- ¼áΓÑα¿á½áσ »« »α«µÑßß«αá¼ 80σ86 ¿ 80σ87.
-
- ÉẼÑα ¿¡ßΓαπ¬µ¿¿ RET
- ─────────────────────────────────────────────────────────────────
-
- ê¡ßΓαπ¬µ¿∩ REP úÑ¡Ñα¿απÑΓ ¬«ñ ¼áΦ¿¡¡«⌐ ¿¡ßΓαπ¬µ¿¿ ó«ºóαáΓá
- í½¿ª¡Ñú« ¿½¿ ñá½∞¡Ñú« Γ¿»á, ó ºáó¿ß¿¼«ßΓ¿ «Γ ¼«ñѽ¿ ó맮óá ΓѬπ-
- ΘÑ⌐ »α«µÑñπαδ ¿½¿ Σπ¡¬µ¿¿.
-
- procedure NearProc; near;
- begin
- asm
- ret { úÑ¡Ñα¿απÑΓß∩ í½¿ª¡¿⌐ ó«ºóαáΓ }
-
- B.Pascal 7 & Objects/LR - 414 -
-
- end;
- end;
-
- procedure FarProc; far
- begin
- asm
- ret { úÑ¡Ñα¿απÑΓß∩ ñá½∞¡¿⌐ ó«ºóαáΓ }
- end;
- end;
-
- æ ñαπú«⌐ ßΓ«α«¡δ, ¿¡ßΓαπ¬µ¿¿ RETN ¿ RETF óßÑúñá úÑ¡Ñα¿απεΓ
- í½¿ª¡¿⌐ ¿½¿ ñá½∞¡¿⌐ ó«ºóαáΓ ß««ΓóÑΓßΓóÑ¡¡«, ¡Ñºáó¿ß¿¼ «Γ ¼«ñѽ¿
- ó맮óá ΓѬπΘÑ⌐ »α«µÑñπαδ ¿½¿ Σπ¡¬µ¿¿.
-
- ÇóΓ«¼áΓ¿τÑ߬«Ñ «»αÑñѽѡ¿Ñ αẼÑαá »ÑαÑσ«ñá
- ─────────────────────────────────────────────────────────────────
-
- àß½¿ ¡Ñ π¬áºδóáÑΓß∩ »α«Γ¿ó¡«Ñ, óßΓα«Ñ¡¡δ⌐ áßßѼí½Ñα «»Γ¿¼¿-
- º¿απÑΓ ¿¡ßΓαπ¬µ¿¿ »ÑαÑσ«ñá, áóΓ«¼áΓ¿τÑ߬¿ óδí¿αá∩ ¡á¿í«½ÑÑ ¬«α«Γ-
- ¬πε, ¿, ß½Ññ«óáΓѽ∞¡«, ¡á¿í«½ÑÑ φΣΣÑ¬Γ¿ó¡πε Σ«α¼π ¿¡ßΓαπ¬µ¿¿ »Ñ-
- αÑσ«ñá. Æá¬«Ñ áóΓ«¼áΓ¿τÑ߬«Ñ «»αÑñѽѡ¿Ñ αẼÑαá »ÑαÑσ«ñá
- »α¿¼Ñ¡∩ÑΓß∩ ¬ ¿¡ßΓαπ¬µ¿¿ íѺπß½«ó¡«ú« »ÑαÑσ«ñá (JMP) ¿ óßѼ ¿¡ß-
- Γαπ¬µ¿∩¼ πß½«ó¡«ú« »ÑαÑσ«ñá, ¬«úñá »ÑαÑσ«ñ óδ»«½¡∩ÑΓß∩ ¡á ¼ÑΓ¬π,
- á ¡Ñ »α«µÑñπαπ ¿½¿ Σπ¡¬µ¿ε.
-
- ä½∩ ¿¡ßΓαπ¬µ¿¿ íѺπß½«ó¡«ú« »ÑαÑσ«ñá óßΓα«Ñ¡¡δ⌐ áßßѼí½Ñα
- úÑ¡Ñα¿απÑΓ ¬«α«Γ¬¿⌐ »ÑαÑσ«ñ («ñ¿¡ íá⌐Γ ¬«ñá «»Ñαᵿ¿, ºá ¬«Γ«αδ¼
- ß½ÑñπÑΓ «ñ¿¡ íá⌐Γ ß¼ÑΘÑ¡¿∩), Ñß½¿ αáßßΓ«∩¡¿Ñ ñ« µÑ½Ñó«⌐ ¼ÑΓ¬¿ ¡á-
- σ«ñ¿Γß∩ ó úαá¡¿µáσ «Γ -128 ñ« 127 íá⌐Γ. é »α«Γ¿ó¡«¼ ß½πτáÑ úÑ¡Ñ-
- α¿απÑΓß∩ í½¿ª¡¿⌐ »ÑαÑσ«ñ («ñ¿¡ íá⌐Γ ¬«ñá «»Ñαᵿ¿, ºá ¬«Γ«αδ¼
- ß½Ññπε ñóá íá⌐Γá ß¼ÑΘÑ¡¿∩).
-
- ä½∩ ¿¡ßΓαπ¬µ¿⌐ πß½«ó¡«ú« »ÑαÑσ«ñá ¬«α«Γ¬¿⌐ »ÑαÑσ«ñ («ñ¿¡
- íá⌐Γ ¬«ñá «»Ñαᵿ¿, ºá ¬«Γ«αδ¼ ß½ÑñπÑΓ «ñ¿¡ íá⌐Γ ß¼ÑΘÑ¡¿∩) úÑ¡Ñ-
- α¿απÑΓß∩, Ñß½¿ αáßßΓ«∩¡¿Ñ ñ« µÑ½Ñó«⌐ ¼ÑΓ¬¿ ¡áσ«ñ¿Γß∩ ó »αÑñѽáσ
- «Γ -128 ñ« 127 íá⌐Γ, ó »α«Γ¿ó¡«¼ ß½πτáÑ óßΓα«Ñ¡¡δ⌐ áßßѼí½Ñα úÑ-
- ¡Ñα¿απÑΓ ¬«α«Γ¬¿⌐ »ÑαÑσ«ñ ß «íαáΓ¡δ¼ πß½«ó¿Ñ¼, ¬«Γ«αδ⌐ óδ»«½¡∩ÑΓ
- »ÑαÑσ«ñ ¡á µÑ½Ñóπε ¼ÑΓ¬π τÑαѺ í½¿ª¡¿⌐ »ÑαÑσ«ñ (ó «íΘѼ ß½πτáÑ 5
- íá⌐Γ). ìá»α¿¼Ñα, «»ÑαáΓ«α áßßѼí½Ñαá:
-
- JC Stop
-
- úñÑ Stop ¡Ñ ¡áσ«ñ¿Γß∩ ó úαá¡¿µáσ ¬«α«Γ¬«ú« »ÑαÑσ«ñá, »αÑ«íαáºπÑΓ-
- ß∩ ó »«ß½Ññ«óáΓѽ∞¡«ßΓ∞ ¼áΦ¿¡¡δσ ¬«ñ«ó, ß««ΓóÑΓßΓóπεΘ¿σ ¿¡ßΓαπ¬-
- µ¿∩¼:
-
- jnc Skip
- jmp Stop
- Skip:
-
- ÅÑαÑσ«ñδ ¡á Γ«τ¬¿ óσ«ñá ó »α«µÑñπαπ ¿½¿ Σπ¡¬µ¿ε óßÑúñá ¿¼ÑεΓ
- í½¿ª¡¿⌐ ¿½¿ ñá½∞¡¿⌐ Γ¿» (¡« ¡Ñ ¬«α«Γ¬¿⌐), á πß½«ó¡δÑ »ÑαÑσ«ñδ ¡á
- »α«µÑñπαπ ¿½¿ Σπ¡¬µ¿ε ¡Ñ ñ«»π߬áεΓß∩. éδ ¼«ªÑΓÑ π¬áºáΓ∞ óßΓα«Ñ¡-
-
- B.Pascal 7 & Objects/LR - 415 -
-
- ¡«¼π áßßѼí½Ñαπ, τΓ« ¡πª¡« úÑ¡Ñα¿α«óáΓ∞ í½¿ª¡¿⌐ ¿½¿ ñá½∞¡¿⌐ »ÑαÑ-
- σ«ñ, ¿ß»«½∞ºπ∩ ¬«¡ßΓαπ¬µ¿ε NEAR PTR ¿½¿ FAR PTR. ìá»α¿¼Ñα, «»Ñαá-
- Γ«αδ áßßѼí½Ñαá:
-
- jmp NEAR PTR Stop
- jmp FAR PTR Stop
-
- íπñπΓ óßÑúñá úÑ¡Ñα¿α«óáΓ∞ ß««ΓóÑΓßΓóÑ¡¡« í½¿ª¡¿⌐ ¿ ñá½∞¡¿⌐ »ÑαÑ-
- σ«ñ, ñáªÑ Ñß½¿ ¡á ¼ÑΓ¬π Stop ¼«ª¡« »ÑαÑ⌐Γ¿ ß »«¼«Θ∞ε ¬«α«Γ¬«ú«
- »ÑαÑσ«ñá.
-
- ä¿αÑ¬Γ¿óδ áßßѼí½Ñαá
- ─────────────────────────────────────────────────────────────────
-
- éßΓα«Ñ¡¡δ⌐ áßßѼí½Ñα Borland Pascal »«ññÑনóáÑΓ Γα¿ ñ¿αѬ-
- Γ¿óδ áßßѼí½Ñαá: DB («»αÑñѽ¿Γ∞ íá⌐Γ), DW («»αÑñѽ¿Γ∞ ß½«ó«) ¿ DD
- («»αÑñѽ¿Γ∞ ñó«⌐¡«Ñ ß½«ó«). èáªñá∩ ¿º ¡¿σ úÑ¡Ñα¿απÑΓ ñá¡¡δÑ, ß«-
- «ΓóÑΓßΓóπεΘ¿Ñ αáºñѽѡ¡δ¼ ºá»∩Γδ¼ «»Ñαá¡ñá¼, ¬«Γ«αδÑ ß½ÑñπεΓ ºá
- ñ¿αÑ¬Γ¿ó«⌐.
-
- ä¿αÑ¬Γ¿óá DB úÑ¡Ñα¿απÑΓ »«ß½Ññ«óáΓѽ∞¡«ßΓ∞ íá⌐Γ. èáªñδ⌐ «»Ñ-
- αá¡ñ ¼«ªÑΓ »αÑñßΓáó½∩Γ∞ ß«í«⌐ óδαáªÑ¡¿Ñ-¬«¡ßΓá¡Γπ ß« º¡áτÑ¡¿Ñ¼ «Γ
- -128 ñ« 255, ¿½¿ ßΓ᫬π ß¿¼ó«½«ó ½εí«⌐ ñ½¿¡δ. éδαáªÑ¡¿Ñ-¬«¡ßΓá¡Γá
- úÑ¡Ñα¿απÑΓ 1 íá⌐Γ ¬«ñá, á ßΓ᫬¿ úÑ¡Ñα¿απεΓ »«ß½Ññ«óáΓѽ∞¡«ßΓ∞
- íá⌐Γ ß« º¡áτÑ¡¿∩¼¿, ß««ΓóÑΓßΓóπεΘ¿¼ ¬«ñπ ASCII ¬áªñ«ú« ß¿¼ó«½á.
-
- ä¿αÑ¬Γ¿óá DW úÑ¡Ñα¿απÑΓ »«ß½Ññ«óáΓѽ∞¡«ßΓ∞ ß½«ó. èáªñδ⌐ «»Ñ-
- αá¡ñ ¼«ªÑΓ »αÑñßΓáó½∩Γ∞ ß«í«⌐ óδαáªÑ¡¿Ñ-¬«¡ßΓá¡Γπ ß« º¡áτÑ¡¿Ñ¼ «Γ
- -32768 ñ« 65535, ¿½¿ áñαÑß¡«Ñ óδαáªÑ¡¿Ñ. ä½∩ áñαÑß¡«ú« óδαáªÑ¡¿∩
- óßΓα«Ñ¡¡δ⌐ áßßѼí½Ñα úÑ¡Ñα¿απÑΓ π¬áºáΓѽ∞ í½¿ª¡Ñú« Γ¿»á, τΓ« ÑßΓ∞
- ß½«ó«, ß«ñÑαªáΘ¿Ñ ß¼ÑΘÑ¡¿∩ áñαÑßá.
-
- ä¿αÑ¬Γ¿óá DD úÑ¡Ñα¿απÑΓ »«ß½Ññ«óáΓѽ∞¡«ßΓ∞ ñó«⌐¡δσ ß½«ó.
- èáªñδ⌐ «»Ñαá¡ñ ¼«ªÑΓ »αÑñßΓáó½∩Γ∞ ß«í«⌐ óδαáªÑ¡¿Ñ-¬«¡ßΓá¡Γπ ß«
- º¡áτÑ¡¿Ñ¼ «Γ -2147483648 ñ« 4294967295 ¿½¿ áñαÑß¡«Ñ óδαáªÑ¡¿Ñ.
- ä½∩ áñαÑß¡«ú« óδαáªÑ¡¿∩ óßΓα«Ñ¡¡δ⌐ áßßѼí½Ñα úÑ¡Ñα¿απÑΓ π¬áºáΓѽ∞
- ñá½∞¡Ñú« Γ¿»á, τΓ« ÑßΓ∞ ß½«ó«, ß«ñÑαªáΘ¿Ñ ß¼ÑΘÑ¡¿∩ áñαÑßá, ºá ¬«-
- Γ«αδ¼ ß½ÑñπÑΓ ß½«ó«, ß«ñÑαªáΘÑÑ ßÑú¼Ñ¡Γ¡πε τáßΓ∞ áñαÑßá.
-
- äá¡¡δÑ, úÑ¡Ñα¿απѼδÑ »« ñ¿αÑ¬Γ¿óá¼ DB, DW ¿ DD, óßÑúñá ºá»¿-
- ßδóáεΓß∩ ó ßÑú¼Ñ¡Γ ¬«ñá, á¡á½«ú¿τ¡« ¬«ñπ, úÑ¡Ñα¿απѼ«¼π ñαπú¿¼¿
- «»ÑαáΓ«αἿ óßΓα«Ñ¡¡«ú« áßßѼí½Ñαá. ùΓ«íδ ßúÑ¡Ñα¿α«óáΓ∞ ¿¡¿µ¿á½¿-
- º¿α«óá¡¡δÑ ¿½¿ ¡Ñ¿¡¿µ¿á½¿º¿α«óá¡¡δÑ ñá¡¡δÑ ó ßÑú¼Ñ¡ΓÑ ñá¡¡δσ, óá¼
- ß½ÑñπÑΓ ¿ß»«½∞º«óáΓ∞ «íδτ¡δÑ «»¿ßá¡¿∩ Åá߬á½∩ Γ¿»á var ¿½¿ const.
-
- Åα¿óÑñѼ ¡Ñ¬«Γ«αδÑ »α¿¼Ñαδ ñ¿αÑ¬Γ¿ó DB, DW ¿ DD:
-
- asm
- DB 00FH { 1 íá⌐Γ }
- DB 0,99 { 2 íá⌐Γá }
- DB 'A' { Ord('A) }
- DB 'Åα¿¼Ñα',0DH,OAH { ßΓ᫬á, ºá ¬«Γ«α«⌐
- ß½ÑñπεΓ ó«ºóαáΓ ¬áαÑΓ¬¿ ¿ »ÑαÑó«ñ ßΓ᫬¿ }
-
- B.Pascal 7 & Objects/LR - 416 -
-
- DB 12,"Borland Pascal" { ßΓ᫬á Åá߬á½∩ }
- DW 0FFFFH { 1 ß½«ó« }
- DW 0,9999 { 2 ß½«óá }
- DW 'A' { φ¬ó¿óá½Ñ¡Γ¡« DB 'A',0 }
- DW 'BA' { φ¬ó¿óá½Ñ¡Γ¡« DB 'A','B' }
- DW MyVar { ß¼ÑΘÑ¡¿Ñ MyVar }
- DW MyProc { ß¼ÑΘÑ¡¿Ñ MyProc }
- DD 0FFFFFFFH { 1 ñó«⌐¡«Ñ ß½«ó« }
- DD 0,99999999 { 2 ñó«⌐¡δσ ß½«óá }
- DD 'A' { φ¬ó¿óá½Ñ¡Γ¡« DB 'A',0,0,0 }
- DD 'DBCA' { φ¬ó¿óá½Ñ¡Γ¡« DS 'A','B','C','D' }
- DD MyVar { π¬áºáΓѽ∞ ¡á MyVar }
- DD MyProc { π¬áºáΓѽ∞ ¡á MyProc }
- end;
-
- é Æπαí« ÇßßѼí½ÑαÑ, ¬«úñá »ÑαÑñ ¿ñÑ¡Γ¿Σ¿¬áΓ«α«¼ π¬áºδóáÑΓß∩
- DB, DW ¿½¿ DD, φΓ« »α¿ó«ñ¿Γ ¬ úÑ¡Ñαᵿ¿ ó Γ«¼ ¼ÑßΓÑ, úñÑ π¬áºá¡á
- ñ¿αÑ¬Γ¿óá, »ÑαѼѡ¡«⌐ αẼÑα«¼ ó íá⌐Γ, ß½«ó« ¿½¿ ñó«⌐¡«Ñ ß½«ó«.
- ìá»α¿¼Ñα, Æπαí« ÇßßѼí½Ñα ñ«»π߬áÑΓ ß½ÑñπεΘÑÑ:
-
- ByteVar DB ?
- WordVar DW ?
- .
- .
- .
- mov al,ByteVar
- mov bx,WordVar
-
- éßΓα«Ñ¡¡δ⌐ áßßѼí½Ñα ¡Ñ »«ññÑনóáÑΓ Γá¬¿Ñ «»¿ßá¡¿∩ »ÑαѼѡ-
- ¡δσ. é Borland Pascal Ññ¿¡ßΓóÑ¡¡δ¼ ó¿ñ«¼ ¿ñÑ¡Γ¿Σ¿¬áΓ«αá, ¬«Γ«αδ⌐
- ¼«ª¡« «»αÑñѽ¿Γ∞ ó «»ÑαáΓ«αÑ óßΓα«Ñ¡¡«ú« áßßѼí½Ñαá, ∩ó½∩ÑΓß∩
- ¼ÑΓ¬á. éßÑ »ÑαѼѡ¡δÑ ñ«½ª¡δ «»¿ßδóáΓ∞ß∩ ß »«¼«Θ∞ε ß¿¡Γá¬ß¿ßá
- Åá߬á½∩, ¿ »αÑñδñπΘá∩ ¬«¡ßΓαπ¬µ¿∩ ß««ΓóÑΓßΓóπÑΓ ß½ÑñπεΘѼπ:
-
- var
- ByteVar: Byte;
- WordWat: Word;
- .
- .
- .
- asm
- mov al,ByteVar
- mov bx,WordVar
- end;
-
-
-
- B.Pascal 7 & Objects/LR - 417 -
-
- Ä»Ñαá¡ñδ
- ─────────────────────────────────────────────────────────────────
-
- Ä»Ñαá¡ñδ óßΓα«Ñ¡¡«ú« áßßѼí½Ñαá »αÑñßΓáó½∩εΓ ß«í«⌐ óδαáªÑ-
- ¡¿∩, ¬«Γ«αδÑ ß«ßΓ«∩Γ ¿º ß«τÑΓá¡¿∩ ¬«¡ßΓá¡Γ, αÑú¿ßΓα«ó, ¿ñÑ¡Γ¿Σ¿-
- ¬áΓ«α«ó ¿ «»Ñαᵿ⌐. ò«Γ∩ óδαáªÑ¡¿∩ óßΓα«Ñ¡¡«ú« áßßѼí½Ñαá Σ«α¼¿-
- απεΓß∩ ß ¿ß»«½∞º«ó᡿Ѽ ΓÑσ ªÑ «ß¡«ó¡δσ »α¿¡µ¿»«ó, τΓ« ¿
- óδαáªÑ¡¿∩ Åá߬á½∩, ¿¼ÑÑΓß∩ α∩ñ ó᪡δσ «Γ½¿τ¿⌐, ¬«Γ«αδÑ ¡Ñ«íσ«ñ¿¼«
- »«∩ß¡¿Γ∞.
-
- é« óßΓα«Ñ¡¡«¼ áßßѼí½ÑαÑ »αÑñ«»αÑñѽѡ¡δ⌐ ß¼δß½ ¿¼ÑεΓ ß½Ññπ-
- εΘ¿Ñ ºáαѺÑαó¿α«óá¡¡δÑ ß½«óá:
-
- AH CL FAR SEG
- AL CS HIGH SHL
- AND CX LOW SHR
- AX DH MOD SI
- BH DI NEAR SP
- BL DL NOT SS
- BP DS OFFSET ST
- BX DWORD OR TBYTE
- BYTE DX PTR TYPE
- CH ES WQORD WORD
- XOR
-
- çáαѺÑαó¿α«óá¡¡δÑ ß½«óá óßÑúñá ¿¼ÑεΓ í«½∞Φ¿⌐ »α¿«α¿ΓÑΓ, τѼ
- «»αÑñѽѡ¡δÑ »«½∞º«óáΓѽѼ ¿ñÑ¡Γ¿Σ¿¬áΓ«αδ. ìá»α¿¼Ñα, ó« Σαáú¼Ñ¡ΓÑ
- »α«úαá¼¼δ:
-
- var
- ch: Char;
- ...
- asm
- mov ch,1
- end;
-
- 1 íπñÑΓ ºáúαπªáΓ∞ß∩ ó αÑú¿ßΓα CH, á ¡Ñ ó »ÑαѼѡ¡πε CH. ä½∩ ñ«ß-
- Γπ»á ¬ «»αÑñѽѡ¡«¼π »«½∞º«óáΓѽѼ ¿¼Ñ¡¿ ¡πª¡« ¿ß»«½∞º«óáΓ∞ á¼-
- »Ñαßá¡ñ - «»Ñαáµ¿ε »ÑαÑ«»αÑñѽѡ¿∩ ¿ñÑ¡Γ¿Σ¿¬áΓ«αá (&).
-
- asm
- mov &ch,1
- end;
-
- îδ ¡áßΓ«∩Γѽ∞¡« αѬ«¼Ñ¡ñπѼ ¡Ñ ¿ß»«½∞º«óáΓ∞ «»αÑñѽѡ¡δÑ
- »«½∞º«óáΓѽѼ ¿ñÑ¡Γ¿Σ¿¬áΓ«αδ ß ΓѼ¿ ªÑ ¿¼Ñ¡á¼¿, τΓ« ¿ ºáαѺÑαó¿-
- α«óá¡¡δÑ ß½«óá óßΓα«Ñ¡¡«ú« áßßѼí½Ñαá, »«ß¬«½∞¬π Γá¬á∩ »πΓá¡¿µá
- ¿¼Ñ¡ ¼«ªÑΓ ½Ñú¬« »α¿ó«ñ¿Γ∞ ¬ «τÑ¡∞ Γαπñ¡«π½«ó¿¼δ¼ «Φ¿í¬á¼.
-
- éδαáªÑ¡¿∩
- ─────────────────────────────────────────────────────────────────
-
- éßΓα«Ñ¡¡δ⌐ áßßѼí½Ñα óδτ¿ß½∩ÑΓ óßÑ óδαáªÑ¡¿∩, ¬á¬ 32-αáºα∩ñ-
-
- B.Pascal 7 & Objects/LR - 418 -
-
- ¡δÑ º¡áτÑ¡¿∩-π¬áºáΓѽ¿. Ä¡ ¡Ñ »«ññÑনóáÑΓ º¡áτÑ¡¿∩ ß »½áóáεΘÑ⌐
- Γ«τ¬«⌐ ¿ ßΓ᫬«óδÑ º¡áτÑ¡¿∩, ºá ¿ß¬½ετÑ¡¿Ñ¼ ßΓ᫬«óδσ ¬«¡ßΓá¡Γ.
-
- éδαáªÑ¡¿∩ óßΓα«Ñ¡¡«ú« áßßѼí½Ñαá ßΓα«∩Γß∩ ¿º φ½Ñ¼Ñ¡Γ«ó óδαá-
- ªÑ¡¿⌐ ¿ «»Ñαᵿ⌐, á ¬áªñá∩ «»Ñαᵿ∩ ¿¼ÑÑΓ ß««ΓóÑΓßΓóπεΘ¿⌐ ¬½áßß
- óδαáªÑ¡¿∩ ¿ Γ¿» óδαáªÑ¡¿∩. ¥Γ¿ »α¿¡µ¿»δ »«∩ß¡∩εΓß∩ ó ß½ÑñπεΘ¿σ
- αáºñѽáσ.
-
-
- Éẽ¿τ¿∩ ¼Ñªñπ óδαáªÑ¡¿∩¼¿ Åá߬á½∩ ¿ áßßѼí½Ñαá
- ─────────────────────────────────────────────────────────────────
-
- ü«½∞Φ¿¡ßΓó« ó᪡δσ αẽ¿τ¿⌐ ¼Ñªñπ óδαáªÑ¡¿∩¼¿ Åá߬á½∩ ¿ óδ-
- αáªÑ¡¿∩¼¿ óßΓα«Ñ¡¡«ú« áßßѼí½Ñαá ß«ßΓ«¿Γ ó Γ«¼, τΓ« óδαáªÑ¡¿∩
- óßΓα«Ñ¡¡«ú« áßßѼí½Ñαá ñ«½ª¡δ »α¿ óδτ¿ß½Ñ¡¿¿ ßó«ñ¿Γ∞ß∩ ¬ º¡áτÑ-
- ¡¿ε-¬«¡ßΓá¡ΓÑ, ñαπú¿¼¿ ß½«óἿ, ¬ º¡áτÑ¡¿ε, ¬«Γ«α«Ñ ¼«ª¡« óδτ¿ß-
- ½¿Γ∞ ¡á φΓá»Ñ ¬«¼»¿½∩µ¿¿. ìá»α¿¼Ñα, ß πτÑΓ«¼ «»¿ßá¡¿⌐:
-
- const
- X = 10;
- Y = 20;
- var
- Z: Integer;
-
- ß½ÑñπεΘ¿⌐ «»ÑαáΓ«α ∩ó½∩ÑΓß∩ ó« óßΓα«Ñ¡¡«¼ áßßѼí½ÑαÑ ñ«»πßΓ¿¼δ¼:
-
- asm
- mov Z,X+Y
- end;
-
- ū߬«½∞¬π X ¿ Y - φΓ« ¬«¡ßΓá¡Γδ, óδαáªÑ¡¿Ñ X + Y »αÑñßΓáó½∩-
- ÑΓ ß«í«⌐ »α«ßΓ« πñ«í¡δ⌐ ß»«ß«í ºá»¿ß¿ ¬«¡ßΓá¡Γδ 30, ¿ »«½πτÑ¡¡á∩
- ó αѺπ½∞ΓáΓÑ ¿¡ßΓαπ¬µ¿∩ »«¼ÑΘáÑΓ ¡Ñ»«ßαÑñßΓóÑ¡¡«Ñ º¡áτÑ¡¿Ñ 30 ó
- »ÑαѼѡ¡πε Z αẼÑα«¼ ó ß½«ó«. ì« Ñß½¿ óδ «»¿ΦÑΓÑ X ¿ Y, ¬á¬ »Ñ-
- αѼѡ¡δÑ:
-
- var
- X, Y: Integer;
-
- Γ« óßΓα«Ñ¡¡δ⌐ áßßѼí½Ñα ¡Ñ ß¼«ªÑΓ ¡á φΓá»Ñ ¬«¼»¿½∩µ¿¿ óδτ¿ß½¿Γ∞
- º¡áτÑ¡¿Ñ X + Y. è«ααÑ¬Γ¡«⌐ ¬«¡ßΓαπ¬µ¿Ñ⌐ óßΓα«Ñ¡¡«ú« áßßѼí½Ñαá ó
- φΓ«¼ ß½πτáÑ íπñÑΓ:
-
- asm
- mov ax,X
- add ax,Y
- mov Z,ax
- end;
-
- äαπú¿¼ óáª¡δ¼ «Γ½¿τ¿Ñ¼ óδαáªÑ¡¿⌐ Åá߬á½∩ ¿ óßΓα«Ñ¡¡«ú« Çß-
- ßѼí½Ñαá ∩ó½∩ÑΓß∩ ß»«ß«í ¿¡ΓÑα»αÑΓᵿ¿ »ÑαѼѡ¡δσ. é óδαáªÑ¡¿¿
- Åá߬á½∩ ßßδ½¬á ¡Ñ »ÑαѼѡ¡πε ¿¡ΓÑα»αÑΓ¿απÑΓß∩, ¬á¬ ß«ñÑন¼«Ñ »Ñ-
- αѼѡ¡«⌐, ¡« ó óδαáªÑ¡¿¿ óßΓα«Ñ¡¡«ú« áßßѼí½Ñαá ßßδ½¬á ¡á »ÑαÑ-
-
- B.Pascal 7 & Objects/LR - 419 -
-
- ¼Ñ¡¡πε «º¡áτáÑΓ áñαÑß »ÑαѼѡ¡«⌐. ìá»α¿¼Ñα, ó Åá߬á½Ñ óδαáªÑ¡¿Ñ X
- + 4, úñÑ X - »ÑαѼѡ¡á∩, «º¡áτáÑΓ ß«ñÑন¼«Ñ X, »½εß 4, á ó«
- óßΓα«Ñ¡¡«¼ áßßѼí½ÑαÑ φΓ« «º¡áτáÑΓ ß«ñÑন¼«Ñ ó ß½«óÑ »« áñαÑßπ
- ¡á 4 íá⌐Γá óδΦÑ, τѼ áñαÑß X. Å«φΓ«¼π, σ«Γ∩ ñ«»πßΓ¿¼á ºá»¿ß∞:
-
- asm
- mov ax,X+4
- end;
-
- φëà ¬«ñ ¡Ñ ºáúαπªáÑΓ º¡áτÑ¡¿∩ X, »½εß 4 ó AX, á ºáúαπªáÑΓ º¡áτÑ-
- ¡¿Ñ ß½«óá, ºá»¿ßá¡¡«ú« τÑαѺ 4 íá⌐Γá »«ß½Ñ X. è«ααÑ¬Γ¡«⌐ ºá»¿ß∞ε
- ß½«ªÑ¡¿∩ 4 ß ß«ñÑন¼δ¼ X íπñÑΓ:
-
- asm
- MOV AX,X
- ADD AX,4
- end;
-
-
- ¥½Ñ¼Ñ¡Γδ óδαáªÑ¡¿⌐
- ─────────────────────────────────────────────────────────────────
-
- Äß¡«ó¡δ¼¿ φ½Ñ¼Ñ¡ΓἿ óδαáªÑ¡¿∩ ∩ó½∩εΓß∩ ¬«¡ßΓá¡Γδ, αÑú¿ßΓαδ
- ¿ ¿ñÑ¡Γ¿Σ¿¬áΓ«αδ.
-
-
-
- B.Pascal 7 & Objects/LR - 420 -
-
- è«¡ßΓá¡Γδ
- ─────────────────────────────────────────────────────────────────
-
- éßΓα«Ñ¡¡δ⌐ áßßѼí½Ñα »«ññÑনóáÑΓ ñóá Γ¿»á ¬«¡ßΓá¡Γ: τ¿ß½«-
- óδÑ ¬«¡ßΓá¡Γδ ¿ ßΓ᫬«óδÑ ¬«¡ßΓá¡Γδ.
-
- ù¿ß½«óδÑ ¬«¡ßΓá¡Γδ
- ─────────────────────────────────────────────────────────────────
-
- ù¿ß½«óδÑ ¬«¡ßΓá¡Γδ ñ«½ª¡δ íδΓ∞ µÑ½δ¼¿ ¿ »α¿¡¿¼áΓ∞ º¡áτÑ¡¿∩ ó
- ñ¿á»áº«¡Ñ «Γ -2147483648 ñ« 4294967295.
-
- Å« π¼«½τá¡¿ε τ¿ß½«óδÑ ¬«¡ßΓá¡Γδ ∩ó½∩εΓß∩ ñÑß∩Γ¿τ¡δ¼¿, «ñ¡á¬«
- óßΓα«Ñ¡¡δ⌐ áßßѼí½Ñα »«ññÑনóáÑΓ Γá¬ªÑ ñó«¿τ¡δÑ, ó«ß∞¼Ñα¿τ¡δÑ ¿
- ΦÑßΓ¡áñµáΓ¿α¿τ¡δÑ ¬«¡ßΓá¡Γδ. äó«¿τ¡«Ñ »αÑñßΓáó½Ñ¡¿Ñ «í«º¡áτáÑΓß∩
- ºá»¿ß∞ε »«ß½Ñ τ¿ß½á B, ó«ß∞¼Ñα¿τ¡«Ñ - ºá»¿ß∞ε íπ¬óδ O, á ΦÑßΓ¡áñ-
- µáΓ¿α¿τ¡«Ñ - ºá»¿ß∞ε »«ß½Ñ τ¿ß½á H ¿½¿ π¬áºá¡¿Ñ¼ »ÑαÑñ τ¿ß½«¼ $.
-
- é óδαáªÑ¡¿∩σ Åá߬á½∩ ßπΣΣ¿¬ßδ B, O ¿ H ¡Ñ »«ññÑনóáεΓß∩.
- éδαáªÑ¡¿∩ Åá߬á½∩ ñ«»π߬áεΓ Γ«½∞¬« ñÑß∩Γ¿τ¡πε (»« π¼«½τá¡¿ε) ¿
- ΦÑßΓ¡áñµáΓ¿α¿τ¡πε ºá»¿ß∞ (¿ß»«½∞ºπÑΓß∩ »αÑΣ¿¬ß $).
-
- ù¿ß½«óδÑ ¬«¡ßΓá¡Γδ ñ«½ª¡δ ¡áτ¿¡áΓ∞ß∩ ß «ñ¡«⌐ ¿º µ¿Σα ¿½¿
- ß¿¼ó«½á $. Æá¬¿¼ «íαẫ¼, ¬«úñá óδ ºá»¿ßδóáÑΓÑ ΦÑßΓ¡áñµáΓ¿α¿τ¡πε
- ¬«¡ßΓá¡Γπ ß »«¼«Θ∞ε ßπΣΣ¿¬ßá H, Γ« Ñß½¿ »Ñαó«⌐ º¡áτáΘÑ⌐ µ¿Σα«⌐
- ∩ó½∩ÑΓß∩ «ñ¡á ¿º ΦÑßΓ¡áñµáΓ¿α¿τ¡δσ µ¿Σα «Γ A ñ« F, Γ« ΓαÑíπÑΓß∩
- ñ«»«½¡¿Γѽ∞¡δ⌐ ¡«½∞. ìá»α¿¼Ñα, 0BAD4H ¿ $BAD4 »αÑñßΓáó½∩εΓ ß«í«⌐
- ΦÑßΓ¡áñµáΓ¿α¿τ¡δÑ ¬«¡ßΓá¡Γδ, á BAD4H - φΓ« ¿ñÑ¡Γ¿Σ¿¬áΓ«α, Γᬠ¬á¬
- «¡ ¡áτ¿¡áÑΓß∩ ß íπ¬óδ, á ¡Ñ ß µ¿Σαδ.
-
-
- æΓ᫬«óδÑ ¬«¡ßΓá¡Γδ
- ─────────────────────────────────────────────────────────────────
-
- æΓ᫬«óδÑ ¬«¡ßΓá¡Γδ ñ«½ª¡δ ºá¬½ετáΓ∞ß∩ ó «ñ¿¡«τ¡δÑ ¿½¿ ñó«⌐-
- ¡δÑ ¬áóδτ¬¿. ô¬áºá¡¿Ñ ñóπσ »«ß½Ññ«óáΓѽ∞¡δσ ¬áóδτѬ «ñ¡«ú« Γ¿»á ó
- ¬áτÑßΓóÑ ºá¬αδóáεΘ¿σ ¬áóδτѬ ßτ¿ΓáÑΓß∩ ºá «ñ¿¡ ß¿¼ó«½. Åα¿óÑñѼ
- ¡Ñ¬«Γ«αδÑ »α¿¼Ñαδ ßΓ᫬«óδσ ¬«¡ßΓá¡Γ:
-
- 'Z'
- 'Borland Pascal'
- "That's all folks"
- '"That''s all falks," he said.'
- '100
- '"'
- "'"
-
- çá¼ÑΓ¿¼, τΓ« ó τÑΓóÑαΓ«⌐ ßΓα«¬Ñ ñ½∩ «í«º¡áτÑ¡¿∩ «ñ¿¡«τ¡«ú«
- ß¿¼ó«½δ ¬áóδτ¬¿ ¿ß»«½∞ºπÑΓß∩ ñóÑ »«ß½Ññ«óáΓѽ∞¡δσ «ñ¿¡«τ¡δσ ¬á-
- óδτ¬¿.
-
- é ñ¿αÑ¬Γ¿óáσ DB ñ«»π߬áεΓß∩ ßΓ᫬«óδÑ ¬áóδτ¬¿ ½εí«⌐ ñ½¿¡δ.
- ¥Γ« »α¿ó«ñ¿Γ ¬ óδñѽѡ¿ε »«ß½Ññ«óáΓѽ∞¡«ßΓ¿ íá⌐Γ, ß«ñÑαªáΘ¿σ º¡á-
-
- B.Pascal 7 & Objects/LR - 421 -
-
- τÑ¡¿∩ (ASCII) ß¿¼ó«½«ó ßΓ᫬¿. é« óßÑσ ñαπú¿σ ß½πτá∩σ ßΓ᫬«óδÑ
- ¬«¡ßΓá¡Γδ ¡Ñ ¼«úπΓ »αÑóδΦáΓ∞ τÑΓδαÑσ ß¿¼ó«½«ó ¿ «í«º¡áτáεΓ τ¿ß½«-
- ó«Ñ º¡áτÑ¡¿Ñ, ¬«Γ«α«Ñ ¼«ªÑΓ πτáßΓó«óáΓ∞ ó óδαáªÑ¡¿∩σ. ù¿ß½«ó«Ñ
- º¡áτÑ¡¿Ñ ßΓ᫬¿ óδτ¿ß½∩ÑΓß∩ ß½ÑñπεΘ¿¼ «íαẫ¼:
-
- Ord(Ch1) + Ord(Ch2) shl 8 + Ord(Ch3) shl 16 + Ord(Ch4) shl 24
-
- úñÑ Ch1 - φΓ« ßá¼δ⌐ »αáóδ⌐ (»«ß½Ññ¡¿⌐) ß¿¼ó«½, á Ch4 - ßá¼δ⌐ ½Ñ-
- óδ⌐ (»Ñαóδ⌐) ß¿¼ó«½. àß½¿ ßΓα«¬á ¬«α«τÑ 4 ß¿¼ó«½«ó, Γ« ßá¼δÑ ½Ñ-
- óδÑ (»ÑαóδÑ) ß¿¼ó«½δ ßτ¿ΓáεΓß∩ ¡π½Ñó묨. Åα¿óÑñѼ ¡Ñ¬«Γ«αδÑ »α¿-
- ¼Ñαδ ßΓ᫬«óδσ ¬«¡ßΓá¡Γ ¿ ¿σ º¡áτÑ¡¿⌐:
-
- Åα¿¼Ñαδ ßΓ᫬ ¿ ¿σ º¡áτÑ¡¿∩
- Æáí½¿µá 24.1
- ┌──────────────┬─────────────────────┐
- │ æΓ᫬á │ ç¡áτÑ¡¿Ñ │
- ├──────────────┼─────────────────────┤
- │ 'a' │ 00000061H │
- │ 'ba' │ 00006261H │
- │ 'cba' │ 00636261H │
- │ 'dcba' │ 64636261H │
- │ 'a' │ 00006120H │
- │ ' a' │ 20202061H │
- │ 'a'*2 │ 000000E2H │
- │ 'a'-'A' │ 00000020H │
- │ not 'a' │ FFFFFF9EH │
- └──────────────┴─────────────────────┘
-
-
-
-
- B.Pascal 7 & Objects/LR - 422 -
-
- ÉÑú¿ßΓαδ
- ─────────────────────────────────────────────────────────────────
-
- æ½ÑñπεΘ¿Ñ ºáαѺÑαó¿α«óá¡¡δÑ ¿ñÑ¡Γ¿Σ¿¬áΓ«αδ «í«º¡áτáεΓ αÑ-
- ú¿ßΓαδ ûÅ:
-
- ÉÑú¿ßΓαδ ûÅ Æáí½¿µá 24.2
- ─────────────────────────────────────────────────────────────────
- 16-αáºα∩ñ¡δÑ αÑú¿ßΓαδ «íΘÑú« ¡áº¡áτÑ¡¿∩: AX BX CX DX
- 8-αáºα∩ñ¡δÑ ¼½áñΦ¿Ñ »«½παÑú¿ßΓαδ: AL BL CL DL
- 8-αáºα∩ñ¡δÑ ßΓáαΦ¿Ñ »«½παÑú¿ßΓαδ: AH BH CH DH
- 16-αáºα∩ñ¡δÑ π¬áºáΓѽ¿ ¿½¿ ¿¡ñѬߡδÑ αÑú¿ßΓαδ: SP BP SI DI
- 16-αáºα∩ñ¡δÑ ßÑú¼Ñ¡Γ¡δÑ αÑú¿ßΓαδ: CS DS SS ES
- αÑú¿ßΓα ßΓÑ¬á »α«µÑßß«αá 8087 ST
- ─────────────────────────────────────────────────────────────────
-
- è«úñá «»Ñαá¡ñ ß«ßΓ«¿Γ ¿ß¬½ετ¿Γѽ∞¡« ¿º ¿¼Ñ¡¿ αÑú¿ßΓαá, «¡
- ¡áºδóáÑΓß∩ αÑú¿ßΓα«óδ¼ «»Ñαá¡ñ«¼. éßÑ αÑú¿ßΓαδ ¼«ª¡« ¿ß»«½∞º«-
- óáΓ∞, ¬á¬ αÑú¿ßΓα«óδÑ «»Ñαá¡ñδ. èα«¼Ñ Γ«ú«, ¡Ñ¬«Γ«αδÑ αÑú¿ßΓαδ
- ¼«úπΓ ¿ß»«½∞º«óáΓ∞ß∩ ó ñαπú¿σ ¬«¡ΓѬßΓáσ.
-
- üẫóδÑ αÑú¿ßΓαδ (BX ¿½¿ BP) ¿ ¿¡ñѬߡδÑ αÑú¿ßΓαδ (SI ¿½¿
- DI) ¼«ª¡« ºá»¿ßδóáΓ∞ ó ¬óáñαáΓ¡δσ ߬«í¬áσ ñ½∩ π¬áºá¡¿∩ ¿¡ñѬßá-
- µ¿¿. ä«»πßΓ¿¼δ¼ ß«τÑΓ᡿Ѽ íẫó«ú«/¿¡ñѬߡ«ú« αÑú¿ßΓαá ∩ó½∩εΓß∩
- [BX], [BP], [SI], [DI], [BX+SI], [BX+DI], [BP+SI] ¿ [BP+DI].
-
- æÑú¼Ñ¡Γ¡δÑ αÑú¿ßΓαδ (ES, CS, SS ¿ DS) ¼«úπΓ ¿ß»«½∞º«óáΓ∞ß∩
- ó¼ÑßΓÑ ß «»ÑαᵿÑ⌐ »ÑαÑ«»αÑñѽѡ¿∩ ßÑú¼Ñ¡Γá (:) ¿ π¬áºδóáΓ∞ ¡á
- ñαπú«⌐ ßÑú¼Ñ¡Γ, «Γ½¿τ¡δ⌐ «Γ Γ«ú«, ¬«Γ«αδ⌐ »α«µÑßß«α óδí¿αáÑΓ »«
- π¼«½τá¡¿ε. ìá ¬áªñδ⌐ ¿º 8 αÑú¿ßΓα«ó ß »½áóáεΘÑ⌐ Γ«τ¬«⌐ ¼«ª¡« ßßδ-
- ½áΓ∞ß∩ ß »«¼«Θ∞ε ST(x), úñÑ x - ¬«¡ßΓá¡Γá «Γ 0 ñ« 7, π¬áºδóáεΘá∩
- ¡á αáßßΓ«∩¡¿Ñ «Γ óÑαΦ¿¡δ ßΓѬá αÑú¿ßΓα«ó.
-
- êñÑ¡Γ¿Σ¿¬áΓ«αδ
- ─────────────────────────────────────────────────────────────────
-
- éßΓα«Ñ¡¡δ⌐ áßßѼí½Ñα »«ºó«½∩ÑΓ ó óδαáªÑ¡¿∩σ áßßѼí½Ñαá »«½π-
- τ¿Γ∞ ñ«ßΓπ» ¬« óßѼ ¿ñÑ¡Γ¿Σ¿¬áΓ«αá¼ Åá߬á½∩, ó¬½ετá∩ ¼ÑΓ¬¿, ¬«¡ß-
- Γá¡Γδ, Γ¿»δ, »ÑαѼѡ¡δÑ, »α«µÑñπαδ ¿ Σπ¡¬µ¿¿. èα«¼Ñ Γ«ú«, ó«
- óßΓα«Ñ¡¡«¼ áßßѼí½ÑαÑ αÑ὿º«óá¡δ ß½ÑñπεΘ¿Ñ ß»Ñµ¿á½∞¡δÑ ¿ñÑ¡Γ¿Σ¿-
- ¬áΓ«αδ:
-
- @Code @Data @Result
-
- êñÑ¡Γ¿Σ¿¬áΓ«αδ @Code ¿ @Data »αÑñßΓáó½∩εΓ ΓѬπΘ¿Ñ ßÑú¼Ñ¡Γδ
- ¬«ñá ¿ ñá¡¡δσ ß««ΓóÑΓßΓóÑ¡¡«. êσ ß½ÑñπÑΓ ¿ß»«½∞º«óáΓ∞ Γ«½∞¬« ó
- ß«τÑΓá¡¿¿ ß «»ÑαᵿÑ⌐ SEG:
-
- asm
- mov ax,SEG @Data
- mov ds,ax
- end;
-
-
- B.Pascal 7 & Objects/LR - 423 -
-
- êñÑ¡Γ¿Σ¿¬áΓ«α @Result ó «»ÑαáΓ«α¡«⌐ τáßΓ¿ Σπ¡¬µ¿¿ »ÑαѼѡ¡πε
- - αѺπ½∞ΓáΓ Σπ¡¬µ¿¿. ìá»α¿¼Ñα, ó Σπ¡¬µ¿¿:
-
- function Sum(X, Y: Integer): Integer;
- begin
- Sum := X + Y;
- end;
-
- ó «»ÑαáΓ«αÑ, »α¿ßóá¿óáεΘѼ αѺπ½∞ΓáΓ Σπ¡¬µ¿¿ »ÑαѼѡ¡«⌐ Sum, ¼«ª-
- ¡« í佫 íδ »α¿ ºá»¿ß¿ ¡á óßΓα«Ñ¡¡«¼ áßßѼí½ÑαÑ ¿ß»«½∞º«óáΓ∞ »ÑαÑ-
- ¼Ñ¡¡πε @Result:
-
- function Sum(X, Y: Integer): Integer;
- begin
- asm
- mov ax,X
- add ax,Y
- mov @Result,ax
- end;
- end;
-
- é óδαáªÑ¡¿∩σ óßΓα«Ñ¡¡«ú« áßßѼí½Ñαá ¡Ñ½∞º∩ ¿ß»«½∞º«óáΓ∞ ß½Ñ-
- ñπεΘ¿Ñ ¿ñÑ¡Γ¿Σ¿¬áΓ«αδ:
-
- - ßΓá¡ñáαΓ¡δÑ »α«µÑñπαδ ¿ Σπ¡¬µ¿¿ (¡á»α¿¼Ñα, WriteLn, Chr);
-
- - ߻ѵ¿á½∞¡δÑ ¼áßß¿óδ Mem, MemW, MemL, Port, PortW;
-
- - ßΓ᫬¿, º¡áτÑ¡¿∩ ß »½áóáεΘÑ⌐ Γ«τ¬«⌐ ¿ ¬«¡ßΓá¡Γδ ¼¡«ªÑßΓ-
- óÑ¡¡«ú« Γ¿»á;
-
- - ¼ÑΓ¬¿, ¬«Γ«αδÑ ¡Ñ «»¿ßá¡δ ó ΓѬπΘѼ í½«¬Ñ;
-
- - ¿ñÑ¡Γ¿Σ¿¬áΓ«α @Result ó¡Ñ Σπ¡¬µ¿¿.
-
- é Æáí½¿µÑ 24.3 »α¿óÑñÑ¡δ º¡áτÑ¡¿Ñ, ¬½áßß ¿ Γ¿» αẽ¿τ¡«ú«
- ó¿ñá ¿ñÑ¡Γ¿Σ¿¬áΓ«α«ó, ¬«Γ«αδÑ ¼«ª¡« ¿ß»«½∞º«óáΓ∞ ó óδαáªÑ¡¿∩σ
- óßΓα«Ñ¡¡«ú« áßßѼí½Ñαá (¬½áßßδ ¿ Γ¿»δ óδαáªÑ¡¿⌐ «»¿ßδóáεΓß∩ ó
- ß½ÑñπεΘѼ αáºñѽÑ):
-
-
- B.Pascal 7 & Objects/LR - 424 -
-
-
- ç¡áτÑ¡¿∩, ¬½áßßδ ¿ Γ¿»δ ¿ñÑ¡Γ¿Σ¿¬áΓ«α«ó Æáí½¿µá 24.3
- ─────────────┬────────────────────┬────────────────┬────────────┐
- │êñÑ¡Γ¿Σ¿¬áΓ.│ ç¡áτÑ¡¿Ñ │ è½áßß │ Æ¿» │
- ├────────────┼────────────────────┼────────────────┼────────────┤
- │ îÑΓ¬á │ ÇñαÑß ¼ÑΓ¬¿ │ Åá¼∩Γ∞ │ SHORT │
- │ è«¡ßΓá¡Γá │ ç¡áτÑ¡¿Ñ ¬«¡ßΓá¡Γδ │ ìÑ»«ßαÑñßΓóÑ¡- │ 0 │
- │ │ │ ¡δ⌐ │ │
- │ Æ¿» │ 0 │ Åá¼∩Γ∞ │ ÉẼÑα Γ¿»á│
- │ Å«½Ñ │ æ¼ÑΘÑ¡¿Ñ »«½∩ │ Åá¼∩Γ∞ │ ÉẼÑα Γ¿»á│
- │ ÅÑαѼѡ¡á∩ │ ÇñαÑß »ÑαѼѡ¡«⌐ │ Åá¼∩Γ∞ │ ÉẼÑα Γ¿»á│
- │ Åα«µÑñπαá │ ÇñαÑß »α«µÑñπαδ │ Åá¼∩Γ∞ │ NEAR / FAR│
- │ öπ¡¬µ¿∩ │ ÇñαÑß Σπ¡¬µ¿¿ │ Åá¼∩Γ∞ │ NEAR / FAR│
- │ î«ñπ½∞ │ 0 │ ìÑ»«ßαÑñßΓóÑ¡- │ 0 │
- │ │ │ ¡δ⌐ │ │
- │ @Code │ ÇñαÑß ßÑú¼Ñ¡Γá ¬«ñá│ Åá¼∩Γ∞ │ 0FFF0H │
- │ @Data │ ÇñαÑß ßÑú¼Ñ¡Γá │ Åá¼∩Γ∞ │ 0FFF0H │
- │ │ ñá¡¡δσ │ │ │
- │ @Result │ æ¼ÑΘÑ¡¿Ñ »ÑαѼѡ- │ Åá¼∩Γ∞ │ ÉẼÑα Γ¿»á│
- │ │ ¡«⌐ αѺπ½∞ΓáΓá │ │ │
- └────────────┴────────────────────┴────────────────┴────────────┘
-
- 﫬á½∞¡δÑ »ÑαѼѡ¡δÑ (»ÑαѼѡ¡δÑ, «»¿ßá¡¡δÑ ó »α«µÑñπαáσ ¿
- öπ¡¬µ¿∩σ) óßÑúñá αáß»αÑñѽ∩εΓß∩ ó ßΓÑ¬Ñ ¿ ñ«ßΓπ»¡δ «Γ¡«ß¿Γѽ∞¡«
- SS:BP, á º¡áτÑ¡¿Ñ ¿ñÑ¡Γ¿Σ¿¬áΓ«αá ½«¬á½∞¡«⌐ »ÑαѼѡ¡«⌐ »αÑñßΓáó½∩-
- ÑΓ ß«í«⌐ ÑÑ ß¼ÑΘÑ¡¿Ñ ß« º¡á¬«¼ «Γ SS:BP. áßßѼí½Ñα áóΓ«¼áΓ¿τÑ߬¿
- ñ«íáó½∩ÑΓ [BP] ¬ ßßδ½¬á¼ ¡á ½«¬á½∞¡δÑ »ÑαѼѡ¡δÑ. ìá»α¿¼Ñα, ß
- πτÑΓ«¼ «»¿ßá¡¿⌐:
-
- procedure Test;
- var
- Count: Integer;
-
- ¿¡ßΓαπ¬µ¿¿:
-
- asm
- mov ax,Count
- end;
-
- áßßÑ¼í½¿απεΓß∩ ó MOV AX,[BP-2].
-
- éßΓα«Ñ¡¡δ⌐ áßßѼí½Ñα óßÑúñá ¿¡ΓÑα»αÑΓ¿απÑΓ »áαá¼ÑΓα-»ÑαѼѡ-
- ¡πε, ¬á¬ 32-αáºα∩ñ¡δ⌐ π¬áºáΓѽ∞, á αẼÑα »áαá¼ÑΓαá-»ÑαѼѡ¡«⌐
- óßÑúñá αáóÑ¡ 4 (αẼÑαπ 32-αáºα∩ñ¡«ú« π¬áºáΓѽ∩). é Åá߬á½Ñ ß¿¡-
- Γá¬ß¿ß ñ½∩ ñ«ßΓπ»á ¬ »áαá¼ÑΓαπ-»ÑαѼѡ¡«⌐ ¿ ¬ º¡áτÑ¡¿ε »áαá¼ÑΓαá
- «ñ¿¡á¬«ó. é ß½πτáÑ óßΓα«Ñ¡¡«ú« áßßѼí½Ñαá φΓ« ¡Ñ Γá¬. Å«φΓ«¼π ñ½∩
- ñ«ßΓπ»á ¬ ß«ñÑন¼«¼π »áαá¼ÑΓαá-»ÑαѼѡ¡«⌐ óá¼ ß¡áτá½á »α¿ñÑΓß∩
- ºáúαπº¿Γ∞ 32-αáºα∩ñ¡δ⌐ π¬áºáΓѽ∞, á ºáΓѼ «íαáΓ¿Γ∞ß∩ ¬ ∩τÑ⌐¬Ñ, ¡á
- ¬«Γ«απε «¡ π¬áºδóáÑΓ. ìá»α¿¼Ñα, Ñß½¿ X ¿ Y - »áαá¼ÑΓαδ-»ÑαѼѡ¡δÑ
- »α¿óÑñÑ¡¡«⌐ óδΦÑ Σπ¡¬µ¿¿ Sum, Γ« «¡á ¼«ªÑΓ óδú½∩ñÑΓ∞ ß½ÑñπεΘ¿¼
- «íαẫ¼:
-
- function Sum(var X, Y: Integer): Integer;
-
- B.Pascal 7 & Objects/LR - 425 -
-
- begin
- asm
- les bx,X
- mov ax,es:[bx]
- les bx,Y
- add ax,es:[bx]
- mov @Result,ax
- end;
- end;
-
- ìѬ«Γ«αδÑ ¿ñÑ¡Γ¿Σ¿¬áΓ«αδ, ΓᬿÑ, ¬á¬ »ÑαѼѡ¡δÑ Γ¿»á ºá»¿ß∞,
- ¿¼ÑεΓ «í½áßΓ∞ ñÑ⌐ßΓó¿∩, »«ºó«½∩εΘπε «íαáΘáΓ∞ß∩ ¬ ¡¿¼ ß »«¼«Θ∞ε
- «»Ñαᵿ¿ óδí«αá φ½Ñ¼Ñ¡Γδ ßΓαπ¬Γπαδ - Γ«τ¬¿ (.). ìá»α¿¼Ñα, ß πτÑ-
- Γ«¼ «»¿ßá¡¿⌐:
-
- type
- Point = record
- X, Y: Integer;
- end;
- Rect = record
- A, B: Point;
- end;
- var
- P: Point;
- R: Rect;
-
- ñ½∩ ñ«ßΓπ»á ¬ »«½∩¼ ó »ÑαѼѡ¡δσ P ¿ R ¼«ª¡« ¿ß»«½∞º«óáΓ∞ ß½Ññπε-
- Θ¿Ñ ¬«¡ßΓαπ¬µ¿¿:
-
- asm
- mov ax,P.X
- mov dx,P.Y
- mov cx,R.A.X
- mov bx,R.B.Y
- end;
-
- ä½∩ ¡Ñ»«ßαÑñßΓóÑ¡¡«ú« »«ßΓα«Ñ¡¿∩ »ÑαѼѡ¡«⌐ ¼«ª¡« ¿ß»«½∞º«-
- óáΓ∞ ¿ñÑ¡Γ¿Σ¿¬áΓ«α Γ¿»á. èáªñá∩ ¿º »α¿óÑñÑ¡¡δσ ¡¿ªÑ ¿¡ßΓαπ¬µ¿⌐
- úÑ¡Ñα¿απÑΓ «ñ¿¡ ¿ ëà ªÑ ¼áΦ¿¡¡δ⌐ ¬«ñ, ºáúαπªáεΘ¿⌐ ó AX
- ES:[DI+4]:
-
- asm
- mov ax,(Rect PTR es:[di]).B.X
- mov ax,Rect(es:[di].B.X
- mov ax,es:Rect[di].B.X
- mov ax,Rect[es:di].B.X
- mov ax,es:[di].Rect.B.X
- end;
-
- Äí½áßΓ∞ ñÑ⌐ßΓó¿∩ ºáñáÑΓß∩ Γ¿»«ó, »«½Ñ¼ ¿ ¿ñÑ¡Γ¿Σ¿¬áΓ«α«¼ »Ñ-
- αѼѡ¡«⌐ Γ¿»á ºá»¿ß¿ ¿½¿ «íΩÑ¬Γ¡«ú« Γ¿»á. èα«¼Ñ Γ«ú«, ¿ñÑ¡Γ¿Σ¿¬á-
- Γ«α ¼«ñπ½∩ «Γ¬αδóáÑΓ «í½áßΓ∞ ñÑ⌐ßΓó¿∩ ¬«¡¬αÑΓ¡«ú« ¼«ñπ½∩ (¬á¬
- »«½¡«ßΓ∞ε πΓ«τ¡Ñ¡¡δ⌐ ¿ñÑ¡Γ¿Σ¿¬áΓ«α ó Åá߬á½Ñ).
-
- B.Pascal 7 & Objects/LR - 426 -
-
-
- è½áßßδ óδαáªÑ¡¿⌐
- ─────────────────────────────────────────────────────────────────
-
- éδαáªÑ¡¿∩ óßΓα«Ñ¡¡«ú« áßßѼí½Ñαá »«ñαáºñѽ∩εΓß∩ ¡á Γα¿ ¬½áß-
- ßá: αÑú¿ßΓα«óδÑ º¡áτÑ¡¿∩, ßß佬¿ ¡á »á¼∩Γ∞ ¿ ¡Ñ»«ßαÑñßΓóÑ¡¡δÑ
- º¡áτÑ¡¿∩.
-
- éδαáªÑ¡¿Ñ, ß«ßΓ«∩ΘÑÑ Γ«½∞¬« ¿º ¿¼Ñ¡¿ αÑú¿ßΓαá, ∩ó½∩ÑΓß∩ αÑ-
- ú¿ßΓα«óδ¼ º¡áτÑ¡¿Ñ¼. Åα¿¼ÑαἿ αÑú¿ßΓα«óδσ º¡áτÑ¡¿⌐ ∩ó½∩εΓß∩ AX,
- CL, DI ¿ ES. êß»«½∞ºπѼδÑ ó ¬áτÑßΓóÑ «»Ñαá¡ñ«ó, αÑú¿ßΓα«óδÑ óδαá-
- ªÑ¡¿∩ π¬áºδóáεΓ áßßѼí½Ñαπ ¡á ¡Ñ«íσ«ñ¿¼«ßΓ∞ úÑ¡Ñα¿α«óáΓ∞ ¿¡ßΓαπ¬-
- µ¿¿, ¬«Γ«αδÑ αáí«ΓáεΓ ß αÑú¿ßΓαἿ ûÅ.
-
- éδαáªÑ¡¿∩, «í«º¡áτáεΘ¿Ñ áñαÑßá »á¼∩Γ¿, ∩ó½∩εΓß∩ ßßδ½¬á¼¿ ¡á
- »á¼∩Γ∞. è φΓ«⌐ ¬áΓÑú«α¿¿ «Γ¡«ß∩Γß∩ ¼ÑΓ¬¿ Åá߬á½∩, »ÑαѼѡ¡δÑ, Γ¿-
- »¿º«óá¡¡δÑ ¬«¡ßΓá¡Γδ, »α«µÑñπαδ ¿ Σπ¡¬µ¿¿.
-
- éδαáªÑ¡¿∩, ¬«Γ«αδÑ ¡Ñ ∩ó½∩εΓß∩ αÑú¿ßΓα«ó묨 ¿ ¡Ñ ßó∩ºá¡δ ß
- ∩τÑ⌐¬á¼¿ »á¼∩Γ¿, »αÑñßΓáó½∩εΓ ß«í«⌐ ¡Ñ»«ßαÑñßΓóÑ¡¡δÑ º¡áτÑ¡¿∩.
- ¥Γá úαπ»»á ó¬½ετáÑΓ ó ßÑí∩ ¡ÑΓ¿»¿º¿α«óá¡¡δÑ ¬«¡ßΓá¡Γδ ¿ ¿ñÑ¡Γ¿Σ¿-
- ¬áΓ«αδ Γ¿»á.
-
- ìÑ»«ßαÑñßΓóÑ¡¡δÑ º¡áτÑ¡¿∩ ¿ ßß佬¿ ¡á »á¼∩Γ∞ »α¿ ¿ß»«½∞º«óá-
- ¡¿¿ ¿σ ó ¬áτÑßΓóÑ «»Ñαá¡ñ«ó »α¿ó«ñ∩Γ ¬ úÑ¡Ñαᵿ¿ αẽ¿τ¡«ú« ¬«ñá.
- ìá»α¿¼Ñα:
-
- const
- Start = 10;
- var
- Count: Integer;
- .
- .
- .
- asm
- mov ax,Start { MOV AX,xxxx }
- mov bx,Count { MOV BX,[xxxx] }
- mov cx,[Start] { MOV CX,[xxxx] }
- mov dx,OFFSET Count { MOV DX,xxxx }
- end;
-
- ū߬«½∞¬π Start - φΓ« ¡Ñ»«ßαÑñßΓóÑ¡¡«Ñ º¡áτÑ¡¿Ñ, »Ñαóá∩ ¿¡ß-
- Γαπ¬µ¿∩ MOV áßßÑ¼í½¿απÑΓß∩ ó ¡Ñ»«ßαÑñßΓóÑ¡¡πε ¿¡ßΓαπ¬µ¿ε. Äñ¡á¬«
- óΓ«αá∩ ¿¡ßΓαπ¬µ¿∩ MOV Γαá¡ß½¿απÑΓß∩ ó ¿¡ßΓαπ¬µ¿ε, ßßδ½áεΘπεß∩ ¡á
- »á¼∩Γ∞, Γᬠ¬á¬ Count - φΓ« ßßδ½¬á ¡á »á¼∩Γ∞. é ΓαÑΓ∞Ñ⌐ ¿¡ßΓαπ¬-
- µ¿¿ MOV ñ½∩ »αÑ«íαẫóá¡¿∩ Start ó ßß佬π ¡á »á¼∩Γ∞ (ó ñá¡¡«¼
- ß½πτáÑ ß½«ó« ß« ß¼ÑΘÑ¡¿Ñ¼ 10 ó ßÑú¼Ñ¡ΓÑ ñá¡¡δσ) ¿ß»«½∞ºπÑΓß∩ «»Ñ-
- αᵿ∩ ¬óáñαáΓ¡δσ ߬«í«¬. é τÑΓóÑαΓ«⌐ ¿¡ßΓαπ¬µ¿¿ MOV ñ½∩ »αÑ«íαá-
- º«óá¡¿∩ Count ó ¡Ñ»«ßαÑñßΓóÑ¡¡«Ñ º¡áτÑ¡¿Ñ (ß¼ÑΘÑ¡¿Ñ Count ó ßÑú-
- ¼Ñ¡ΓÑ ñá¡¡δσ) ¿ß»«½∞ºπÑΓß∩ «»Ñαᵿ∩ OFFSET.
-
- èᬠóδ ¼«ªÑΓÑ ó¿ñÑΓ∞, ¬óáñαáΓ¡δÑ ß¬«í¬¿ ¿ «»Ñαᵿ∩ OFFSET
- ñ«»«½¡∩εΓ ñαπú ñαπúá. é ΓÑନ¡áσ αѺπ½∞Γ¿απεΘÑú« ¼áΦ¿¡¡«ú« ¬«ñá
-
- B.Pascal 7 & Objects/LR - 427 -
-
- ß½ÑñπεΘ¿⌐ «»ÑαáΓ«α asm ¿ñÑ¡Γ¿τÑ¡ »Ñαóδ¼ ñóπ¼ ßΓα«¬á¼ »αÑñδñπΘÑú«
- «»ÑαáΓ«αá asm:
-
- asm
- mov ax,OFFSET [Start]
- mov bx,[OFFSET Count]
- end;
-
- æß佬¿ ¡á »á¼∩Γ∞ ¿ ¡Ñ»«ßαÑñßΓóÑ¡¡δÑ º¡áτÑ¡¿∩ ¬½áßß¿Σ¿µ¿απεΓ-
- ß∩, ó ßó«ε «τÑαÑñ∞, ¬á¬ »ÑαѼÑΘáѼδÑ ¿ áíß«½εΓ¡δÑ óδαáªÑ¡¿∩. ÅÑ-
- αѼÑΘáѼ«Ñ óδαáªÑ¡¿Ñ «í«º¡áτáÑΓ º¡áτÑ¡¿Ñ, ¬«Γ«α«Ñ ΓαÑíπÑΓ ¡á φΓá-
- »Ñ ¬«¼»«¡«ó¬¿ »ÑαѼÑΘÑ¡¿∩, á áíß«½εΓ¡«Ñ óδαáªÑ¡¿Ñ «í«º¡áτáÑΓ º¡á-
- τÑ¡¿Ñ, ¬«Γ«α«Ñ Γᬫú« »ÑαѼÑΘÑ¡¿∩ ¡Ñ ΓαÑíπÑΓ. Äíδτ¡« óδαáªÑ¡¿Ñ ß«
- ßß佬«⌐ ¡á ¼ÑΓ¬π, »ÑαѼѡ¡πε »α«µÑñπαπ ¿½¿ Σπ¡¬µ¿ε ∩ó½∩ÑΓß∩ »ÑαÑ-
- ¼ÑΘáѼδ¼, á óδαáªÑ¡¿Ñ, úñÑ «»Ñαᵿ¿ óδ»«½¡∩εΓß∩ ¿ß¬½ετ¿Γѽ∞¡« ß
- ¬«¡ßΓá¡ΓἿ - áíß«½εΓ¡δ¼.
-
- ÅÑαѼÑΘÑ¡¿Ñ ∩ó½∩ÑΓß∩ »α«µÑßß«¼, ß »«¼«Θ∞ε ¬«Γ«α«ú« ¬«¼»«¡«ó-
- Θ¿¬ »α¿ßóá¿óáÑΓ ¿ñÑ¡Γ¿Σ¿¬áΓ«αá¼ áíß«½εΓ¡δÑ áñαÑßá. ìá φΓá»Ñ ¬«¼-
- »«¡«ó¬¿ ¬«¼»¿½∩Γ«απ ¡Ñ¿ºóÑßΓ¡δ ¬«¡Ñτ¡δÑ áñαÑßá ¼ÑΓ¬¿, »ÑαѼѡ¡«⌐,
- »α«µÑñπαδ ¿½¿ Σπ¡¬µ¿¿. Ä¡¿ ¡Ñ íπñπΓ ¿ºóÑßΓ¡δ ñ« φΓá»á ¬«¼»«¡«ó¬¿,
- ¡á ¬«Γ«α«¼ ¬«¼»«¡«óΘ¿¬ »α¿ßóá¿óáÑΓ ¿ñÑ¡Γ¿Σ¿¬áΓ«α𠬫¡¬αÑΓ¡δ⌐ áí-
- ß«½εΓ¡δ⌐ áñαÑß.
-
- éßΓα«Ñ¡¡δ⌐ áßßѼí½Ñα »«ºó«½∩ÑΓ óá¼ óδ»«½¡∩Γ∞ ½εíπε «»Ñαᵿε
- ß áíß«½εΓ¡δ¼ º¡áτÑ¡¿Ñ¼, ¡« «»Ñαᵿ¿ ß »ÑαѼÑΘáÑ¼δ¼¿ º¡áτÑ¡¿∩¼¿
- «úαá¡¿τ¿óáεΓß∩ ß½«ªÑ¡¿Ñ¼ ¿ óδτ¿Γ᡿Ѽ ¬«¡ßΓá¡Γ.
-
-
- Æ¿»δ óδαáªÑ¡¿⌐
- ─────────────────────────────────────────────────────────────────
-
- èáªñ«Ñ óδαáªÑ¡¿Ñ óßΓα«Ñ¡¡«ú« áßßѼí½Ñαá ¿¼ÑÑΓ ß««ΓóÑΓßΓóπε-
- Θ¿⌐ Γ¿», ¿½¿, Ñß½¿ ú«ó«α¿Γ∞ Γ«τ¡ÑÑ, αẼÑα, »«ß¬«½∞¬π óßΓα«Ñ¡¡δ⌐
- ÇßßѼí½Ñα αáßß¼áΓα¿óáÑΓ Γ¿» óδαáªÑ¡¿∩ »α«ßΓ« ¬á¬ Ñú« αẼÑα ó »á-
- ¼∩Γ¿. ìá»α¿¼Ñα, Γ¿» (αẼÑα) »ÑαѼѡ¡«⌐ Integer αáóÑ¡ 2, Γᬠ¬á¬
- «¡á ºá¡¿¼áÑΓ ñóá íá⌐Γá.
-
- Æá¼, úñÑ φΓ« 󫺼«ª¡«, óßΓα«Ñ¡¡δ⌐ áßßѼí½Ñα óδ»«½¡∩ÑΓ »α«-
- óÑα¬π Γ¿»«ó, »«φΓ«¼π ó ¿¡ßΓαπ¬µ¿∩σ:
-
- var
- QuitFlag: Boolean;
- OutBufPtr: Word;
- .
- .
- .
- asm
- mov al,QuitFlag
- mov bx,OutBufPtr
- end;
-
- óßΓα«Ñ¡¡δ⌐ áßßѼí½Ñα »α«óÑα∩ÑΓ, τΓ« αẼÑα QuitFlag αáóÑ¡ 1
-
- B.Pascal 7 & Objects/LR - 428 -
-
- (íá⌐Γ), á αẼÑα OutBufPtr - ñóπ¼ (ß½«ó«). àß½¿ »α«óÑα¬á Γ¿»á «í-
- ¡áαπª¿óáÑΓ ¡Ñß««ΓóÑΓßΓó¿Ñ, 󫺡¿¬áÑΓ «Φ¿í¬á. ìá»α¿¼Ñα, ß½ÑñπεΘÑÑ
- ¡Ññ«»πßΓ¿¼«:
-
- asm
- mov dl,OutBufPtr
- end;
-
- Γᬠ¬á¬ DL - φΓ« íá⌐Γ«óδ⌐ αÑú¿ßΓα, á OutBufPtr - ß½«ó«. Æ¿» ßßδ½-
- ¬¿ ¡á »á¼∩Γ∞ ¼«ª¡« ¿º¼Ñ¡¿Γ∞ ß »«¼«Θ∞ε ¡áº¡áτÑ¡¿∩ Γ¿»á. è«ααÑ¬Γ¡δ¼
- ß»«ß«í«¼ ºá»¿ß¿ »αÑñδñπΘ¿σ ¿¡ßΓαπ¬µ¿⌐ íπñÑΓ ß½ÑñπεΘ¿⌐:
-
- asm
- mov dl,BYTE PTR OutBufPtr
- mov dl,Byte(OutBufPtr)
- mov dl,OutBufPtr.Byte
- end;
-
- éßÑ φΓ¿ ¿¡ßΓαπ¬µ¿¿ ßßδ½áεΓß∩ ¡á »Ñαóδ⌐ (¼Ñ¡ÑÑ º¡áτáΘ¿⌐) íá⌐Γ
- »ÑαѼѡ¡«⌐ OutBufPtr.
-
- é ¡Ñ¬«Γ«αδσ ß½πτá∩σ ßßδ½¬á ¡á »á¼∩Γ∞ ∩ó½∩ÑΓß∩ ¡ÑΓ¿»¿º¿α«óá¡-
- ¡«⌐, Γ« ÑßΓ∞ ¡Ñ ¿¼ÑÑΓ ß««ΓóÑΓßΓóπεΘÑú« Γ¿»á. Åα¿óÑñѼ »α¿¼Ñα ß
- ¡Ñ»«ßαÑñßΓóÑ¡¡δ¼ º¡áτÑ¡¿Ñ¼, ºá¬½ετÑ¡¡δ¼ ó ¬óáñαáΓ¡δÑ ß¬«í¬¿:
-
- asm
- mov al,[100H]
- mov bx,[100H]
- end;
-
- éßΓα«Ñ¡¡δ⌐ áßßѼí½Ñα ñ«»π߬áÑΓ «íÑ φΓ¿σ Σπ¡¬µ¿¿, »«ß¬«½∞¬π
- óδαáªÑ¡¿Ñ [100H] ¡Ñ ¿¼ÑÑΓ ß««ΓóÑΓßΓóπεΘÑú« Γ¿»á, «¡« »α«ßΓ« «º¡á-
- τáÑΓ "ß«ñÑন¼«Ñ »« áñαÑßπ 100H ó ßÑú¼Ñ¡ΓÑ ñá¡¡δσ", á Γ¿» ¼«ª¡«
- «»αÑñѽ¿Γ∞ ¿º »Ñαó«ú« «»Ñαá¡ñá (íá⌐Γ ñ½∩ AL, ß½«ó« ñ½∩ BX). é Γ«¼
- ß½πτáÑ, ¬«úñá Γ¿» ¡Ñ½∞º∩ «»αÑñѽ¿Γ∞ ¿º ñαπú«ú« «»Ñαá¡ñá, óßΓα«Ñ¡-
- ¡δ⌐ áßßѼí½Ñα ΓαÑíπÑΓ ∩ó¡«ú« ¡áº¡áτÑ¡¿∩ Γ¿»á:
-
- asm
- mov BYTE PTR [100H]
- mov WORD PTR [100H]
- end;
-
-
- B.Pascal 7 & Objects/LR - 429 -
-
-
- é Æáí½¿µÑ 24.4 »α¿óÑñÑ¡δ »αÑñ«»αÑñѽѡ¡δÑ ¿ñÑ¡Γ¿Σ¿¬áΓ«αδ Γ¿-
- »á, ¬«Γ«αδÑ »αÑñπß¼«ΓαÑ¡δ ó« óßΓα«Ñ¡¡«¼ áßßѼí½ÑαÑ ñ«»«½¡¿Γѽ∞¡«
- ¬ Γ¿»á¼, «»¿ßá¡¡δ¼ ó Åá߬á½Ñ:
-
- ÅαÑñ«»αÑñѽѡ¡δÑ ¿ñÑ¡Γ¿Σ¿¬áΓ«αδ Γ¿»á Æáí½¿µá 24.4
- ┌────────────────────┬─────────────────────────────────┐
- │ êñÑ¡Γ¿Σ¿¬áΓ«α │ Æ¿» │
- ├────────────────────┼─────────────────────────────────┤
- │ BYTE │ 1 │
- │ WORD │ 2 │
- │ DWORD │ 4 │
- │ QWORD │ 8 │
- │ TBYTE │ 10 │
- │ NEAR │ 0FFFEH │
- │ FAR │ 0FFFFH │
- └────────────────────┴─────────────────────────────────┘
-
- çá¼ÑΓ¿¼ ó τáßΓ¡«ßΓ¿, τΓ« NEAR ¿ FAR - φΓ« »ßÑóñ«Γ¿»δ, ¬«Γ«-
- αδÑ ¿ß»«½∞ºπεΓß∩ ß ¿ñÑ¡Γ¿Σ¿¬áΓ«αἿ »α«µÑñπα ¿ Σπ¡¬µ¿⌐ ñ½∩ π¬áºá-
- ¡¿∩ ¿σ ¼«ñѽ¿ ó맮óá. éδ ¼«ªÑΓÑ ¿ß»«½∞º«óáΓ∞ ¡áº¡áτÑ¡¿∩ Γ¿»á NEAR
- ¿ FAR á¡á½«ú¿τ¡« ñαπú¿¼ ¿ñÑ¡Γ¿Σ¿¬áΓ«αá¼. ìá»α¿¼Ñα, Ñß½¿ FarProc -
- »α«µÑñπαá ß ñá½∞¡¿¼ Γ¿»«¼ ó맮óá (FAR):
-
- procedure FarProc; far;
-
- ¿ Ñß½¿ óδ ºá»¿ßδóáÑΓÑ ¬«ñ óßΓα«Ñ¡¡«ú« áßßѼí½Ñαá ó Γ«¼ ªÑ ¼«ñπ½Ñ,
- úñÑ ¡áσ«ñ¿Γß∩ FarProc, Γ« óδ ¼«ªÑΓÑ ¿ß»«½∞º«óáΓ∞ ñ½∩ ÑÑ ó맮óá
- í«½ÑÑ φΣΣÑ¬Γ¿ó¡πε ¿¡ßΓαπ¬µ¿ε NEAR:
-
- asm
- push cs
- call NEAR PTR FarProc
- end
-
-
-
-
- B.Pascal 7 & Objects/LR - 430 -
-
- Ä»Ñαᵿ¿ ó óδαáªÑ¡¿∩σ
- ─────────────────────────────────────────────────────────────────
-
- éßΓα«Ñ¡¡δ⌐ áßßѼí½Ñα »αÑñπß¼áΓα¿óáÑΓ ¼¡«ªÑßΓó« «»Ñαᵿ⌐,
- »«ñαáºñѽ∩Ѽδσ »« ßΓáαΦ¿¡ßΓóπ ¡á 12 ¬½áßß«ó. é Æáí½¿µÑ 24.5 »ÑαÑ-
- τ¿ß½Ñ¡δ «»Ñαᵿ¿, ¿ß»«½∞ºπεΘ¿Ñß∩ ó óδαáªÑ¡¿∩σ óßΓα«Ñ¡¡«ú« áßßѼí-
- ½Ñαá ó »«α∩ñ¬Ñ πíδóá¡¿∩ ¿σ ßΓáαΦ¿¡ßΓóá:
-
- éßΓα«Ñ¡¡δÑ «»Ñαᵿ¿ áßßѼí½Ñαá Æáí½¿µá 24.5
- ┌──────────────────────────────┬────────────────────────────────┐
- │ Ä»Ñαᵿ∩ │ 諼¼Ñ¡Γáα¿⌐ │
- ├──────────────────────────────┼────────────────────────────────┤
- │ & │ Ä»Ñαᵿ∩ »ÑαÑ«»αÑñѽѡ¿∩ ¿ñÑ¡-│
- │ │ Γ¿Σ¿¬áΓ«αá. │
- ├──────────────────────────────┼────────────────────────────────┤
- │ (), [], * │ éδí«α φ½Ñ¼Ñ¡Γá ßΓαπ¬Γπαδ. │
- ├──────────────────────────────┼────────────────────────────────┤
- │ HIGH, LOW │ ô¡áα¡δÑ «»Ñαᵿ¿. │
- │ +, - │ │
- ├──────────────────────────────┼────────────────────────────────┤
- │ : │ Ä»Ñαᵿ∩ »ÑαÑ«»αÑñѽѡ¿∩ ßÑú-│
- │ │ ¼Ñ¡Γá. │
- │ OFFSET, SEG, TYPE, PTR, │ │
- │ *, /, MOD, SHL, SHR │ │
- ├──────────────────────────────┼────────────────────────────────┤
- │ +, - │ ü¿¡áα¡δÑ «»Ñαᵿ¿ ß½«ªÑ¡¿∩/óδ- │
- │ │ τ¿Γá¡¿∩. │
- ├──────────────────────────────┼────────────────────────────────┤
- │ NOT, AND, OR, XOR │ Å«αáºα∩ñ¡δÑ «»Ñαᵿ¿. │
- └──────────────────────────────┴────────────────────────────────┘
-
-
- B.Pascal 7 & Objects/LR - 431 -
-
-
- Ä»αÑñѽѡ¿∩ «»Ñαᵿ⌐ óßΓα«Ñ¡¡«ú« áßßѼí½Ñαá Æáí½¿µá 24.6
- ┌──────┬────────────────────────────────────────────────────────┐
- │Ä»Ñα. │ Ä»¿ßá¡¿Ñ │
- ├──────┼────────────────────────────────────────────────────────┤
- │ & │ ÅÑαÑ«»αÑñѽѡ¿Ñ ¿ñÑ¡Γ¿Σ¿¬áΓ«αá. êñÑ¡Γ¿Σ¿¬áΓ«α, ¡Ñ»«ß-│
- │ │ αÑñßΓóÑ¡¡« ß½ÑñπεΘ¿⌐ ºá á¼»Ñαßá¡Γ«¼, ¿¡ΓÑα»αÑΓ¿απÑΓß∩,│
- │ │ ¬á¬ ¿ñÑ¡Γ¿Σ¿¬áΓ«α, «»αÑñѽ∩Ѽδ⌐ »«½∞º«óáΓѽѼ, ñáªÑ Ñß-│
- │ │ ½¿ «¡ ß««ΓóÑΓßΓóπÑΓ ºáαѺÑαó¿α«óá¡¡«¼π ß½«óπ óßΓα«Ñ¡¡«-│
- │ │ ú« áßßѼí½Ñαá. │
- ├──────┼────────────────────────────────────────────────────────┤
- │ (...)│ Å«ñóδαáªÑ¡¿Ñ. éδαáªÑ¡¿Ñ ó ߬«í¬áσ »«½¡«ßΓ∞ε óδτ¿ß½∩ÑΓ-│
- │ │ ß∩, »«ß½Ñ τÑú« ¿¡ΓÑα»αÑΓ¿απÑΓß∩, ¬á¬ «ñ¿¡ φ½Ñ¼Ñ¡Γ. éδ-│
- │ │ αáªÑ¡¿ε ó ߬«í¬áσ ¼«ªÑΓ »αÑñΦÑßΓó«óáΓ∞ ñαπú«Ñ óδαáªÑ-│
- │ │ ¡¿Ñ. ÉѺπ½∞ΓáΓ«¼ ó φΓ«¼ ß½πτáÑ íπñÑΓ ßπ¼¼á º¡áτÑ¡¿⌐│
- │ │ ñóπσ óδαáªÑ¡¿⌐ ß Γ¿»«¼ »Ñαó«ú« óδαáªÑ¡¿∩. │
- ├──────┼────────────────────────────────────────────────────────┤
- │ [...]│ æßδ½¬á ¡á »á¼∩Γ∞. éδαáªÑ¡¿Ñ ó ¬óáñαáΓ¡δσ ߬«í¬áσ »«½-│
- │ │ ¡«ßΓ∞ε óδτ¿ß½∩ÑΓß∩, »«ß½Ñ τÑú« ¿¡ΓÑα»αÑΓ¿απÑΓß∩, ¬á¬│
- │ │ «ñ¿¡ φ½Ñ¼Ñ¡Γ. éδαáªÑ¡¿Ñ ó ¬óáñαáΓ¡δσ ߬«í¬áσ ¼«ªÑΓ ¬«¼-│
- │ │ í¿¡¿α«óáΓ∞ß∩ ß αÑú¿ßΓαἿ BX, BP, SI, DI ß »«¼«Θ∞ε «»Ñ-│
- │ │ αᵿ¿ +, τΓ« π¬áºδóáÑΓ ¡á ¿¡ñѬ߿α«óá¡¿Ñ αÑú¿ßΓαá ûÅ.│
- │ │ éδαáªÑ¡¿ε ó ¬óáñαáΓ¡δσ ߬«í¬áσ ¼«ªÑΓ »αÑñΦÑßΓó«óáΓ∞│
- │ │ ñαπú«Ñ óδαáªÑ¡¿Ñ. ÉѺπ½∞ΓáΓ«¼ ó φΓ«¼ ß½πτáÑ íπñÑΓ ßπ¼¼á│
- │ │ º¡áτÑ¡¿⌐ ñóπσ óδαáªÑ¡¿⌐ ß Γ¿»«¼ »Ñαó«ú« óδαáªÑ¡¿∩. ÉÑ-│
- │ │ ºπ½∞ΓáΓ«¼ óßÑúñá íπñÑΓ ßßδ½¬á ¡á »á¼∩Γ∞. │
- ├──────┼────────────────────────────────────────────────────────┤
- │ . │ éδí«α φ½Ñ¼Ñ¡Γá ßΓαπ¬Γπαδ. ÉѺπ½∞ΓáΓ«¼ íπñÑΓ ßπ¼¼á óδαá-│
- │ │ ªÑ¡¿∩ »ÑαÑñ Γ«τ¬«⌐ ¿ óδαáªÑ¡¿∩ »«ß½Ñ Γ«τ¬¿ ß Γ¿»«¼ óδ-│
- │ │ αáªÑ¡¿∩ »«ß½Ñ Γ«τ¬¿. êñÑ¡Γ¿Σ¿¬áΓ«αδ, «Γ¡«ß∩Θ¿Ñß∩ ¬ «í-│
- │ │ ½áßΓ¿ ñÑ⌐ßΓó¿∩, ¿ π¬áºá¡¡δÑ ó óδαáªÑ¡¿¿ »ÑαÑñ Γ«τ¬«⌐│
- │ │ ñ«ßΓπ»¡δ ó óδαáªÑ¡¿¿ »«ß½Ñ Γ«τ¬¿. │
- ├──────┼────────────────────────────────────────────────────────┤
- │ HIGH │ 髺óαáΘáÑΓ ßΓáαΦ¿Ñ 8 í¿Γ óδαáªÑ¡¿∩ αẼÑα«¼ ó ß½«ó«,│
- │ │ ß½ÑñπεΘÑú« ºá «»ÑαᵿÑ⌐. éδαáªÑ¡¿Ñ ñ«½ª¡« »αÑñßΓáó½∩Γ∞│
- │ │ ß«í«⌐ ¡Ñ»«ßαÑñßΓóÑ¡¡«Ñ áíß«½εΓ¡«Ñ º¡áτÑ¡¿Ñ. │
- ├──────┼────────────────────────────────────────────────────────┤
- │ LOW │ 髺óαáΘáÑΓ ¼½áñΦ¿Ñ 8 í¿Γ óδαáªÑ¡¿∩ αẼÑα«¼ ó ß½«ó«,│
- │ │ ß½ÑñπεΘÑú« ºá «»ÑαᵿÑ⌐. éδαáªÑ¡¿Ñ ñ«½ª¡« »αÑñßΓáó½∩Γ∞│
- │ │ ß«í«⌐ ¡Ñ»«ßαÑñßΓóÑ¡¡«Ñ áíß«½εΓ¡«Ñ º¡áτÑ¡¿Ñ. │
- ├──────┼────────────────────────────────────────────────────────┤
- │ + │ ô¡áα¡δ⌐ »½εß. 髺óαáΘáÑΓ ß½ÑñπεΘÑÑ ºá »½εß«¼ óδαáªÑ¡¿Ñ│
- │ │ íѺ ¿º¼Ñ¡Ñ¡¿⌐. éδαáªÑ¡¿Ñ ñ«½ª¡« »αÑñßΓáó½∩Γ∞ ß«í«⌐ ¡Ñ-│
- │ │ »«ßαÑñßΓóÑ¡¡«Ñ áíß«½εΓ¡«Ñ º¡áτÑ¡¿Ñ. │
- ├──────┼────────────────────────────────────────────────────────┤
- │ - │ ô¡áα¡δ⌐ ¼¿¡πß. 髺óαáΘáÑΓ ß½ÑñπεΘÑÑ ºá ¼¿¡πß«¼ óδαáªÑ-│
- │ │ ¡¿Ñ ß «íαáΓ¡δ¼ º¡á¬«¼. éδαáªÑ¡¿Ñ ñ«½ª¡« »αÑñßΓáó½∩Γ∞│
- │ │ ß«í«⌐ ¡Ñ»«ßαÑñßΓóÑ¡¡«Ñ áíß«½εΓ¡«Ñ º¡áτÑ¡¿Ñ. │
- ├──────┼────────────────────────────────────────────────────────┤
- │ : │ ÅÑαÑ«»αÑñѽѡ¿Ñ ßÑú¼Ñ¡Γá. ô¬áºδóáÑΓ áßßѼí½Ñαπ, τΓ« óδ-│
- │ │ αáªÑ¡¿Ñ »«ß½Ñ ñó«ÑΓ«τ¿∩ «Γ¡«ß¿Γß∩ ¬ ßÑú¼Ñ¡Γπ, ºáñá¡¡«¼π│
- │ │ ¿¼Ñ¡Ñ¼ ßÑú¼Ñ¡Γ¡«ú« αÑú¿ßΓαá (CS, DS, SS ¿½¿ ES) »ÑαÑñ│
- │ │ ñó«ÑΓ«τ¿Ñ¼. ÉѺπ½∞ΓáΓ«¼ ∩ó½∩ÑΓß∩ ßßδ½¬á ¡á »á¼∩Γ∞ ß«│
-
- B.Pascal 7 & Objects/LR - 432 -
-
- │ │ º¡áτÑ¡¿Ñ¼ óδαáªÑ¡¿∩ »«ß½Ñ ñó«ÑΓ«τ¿∩. è«úñá »ÑαÑ«»αÑñÑ-│
- │ │ ½Ñ¡¿Ñ ßÑú¼Ñ¡Γá ¿ß»«½∞ºπÑΓß∩ ó «»Ñαá¡ñÑ ¿¡ßΓαπ¬µ¿¿, ¿¡ß-│
- │ │ Γαπ¬µ¿¿ »αÑñΦÑßΓóπÑΓ ß««ΓóÑΓßΓóπεΘ¿⌐ »αÑΣ¿¬ß »ÑαÑ«»αÑ-│
- │ │ ñѽѡ¿∩ ßÑú¼Ñ¡Γá, «íÑß»Ñτ¿óáεΘ¿⌐ óδí«α π¬áºá¡¡«ú«│
- │ │ ßÑú¼Ñ¡Γá. │
- ├──────┼────────────────────────────────────────────────────────┤
- │OFFSET│ 髺óαáΘáÑΓ ß¼ÑΘÑ¡¿Ñ ß½ÑñπεΘÑú« ºá «»ÑαᵿÑ⌐ óδαáªÑ¡¿∩│
- │ │ (¼½áñΦÑÑ ß½«ó«). ÉѺπ½∞ΓáΓ«¼ íπñÑΓ ¡Ñ»«ßαÑñßΓóÑ¡¡«Ñ│
- │ │ º¡áτÑ¡¿Ñ. │
- ├──────┼────────────────────────────────────────────────────────┤
- │ SEG │ 髺óαáΘáÑΓ ßÑú¼Ñ¡Γ ß½ÑñπεΘÑú« ºá «»ÑαᵿÑ⌐ óδαáªÑ¡¿∩│
- │ │ (ßΓáαΦÑÑ ß½«ó«). ÉѺπ½∞ΓáΓ«¼ íπñÑΓ ¡Ñ»«ßαÑñßΓóÑ¡¡«Ñ│
- │ │ º¡áτÑ¡¿Ñ. │
- ├──────┼────────────────────────────────────────────────────────┤
- │ TYPE │ 髺óαáΘáÑΓ Γ¿» (αẼÑα ó íá⌐Γáσ) ß½ÑñπεΘÑú« ºá «»Ñαᵿ-│
- │ │ Ñ⌐ óδαáªÑ¡¿∩. Æ¿»«¼ ¡Ñ»«ßαÑñßΓóÑ¡¡«ú« º¡áτÑ¡¿∩ íπñÑΓ 0.│
- ├──────┼────────────────────────────────────────────────────────┤
- │ PTR │ Ä»Ñαᵿ∩ ¡áº¡áτÑ¡¿∩ Γ¿»á. ÉѺπ½∞ΓáΓ«¼ íπñÑΓ ßßδ½¬á ¡á│
- │ │ »á¼∩Γ∞ ß« º¡áτÑ¡¿Ñ¼ óδαáªÑ¡¿∩, ß½ÑñπεΘÑú« ºá «»ÑαᵿÑ⌐│
- │ │ ¿ Γ¿»«¼ óδαáªÑ¡¿∩ »ÑαÑñ «»ÑαᵿÑ⌐. │
- ├──────┼────────────────────────────────────────────────────────┤
- │ * │ ô¼¡«ªÑ¡¿Ñ. Äíá óδαáªÑ¡¿∩ ñ«½ª¡δ »αÑñßΓáó½∩Γ∞ ß«í«⌐ ¡Ñ-│
- │ │ »«ßαÑñßΓóÑ¡¡δÑ áíß«½εΓ¡δÑ º¡áτÑ¡¿∩. ÉѺπ½∞ΓáΓ«¼ íπñÑΓ│
- │ │ ¡Ñ»«ßαÑñßΓóÑ¡¡«Ñ áíß«½εΓ¡«Ñ º¡áτÑ¡¿Ñ. │
- ├──────┼────────────────────────────────────────────────────────┤
- │ / │ ûѽ«τ¿ß½Ñ¡¡«Ñ ñѽѡ¿Ñ. Äíá óδαáªÑ¡¿∩ ñ«½ª¡δ »αÑñßΓáó-│
- │ │ ½∩Γ∞ ß«í«⌐ ¡Ñ»«ßαÑñßΓóÑ¡¡δÑ áíß«½εΓ¡δÑ º¡áτÑ¡¿∩. ÉÑ-│
- │ │ ºπ½∞ΓáΓ«¼ íπñÑΓ ¡Ñ»«ßαÑñßΓóÑ¡¡«Ñ áíß«½εΓ¡«Ñ º¡áτÑ¡¿Ñ. │
- ├──────┼────────────────────────────────────────────────────────┤
- │ MOD │ ÄßΓáΓ«¬ µÑ½«τ¿ß½Ñ¡¡«ú« ñѽѡ¿∩. Äíá óδαáªÑ¡¿∩ ñ«½ª¡δ│
- │ │ »αÑñßΓáó½∩Γ∞ ß«í«⌐ ¡Ñ»«ßαÑñßΓóÑ¡¡δÑ áíß«½εΓ¡δÑ º¡áτÑ-│
- │ │ ¡¿∩. ÉѺπ½∞ΓáΓ«¼ íπñÑΓ ¡Ñ»«ßαÑñßΓóÑ¡¡«Ñ áíß«½εΓ¡«Ñ º¡á-│
- │ │ τÑ¡¿Ñ. │
- ├──────┼────────────────────────────────────────────────────────┤
- │ SHL │ ï«ú¿τÑ߬¿⌐ ßñó¿ú ó½Ñó«. Äíá óδαáªÑ¡¿∩ ñ«½ª¡δ »αÑñßΓáó-│
- │ │ ½∩Γ∞ ß«í«⌐ ¡Ñ»«ßαÑñßΓóÑ¡¡δÑ áíß«½εΓ¡δÑ º¡áτÑ¡¿∩. ÉÑ-│
- │ │ ºπ½∞ΓáΓ«¼ íπñÑΓ ¡Ñ»«ßαÑñßΓóÑ¡¡«Ñ áíß«½εΓ¡«Ñ º¡áτÑ¡¿Ñ. │
- ├──────┼────────────────────────────────────────────────────────┤
- │ SHR │ ï«ú¿τÑ߬¿⌐ ßñó¿ú ó»αáó«. Äíá óδαáªÑ¡¿∩ ñ«½ª¡δ »αÑñßΓáó-│
- │ │ ½∩Γ∞ ß«í«⌐ ¡Ñ»«ßαÑñßΓóÑ¡¡δÑ áíß«½εΓ¡δÑ º¡áτÑ¡¿∩. ÉÑ-│
- │ │ ºπ½∞ΓáΓ«¼ íπñÑΓ ¡Ñ»«ßαÑñßΓóÑ¡¡«Ñ áíß«½εΓ¡«Ñ º¡áτÑ¡¿Ñ. │
- ├──────┼────────────────────────────────────────────────────────┤
- │ + │ 潫ªÑ¡¿Ñ. éδαáªÑ¡¿∩ ¼«úπΓ »αÑñßΓáó½∩Γ∞ ß«í«⌐ ¡Ñ»«ßαÑñß-│
- │ │ ΓóÑ¡¡δÑ áíß«½εΓ¡δÑ º¡áτÑ¡¿∩ ¿½¿ ßß佬¿ ¡á »á¼∩Γ∞, ¡«│
- │ │ »ÑαѼÑΘáÑ¼δ¼ º¡áτÑ¡¿Ñ¼ ¼«ªÑΓ íδΓ∞ Γ«½∞¬« «ñ¡« óδαáªÑ-│
- │ │ ¡¿Ñ. àß½¿ «ñ¡« ¿º óδαáªÑ¡¿⌐ - »ÑαѼÑΘáѼ«Ñ º¡áτÑ¡¿Ñ, Γ«│
- │ │ αѺπ½∞ΓáΓ«¼ Γá¬ªÑ íπñÑΓ »ÑαѼÑΘáѼ«Ñ º¡áτÑ¡¿Ñ. àß½¿ «ñ-│
- │ │ ¡« ¿º óδαáªÑ¡¿⌐ - ßßδ½¬á ¡á »á¼∩Γ∞, Γ« αѺπ½∞ΓáΓ«¼ Γá¬-│
- │ │ ªÑ íπñÑΓ ßßδ½¬á ¡á »á¼∩Γ∞. │
- ├──────┼────────────────────────────────────────────────────────┤
- │ - │ éδτ¿Γá¡¿Ñ. ÅÑαó«Ñ óδαáªÑ¡¿Ñ ¼«ªÑΓ ¿¼ÑΓ∞ ½εí«⌐ ¬½áßß, á│
- │ │ óΓ«α«Ñ óδαáªÑ¡¿Ñ ñ«½ª¡« íδΓ∞ ¡Ñ»«ßαÑñßΓóÑ¡¡δ¼ áíß«½εΓ-│
- │ │ ¡δ¼ óδαáªÑ¡¿Ñ¼. ÉѺπ½∞ΓáΓ ¿¼ÑÑà ëà ªÑ Γ¿», τΓ« ¿ »Ñα-│
-
- B.Pascal 7 & Objects/LR - 433 -
-
- │ │ ó«Ñ óδαáªÑ¡¿Ñ. │
- ├──────┼────────────────────────────────────────────────────────┤
- │ NOT │ Å«αáºα∩ñ¡«Ñ «Γα¿µá¡¿Ñ. éδαáªÑ¡¿Ñ ñ«½ª¡« »αÑñßΓáó½∩Γ∞│
- │ │ ß«í«⌐ ¡Ñ»«ßαÑñßΓóÑ¡¡δÑ áíß«½εΓ¡δÑ º¡áτÑ¡¿∩. ÉѺπ½∞ΓáΓ«¼│
- │ │ íπñÑΓ ¡Ñ»«ßαÑñßΓóÑ¡¡«Ñ áíß«½εΓ¡«Ñ º¡áτÑ¡¿Ñ. │
- ├──────┼────────────────────────────────────────────────────────┤
- │ AND │ Å«αáºα∩ñ¡á∩ «»Ñαᵿ∩ AND (ê). Äíá óδαáªÑ¡¿∩ ñ«½ª¡δ│
- │ │ »αÑñßΓáó½∩Γ∞ ß«í«⌐ ¡Ñ»«ßαÑñßΓóÑ¡¡δÑ áíß«½εΓ¡δÑ º¡áτÑ-│
- │ │ ¡¿∩. ÉѺπ½∞ΓáΓ«¼ íπñÑΓ ¡Ñ»«ßαÑñßΓóÑ¡¡«Ñ áíß«½εΓ¡«Ñ º¡á-│
- │ │ τÑ¡¿Ñ. │
- ├──────┼────────────────────────────────────────────────────────┤
- │ OR │ Å«αáºα∩ñ¡á∩ «»Ñαᵿ∩ OR (êïê). Äíá óδαáªÑ¡¿∩ ñ«½ª¡δ│
- │ │ »αÑñßΓáó½∩Γ∞ ß«í«⌐ ¡Ñ»«ßαÑñßΓóÑ¡¡δÑ áíß«½εΓ¡δÑ º¡áτÑ-│
- │ │ ¡¿∩. ÉѺπ½∞ΓáΓ«¼ íπñÑΓ ¡Ñ»«ßαÑñßΓóÑ¡¡«Ñ áíß«½εΓ¡«Ñ º¡á-│
- │ │ τÑ¡¿Ñ. │
- ├──────┼────────────────────────────────────────────────────────┤
- │ XOR │ Å«αáºα∩ñ¡á∩ «»Ñαᵿ∩ XOR (¿ß¬½ετáεΘÑÑ êïê). Äíá óδαáªÑ-│
- │ │ ¡¿∩ ñ«½ª¡δ »αÑñßΓáó½∩Γ∞ ß«í«⌐ ¡Ñ»«ßαÑñßΓóÑ¡¡δÑ áíß«½εΓ-│
- │ │ ¡δÑ º¡áτÑ¡¿∩. ÉѺπ½∞ΓáΓ«¼ íπñÑΓ ¡Ñ»«ßαÑñßΓóÑ¡¡«Ñ áíß«-│
- │ │ ½εΓ¡«Ñ º¡áτÑ¡¿Ñ. │
- └──────┴────────────────────────────────────────────────────────┘
-
-
-
- B.Pascal 7 & Objects/LR - 434 -
-
- Åα«µÑñπαδ ¿ Σπ¡¬µ¿¿ áßßѼí½Ñαá
- ─────────────────────────────────────────────────────────────────
-
- ä« ß¿σ »«α ¼δ αáßß¼áΓα¿ó὿ ¬«¡ßΓαπ¬µ¿ε asm...end, ¬á¬ «»Ñ-
- αáΓ«α ß «íδτ¡«⌐ τáßΓ∞ε begin...end. ä¿αÑ¬Γ¿óá assembler ó Borland
- Pascal »«ºó«½∩ÑΓ óá¼ »¿ßáΓ∞ ¡á óßΓα«Ñ¡¡«¼ áßßѼí½ÑαÑ µÑ½¿¬«¼ »α«-
- µÑñπαδ ¿ Σπ¡¬µ¿¿ íѺ ¡Ñ«íσ«ñ¿¼«ßΓ¿ begin...end. Åα¿óÑñѼ »α¿¼Ñα
- Σπ¡¬µ¿¿ ¡á áßßѼí½ÑαÑ:
-
- function LongMul(X, Y: Integer) : Longint; assembler;
- asm
- mov ax,X
- imul Y
- end;
-
- ä¿αÑ¬Γ¿óá assembler »α¿ó«ñ¿Γ ¬ Γ«¼π, τΓ« Borland Pascal óδ-
- »«½¡∩ÑΓ »α¿ úÑ¡Ñαᵿ¿ ¬«ñá ß½ÑñπεΘπε «»Γ¿¼¿ºáµ¿ε:
-
- - 諼»¿½∩Γ«α ¡Ñ úÑ¡Ñα¿απÑΓ ¬«ñ ñ½∩ ¬«»¿α«óá¡¿∩ »áαá¼ÑΓ-
- α«ó-º¡áτÑ¡¿⌐ ó ½«¬á½∞¡δÑ »ÑαѼѡ¡δÑ. ¥Γ« ó½¿∩ÑΓ ¡á óßÑ »á-
- αá¼ÑΓαδ-º¡áτÑ¡¿∩ ßΓ᫬«ó«ú« Γ¿»á ¿ ñαπú¿Ñ º¡áτÑ¡¿∩-»áαá-
- ¼ÑΓαδ, αẼÑα ¬«Γ«αδσ ¡Ñ αáóÑ¡ 1, 2 ¿½¿ 4 íá⌐Γá¼. é¡πΓα¿
- »α«µÑñπαδ ¿½¿ Σπ¡¬µ¿¿ Γá¬¿Ñ »áαá¼ÑΓαδ ñ«½ª¡δ ¿¡ΓÑα»αÑΓ¿α«-
- óáΓ∞ß∩, ¬á¬ Ñß½¿ íδ «¡¿ í뫨 »áαá¼ÑΓαἿ-»ÑαѼѡ¡δ¼¿.
-
- - 諼»¿½∩Γ«α ¡Ñ óδñѽ∩ÑΓ »á¼∩Γ∞ ñ½∩ αѺπ½∞ΓáΓá Σπ¡¬µ¿¿, ¿
- ßßδ½¬á ¡á ¿ñÑ¡Γ¿Σ¿¬áΓ«α @Result íπñÑΓ «Φ¿í¬«⌐. Äñ¡á¬«
- ßΓ᫬«óδÑ Σπ¡¬µ¿¿ ∩ó½∩εΓß∩ ¿ß¬½ετÑ¡¿Ñ¼ ¿º φΓ«ú« »αáó¿½á -
- «¡¿ óßÑúñá ¿¼ÑεΓ π¬áºáΓѽ∞ @Result, ¬«Γ«αδ⌐ αáß»αÑñѽ∩ÑΓß∩
- »«½∞º«óáΓѽѼ.
-
- - ä½∩ »α«µÑñπα ¿ Σπ¡¬µ¿⌐, ¡Ñ ¿¼ÑεΘ¿σ »áαá¼ÑΓα«ó ¿ ½«¬á½∞¡δσ
- »ÑαѼѡ¡δσ, ¬«¼»¿½∩Γ«α ¡Ñ úÑ¡Ñα¿απÑΓ ¬áñα«ó ßΓѬá.
-
- - ä½∩ »α«µÑñπαδ ¿ Σπ¡¬µ¿¿ ¡á áßßѼí½ÑαÑ áóΓ«¼áΓ¿τÑ߬¿ úÑ¡Ñ-
- α¿απÑΓß∩ ¬«ñ óδσ«ñá:
-
- push bp ; »α¿ßπΓßΓóπÑΓ, Ñß½¿ Locals <> 0 ¿½¿
- ; Params <> 0
- mov bp,sp ; »α¿ßπΓßΓóπÑΓ, Ñß½¿ Locals <> 0 ¿½¿
- ; Params <> 0
- sub sp,Locals ; »α¿ßπΓßΓóπÑΓ, Ñß½¿ Locals <> 0
- ...
- mov sp,bp ; »α¿ßπΓßΓóπÑΓ, Ñß½¿ Locals <> 0
- pop bp ; »α¿ßπΓßΓóπÑΓ, Ñß½¿ Locals <> 0 ¿½¿
- ; Params <> 0
- ret Params ; óßÑúñá »α¿ßπΓßΓóπÑΓ
-
- úñÑ Locals - αẼÑα ½«¬á½∞¡δσ »ÑαѼѡ¡δσ, á Params - αáº-
- ¼Ñα »áαá¼ÑΓα«ó. àß½¿ ¿ Locals ¿ Params = 0, Γ« ¬«ñá óσ«ñá
- ¡Ñ íπñÑΓ, ¿ ¬«ñ óδσ«ñá ß«ßΓ«¿Γ »α«ßΓ« ¿º ¿¡ßΓαπ¬µ¿¿ RET.
-
- öπ¡¬µ¿¿, ¿ß»«½∞ºπεΘ¿Ñ ñ¿αÑ¬Γ¿óπ assembler, ñ«½ª¡δ ó«ºóαáΘáΓ∞
-
- B.Pascal 7 & Objects/LR - 435 -
-
- αѺπ½∞ΓáΓ ß½ÑñπεΘ¿¼ «íαẫ¼:
-
- - αѺπ½∞ΓáΓδ Σπ¡¬µ¿¿ »«α∩ñ¬«ó«ú« Γ¿»á (Integer, Char,
- Boolean, »ÑαÑτ¿ß½¿¼δÑ Γ¿»δ) ó«ºóαáΘáεΓß∩ ó AL (8-αáºα∩ñ¡«Ñ
- º¡áτÑ¡¿Ñ), AX (16-αáºα∩ñ¡«Ñ º¡áτÑ¡¿Ñ) ¿½¿ DX:AX (32-αáº-
- α∩ñ¡«Ñ º¡áτÑ¡¿Ñ);
-
- - αѺπ½∞ΓáΓδ Σπ¡¬µ¿¿ óÑΘÑßΓóÑ¡¡«ú« Γ¿»á (Real) ó«ºóαáΘáεΓß∩
- ó DX:BX:AX;
-
- - αѺπ½∞ΓáΓδ Σπ¡¬µ¿¿ Γ¿»«ó 8087 (Single, Double, Extended,
- Comp) ó«ºóαáΘáεΓß∩ ó ST(0) (αÑú¿ßΓα ßΓѬá ß«»α«µÑßß«αá
- 8087);
-
- - αѺπ½∞ΓáΓδ Σπ¡¬µ¿¿ Γ¿»á π¬áºáΓѽ∞ ó«ºóαáΘáεΓß∩ ó DX:AX;
-
- - αѺπ½∞ΓáΓδ Σπ¡¬µ¿¿ ßΓ᫬«ó«ú« Γ¿»á ó«ºóαáΘáεΓß∩ ó« óαѼѡ-
- ¡«⌐ ∩τÑ⌐¬Ñ, ¡á ¬«Γ«απε π¬áºδóáÑΓ @Result.
-
- ä¿αÑ¬Γ¿óá assembler ó« ¼¡«ú«¼ »«σ«ªá ¡á ñ¿αÑ¬Γ¿óπ external.
- Åα«µÑñπαδ ¿ Σπ¡¬µ¿¿ ¡á áßßѼí½ÑαÑ ñ«½ª¡δ ñ«½ª¡δ »«ñτ¿¡∩Γ∞ß∩ ΓѼ
- ªÑ »αáó¿½á¼, τΓ« ¿ »α«µÑñπαδ ¿ Σπ¡¬µ¿¿ Γ¿»á external. æ½ÑñπεΘ¿Ñ
- »α¿¼Ñαδ »«¬áºδóáεΓ ¡Ñ¬«Γ«αδÑ «Γ½¿τ¿∩ «»ÑαáΓ«α«ó asm ó «íδτ¡δσ
- »α«µÑñπαáσ ¿ Σπ¡¬µ¿∩σ «Γ »α«µÑñπα ¿ Σπ¡¬µ¿⌐ áßßѼí½Ñαá. é »Ñαó«¼
- »α¿¼ÑαÑ «»ÑαáΓ«α asm ¿ß»«½∞ºπÑΓß∩ ó «íδτ¡«⌐ Σπ¡¬µ¿¿ ñ½∩ »αÑ«íαá-
- º«óá¡¿∩ ßΓ᫬¿ ó óÑασ¡¿⌐ αÑú¿ßΓα. çá¼ÑΓ¿¼, τΓ« º¡áτÑ¡¿Ñ »áαá¼ÑΓαá
- Str ó φΓ«¼ ß½πτáÑ ßßδ½áÑΓß∩ ¡á ½«¬á½∞¡πε »ÑαѼѡ¡πε, »«ß¬«½∞¬π
- ¬«¼»¿½∩Γ«α áóΓ«¼áΓ¿τÑ߬¿ úÑ¡Ñα¿απÑΓ ¬«ñ óσ«ñá, ¬«»¿απεΘ¿⌐ Σá¬Γ¿-
- τÑ߬¿⌐ »áαá¼ÑΓα ó ½«¬á½∞¡πε »á¼∩Γ∞.
-
- function UpperCase(Str: String): String;
- begin
- asm
- cld
- lea si,Str
- les di,@Result
- SEGSS lodsb
- stosb
- xor ah,ah
- xchg ax,cx
- jcxz @3
- @1:
- SEGSS lodsb
- cmp al,'a'
- ja @2
- cmp al,'a'
- ja @2
- cmp al,'z'
- jb @2
- sub al,20H
- @2:
- stosb
- loop @1
-
- B.Pascal 7 & Objects/LR - 436 -
-
- @3:
- end;
- end;
-
- éΓ«α«⌐ »α¿¼Ñα ¡á áßßѼí½ÑαÑ »αÑñßΓáó½∩ÑΓ ß«í«⌐ óÑαß¿ε Σπ¡¬-
- µ¿¿ UpperCase. é φΓ«¼ ß½πτáÑ Str ¡Ñ ¬«»¿απÑΓß∩ ó ½«¬á½∞¡πε »á-
- ¼∩Γ∞, ¿ Σπ¡¬µ¿∩ ñ«½ª¡á ¿¡ΓÑα»αÑΓ¿α«óáΓ∞ Str, ¬á¬ »áαá¼ÑΓα-»ÑαÑ-
- ¼Ñ¡¡πε.
-
- function UpperCase(S: String): String; assembler;
- asm
- push ds
- cld
- lds si,Str
- les di@Result
- lodsb
- stosb
- xor ah,ah
- xchg ax,cx
- jcxz @3
- @1:
- lodsb
- cmp al,'a'
- ja @2
- cmp al,'z'
- jb @2
- sub al,20H
- @2:
- stosb
- loop @1
- @3:
- pop ds
- end;
-
-
-
- B.Pascal 7 & Objects/LR - 437 -
-
- ───────────────────────────────────────────────────────────────────────
- â½áóá 25. 諼»«¡«ó¬á ß »α«úαἼἿ ¡á ∩ºδ¬Ñ áßßѼí½Ñαá
- ─────────────────────────────────────────────────────────────────
-
- æ »«¼«Θ∞ε ñ¿αÑ¬Γ¿óδ ¬«¼»¿½∩Γ«αá $L ¼«ª¡« óδ»«½¡¿Γ∞ ¬«¼»«¡«ó-
- ¬π »α«úαá¼¼ ¿½¿ ¼«ñπ½Ñ⌐ ¡á ∩ºδ¬Ñ Åá߬á½∞ ¿ »α«µÑñπα ¿ Σπ¡¬µ¿⌐ ¡á
- ∩ºδ¬Ñ áßßѼí½Ñαá. êº ¿ßσ«ñ¡«ú« Σá⌐½á ¡á ∩ºδ¬Ñ áßßѼí½Ñαá ¼«ª¡« ß
- »«¼«Θ∞ε áßßѼí½Ñαá »«½πτ¿Γ∞ «íΩÑ¬Γ¡δ⌐ Σá⌐½ (ß αáßΦ¿αÑ¡¿Ñ¼ .OBJ).
- êß»«½∞ºπ∩ ¬«¼»«¡«óΘ¿¬, ¡Ñ߬«½∞¬« «íΩÑ¬Γ¡δσ Σá⌐½«ó ¼«ª¡« ߬«¼»«¡«-
- óáΓ∞ ß »α«úαá¼¼«⌐ ¿½¿ ¼«ñπ½Ñ¼. Åα¿ φΓ«¼ ¿ß»«½∞ºπÑΓß∩ ñ¿αÑ¬Γ¿óá
- ¬«¼»¿½∩Γ«αá $L.
-
- é »α«úαá¼¼Ñ ¿½¿ ¼«ñπ½Ñ ¡á ∩ºδ¬Ñ Åá߬á½∞ »α«µÑñπαδ ¿½¿ Σπ¡¬-
- µ¿¿, ¡á»¿ßá¡¡δÑ ¡á ∩ºδ¬Ñ áßßѼí½Ñαá, ñ«½ª¡δ íδΓ∞ «»¿ßá¡δ ¬á¬
- ó¡ÑΦ¡¿Ñ. ìá»α¿¼Ñα:
-
- function LoCase(Ch : Char): Char; external;
-
- é ß««ΓóÑΓßΓóπεΘѼ Σá⌐½Ñ ¡á ∩ºδ¬Ñ áßßѼí½Ñαá óßÑ »α«µÑñπαδ
- ¿½¿ Σπ¡¬µ¿¿ ñ«½ª¡δ ¡áσ«ñ¿Γ∞ß∩ ó ßÑú¼Ñ¡ΓÑ ß ¿¼Ñ¡Ñ¼ CÄDà ¿½¿ CSEG,
- ¿½¿ ó ßÑú¼Ñ¡ΓÑ, ¿¼∩ ¬«Γ«α«ú« ºá¬á¡τ¿óáÑΓß∩ ¡á _TEXT, á ¿¼Ñ¡á
- ó¡ÑΦ¡¿σ »α«µÑñπα ¿ Σπ¡¬µ¿⌐ ñ«½ª¡δ íδΓ∞ π¬áºá¡δ ó ñ¿αÑ¬Γ¿óáσ
- PUéLIC.
-
- éδ ñ«½ª¡δ «íÑß»Ñτ¿Γ∞ ß««ΓóÑΓßΓó¿Ñ »α«µÑñπαδ ¿½¿ Σπ¡¬µ¿¿ ÑÑ
- «»αÑñѽѡ¿ε ó Åá߬á½Ñ. ¥Γ« «Γ¡«ß¿Γß∩ ó Γ¿»π ÑÑ ó맮óá (í½¿ª¡¿⌐
- ¿½¿ ñá½∞¡¿⌐), τ¿ß½π ¿ Γ¿»π »áαá¼ÑΓα«ó ¿ Γ¿»π αѺπ½∞ΓáΓá.
-
- é ¿ßσ«ñ¡«¼ Σá⌐½Ñ ¡á ∩ºδ¬Ñ áßßѼí½Ñαá ¼«úπΓ «»¿ßδóáΓ∞ß∩ ¿¡¿-
- µ¿á½¿º¿α«óá¡¡δÑ »ÑαѼѡ¡δÑ, ß«ñÑαªáΘ¿Ñß∩ ó ßÑú¼Ñ¡ΓÑ ß ¿¼Ñ¡Ñ¼
- CONST ¿½¿ ó ßÑú¼Ñ¡ΓÑ, «¬á¡τ¿óáεΘѼß∩ ¡á _DAÆA, ¿ ¡Ñ¿¡¿µ¿á½¿º¿α«-
- óá¡¡δÑ »ÑαѼѡ¡δÑ ó ßÑú¼Ñ¡ΓÑ ß ¿¼Ñ¡Ñ¼ DATA ¿½¿ DSEG, ¿½¿ ó ßÑú-
- ¼Ñ¡ΓÑ, ¿¼∩ ¬«Γ«α«ú« «¬á¡τ¿óáÑΓß∩ ¡á _BSS. é ¿ßσ«ñ¡«¼ Σá⌐½Ñ ¡á
- ∩ºδ¬Ñ áßßѼí½Ñαá φΓ¿ »ÑαѼѡ¡δÑ ∩ó½∩εΓß∩ τáßΓ¡δ¼¿, ¿ ¡á ¡¿σ ¡Ñ½∞-
- º∩ ßßδ½áΓ∞ß∩ ¿º ¼«ñπ½∩ ¿½¿ »α«úαá¼¼δ ¡á Åá߬á½Ñ. Ä¡¿, «ñ¡á¬«, ¡á-
- σ«ñ∩Γß∩ ó Γ«¼ ªÑ ßÑú¼Ñ¡ΓÑ, τΓ« ¿ ú½«íá½∞¡δÑ »ÑαѼѡ¡δÑ Åá߬á½∩, ¿
- ñ«ßΓπ»¡δ τÑαѺ αÑú¿ßΓα ßÑú¼Ñ¡Γá DS.
-
- ìá óßÑ »α«µÑñπαδ, Σπ¡¬µ¿¿ ¿ »ÑαѼѡ¡δÑ, «»¿ßá¡¡δÑ ó ¼«ñπ½Ñ
- ¿½¿ »α«úαá¼¼Ñ ¡á Åá߬á½Ñ ¿ ¡á ΓÑ ¿º ¡¿σ, ¬«Γ«αδÑ «»¿ßá¡δ ó ¿¡ΓÑα-
- ΣÑ⌐ß¡«⌐ ßѬµ¿¿ ¿ß»«½∞ºπѼδσ ¼«ñπ½Ñ⌐, ¼«ª¡« ßßδ½áΓ∞ß∩ ¿º ¿ßσ«ñ¡«ú«
- Σá⌐½á ¡á ∩ºδ¬Ñ áßßѼí½Ñαá ß »«¼«Θ∞ε ñ¿αÑ¬Γ¿óδ EXTRN. Åα¿ φΓ«¼
- «í∩ºá¡¡«ßΓ∞ «íÑß»Ñτ¿Γ∞ ¬«ααÑ¬Γ¡δ⌐ Γ¿» ó «»αÑñѽѡ¿¿ EXTRN ΓᬪÑ
- 󫺽áúáÑΓß∩ ¡á óáß.
-
- è«úñá «íΩÑ¬Γ¡δ⌐ Σá⌐½ π¬áºδóáÑΓß∩ ó ñ¿αÑ¬Γ¿óÑ $L, Borland
- Pascal »αÑ«íαáºπÑΓ Σá⌐½ ¿º Σ«α¼áΓá »ÑαѼÑΘáѼδσ «íΩÑ¬Γ¡δσ ¼«ñπ½Ñ⌐
- (.OBJ) Σ¿α¼δ Intel ó ßó«⌐ ß«íßΓóÑ¡¡δ⌐ ó¡πΓαÑ¡¡¿⌐ Σ«α¼áΓ »ÑαѼÑΘá-
- Ѽδσ ¼«ñπ½Ñ⌐. ¥Γ« »αÑ«íαẫóá¡¿Ñ ó«º¼«ª¡« ½¿Φ∞ »α¿ ß«í½εñÑ¡¿¿ ¡Ñ-
- ¬«Γ«αδσ »αáó¿½:
-
- 1. éßÑ »α«µÑñπαδ ¿ Σπ¡¬µ¿¿ ñ«½ª¡δ íδΓ∞ »«¼ÑΘÑ¡δ ó ßÑú¼Ñ¡Γ ß
- ¿¼Ñ¡Ñ¼ CODà ¿½¿ CSEG, ¿½¿ ó ßÑú¼Ñ¡Γ, ¿¼∩ ¬«Γ«α«ú« «¬á¡-
- τ¿óáÑΓß∩ ¡á _TEXT. éßÑ ¿¡¿µ¿á½¿º¿α«óá¡¡δÑ τáßΓ¡δÑ »ÑαÑ-
-
- B.Pascal 7 & Objects/LR - 438 -
-
- ¼Ñ¡¡δÑ ñ«½ª¡δ »«¼ÑΘáΓ∞ß∩ ó ßÑú¼Ñ¡Γ ß ¿¼Ñ¡Ñ¼ Const ¿½¿ ó
- ßÑú¼Ñ¡Γ, ¿¼∩ ¬«Γ«α«ú« «¬á¡τ¿óáÑΓß∩ ¡á _DATA. éßÑ ¡Ñ¿¡¿-
- µ¿á½¿º¿α«óá¡¡δÑ τáßΓ¡δÑ »ÑαѼѡ¡δÑ ñ«½ª¡δ íδΓ∞ »«¼ÑΘÑ¡δ
- ó ßÑú¼Ñ¡Γ, ¿¼∩ ¬«Γ«α«ú« «¬á¡τ¿óáÑΓß∩ ¡á _DAÆA. ìÑ¿¡¿µ¿á-
- ½¿º¿α«óá¡¡δÑ ½«¬á½∞¡δÑ »ÑαѼѡ¡δÑ ñ«½ª¡δ »«¼ÑΘáΓ∞ß∩ ó
- ßÑú¼Ñ¡Γ ß ¿¼Ñ¡Ñ¼ DATA ¿½¿ DSEG, ¿½¿ ó ßÑú¼Ñ¡Γ, ¿¼∩ ¬«Γ«-
- α«ú« «¬á¡τ¿óáÑΓß∩ ¡á _BSS. éßÑ ñαπú¿Ñ ßÑú¼Ñ¡Γδ ¿ú¡«α¿απ-
- εΓß∩, »«φΓ«¼π ¿¼ÑÑΓß∩ ñ¿αÑ¬Γ¿óá GRÄUÉ. é «»αÑñѽѡ¿∩σ
- ßÑú¼Ñ¡Γá ¼«ªÑΓ ºáñáóáΓ∞ß∩ óδαáó¡¿óá¡¿Ñ ¡á úαá¡¿µπ ß½«óá
- ¿½¿ íá⌐Γá (WORD ¿½¿ éYTE). Åα¿ ¬«¼»«¡«ó¬Ñ «¡¿ óßÑúñá óδ-
- αáó¡¿óáεΓß∩ ¡á úαá¡¿µπ ß½«óá. é «»αÑñѽѡ¿∩σ ßÑú¼Ñ¡Γ«ó
- ¼«úπΓ π¬áºδóáΓ∞ß∩ ñ¿αÑ¬Γ¿óδ PUéLIæ ¿ ¿¼∩ ¬½áßßá («¡¿ ¿ú-
- ¡«α¿απεΓß∩).
-
- 2. Borland Pascal ¿ú¡«α¿απÑΓ óßÑ ñá¡¡δÑ ñ½∩ ßÑú¼Ñ¡Γ«ó, «Γ-
- ½¿τ¡δσ «Γ ßÑú¼Ñ¡Γá ¬«ñá (CODE, CSEG ¿½¿ xxxx_TEXT) ¿
- ¿¡¿µ¿á½¿º¿α«óá¡¡«ú« ßÑú¼Ñ¡Γá ñá¡¡δσ (CONST ¿½¿
- xxxx_DATA). Å«φΓ«¼π »α¿ «»¿ßá¡¿¿ »ÑαѼѡ¡δσ ó ßÑú¼Ñ¡ΓÑ
- ¡Ñ¿¡¿µ¿á½¿º¿α«óá¡¡δσ ñá¡¡δσ (DAÆA, DSEG ¿½¿ xxxx_BSS)
- ñ½∩ «»αÑñѽѡ¿∩ º¡áτÑ¡¿∩ óßÑúñá ¿ß»«½∞ºπ⌐ΓÑ ó«»α«ß¿Γѽ∞-
- ¡δ⌐ º¡á¬ (?). ìá»α¿¼Ñα:
-
- Count DW ?
- Buffer DB 128 DUP(?)
-
- 3. üá⌐Γ«óδÑ ßß佬¿ ¡á ¿ñÑ¡Γ¿Σ¿¬áΓ«αδ Γ¿»á EXTRN ¡Ññ«»πßΓ¿-
- ¼δ. ¥Γ« «º¡áτáÑΓ, ¡á»α¿¼Ñα, τΓ« «»ÑαáΓ«αδ ìIGìÆ ¿ LÄW
- ¡Ñ½∞º∩ ¿ß»«½∞º«óáΓ∞ ß ¿ñÑ¡Γ¿Σ¿¬áΓ«αἿ Γ¿»á EXTRN.
-
- Æπαí« ÇßßѼí½Ñα ¿ Borland Pascal
- ─────────────────────────────────────────────────────────────────
-
- Æπαí« ÇßßѼí½Ñα (TASM) º¡áτ¿Γѽ∞¡« «í½ÑúτáÑΓ αáºαáí«Γ¬π
- »α«úαá¼¼ ¡á ∩ºδ¬Ñ áßßѼí½Ñαá ¿ «αúá¡¿ºáµ¿¿ ó ¡¿σ ¿¡ΓÑαΣÑ⌐ßá ß
- »α«úαἼἿ Borland Pascal. Æπαí« ÇßßѼí½Ñα »«ññÑনóáÑΓ ß»Ñµ¿Σ¿-
- τÑ߬«Ñ ¿ß»«½∞º«óá¡¿Ñ ßÑú¼Ñ¡Γ«ó, ßσѼπ »á¼∩Γ¿ ¿ ∩ºδ¬«óπε »«ññÑ᪬π
- ñ½∩ »α«úαá¼¼¿ßΓ«ó, αáí«ΓáεΘ¿σ ¡á Borland Pascal.
-
- êß»«½∞ºπ∩ ¬½ετÑó«Ñ ß½«ó« PASCAL ¿ ñ¿αÑ¬Γ¿óπ .MODEL, ¼«ª¡«
- «íÑß»Ñτ¿Γ∞ ß«í½εñÑ¡¿Ñ ß«ú½áΦÑ¡¿⌐ « ó맮óáσ ß Borland Pascal, «»-
- αÑñѽ¿Γ∞ ¿¼Ñ¡á ßÑú¼Ñ¡Γ«ó, óδ»«½¡¿Γ∞ ¿¡ßΓαπ¬µ¿¿ PUSH BP ¿ MOV
- PB,SP, á Γá¬ªÑ «íÑß»Ñτ¿Γ∞ ó«ºóαáΓ π»αáó½Ñ¡¿∩ ß »«¼«Θ∞ε «»ÑαáΓ«α«ó
- POP BP ¿ RET N (úñÑ N - φΓ« τ¿ß½« íá⌐Γ »áαá¼ÑΓαá). ä¿αÑ¬Γ¿óá
- .MODEL ¿¼ÑÑΓ ß½ÑñπεΘ¿⌐ ß¿¡Γá¬ß¿ß:
-
- .MODEL xxxx, PASCAL
-
- úñÑ xxxx - φΓ« ¼«ñѽ∞ »á¼∩Γ¿ («íδτ¡« LARGE).
-
- çáñá¡¿Ñ ó ñ¿αÑ¬Γ¿óÑ .MODEL ∩ºδ¬á PASCAL ß««íΘáÑΓ Æπαí«
- ÇßßѼí½Ñαπ, τΓ« »áαá¼ÑΓαδ í뫨 ºá¡ÑßÑ¡δ ó ßΓѬ ß½Ñóá-¡á»αáó« - ó
- Γ«¼ »«α∩ñ¬Ñ, ó ¬«Γ«α«¼ «¡¿ «í¡áαπªÑ¡δ ó ¿ßσ«ñ¡«¼ «»ÑαáΓ«αÑ, óδºδ-
- óáεΘѼ »α«µÑñπαπ.
-
- B.Pascal 7 & Objects/LR - 439 -
-
-
- ä¿αÑ¬Γ¿óá PROC »«ºó«½∩ÑΓ óá¼ ºáñáΓ∞ »áαá¼ÑΓαδ ó Γ«¼ ªÑ »«-
- α∩ñ¬Ñ, ¬á¬ «¡¿ «»αÑñѽѡδ ó »α«úαá¼¼Ñ Borland Pascal. àß½¿ óδ «»-
- αÑñѽ∩ÑΓÑ Σπ¡¬µ¿ε, ¬«Γ«αá∩ ó«ºóαáΘáÑΓ ßΓ᫬π, «íαáΓ¿ΓÑ ó¡¿¼á¡¿Ñ
- ¡á Γ«, τΓ« ñ¿αÑ¬Γ¿óá PROC ¿¼ÑÑΓ «»µ¿ε RETURNS, »«ºó«½∩εΘπε óá¼
- »«½πτ¿Γ∞ ñ«ßΓπ» ¬ óαѼѡ¡«¼π π¬áºáΓѽε ßΓ᫬¿ ó ßΓÑ¬Ñ ¿ ¡Ñ «¬áºδ-
- óáεΘπε ó½¿∩¡¿∩ ¡á τ¿ß½« íá⌐Γ »áαá¼ÑΓαá, ñ«íáó½∩Ѽδσ ó «»ÑαáΓ«αÑ
- RET.
-
- Åα¿óÑñѼ »α¿¼Ñαδ ¬«ñá, ó ¬«Γ«αδσ ¿ß»«½∞ºπεΓß∩ ñ¿αÑ¬Γ¿óδ
- .MODEL ¿ PROC:
-
- .MODEL LARGE, PASCAL
- .CODE
- MyProc PROC FAR 1:BYTE, j : BYTE RETURNS result : DWORD
- PUBLIC MyProc
- les di,result ; »«½πτ¿Γ∞ áñαÑß óαѼѡ¡«⌐ ßΓ᫬¿
- mov al,i ; »«½πτ¿Γ∞ »Ñαóδ⌐ »áαá¼ÑΓα i
- mov bl,j ; »«½πτ¿Γ∞ óΓ«α«⌐ »áαá¼ÑΓα j
- .
- .
- .
- ret
-
- Ä»αÑñѽѡ¿Ñ Σπ¡¬µ¿¿ ó Borland Pascal íπñÑΓ óδú½∩ñÑΓ∞ ß½Ññπε-
- Θ¿¼ «íαẫ¼:
-
- function MyProc(i,j : char) : string; external;
-
-
-
- B.Pascal 7 & Objects/LR - 440 -
-
- Åα¿¼Ñαδ »α«úαá¼¼ ¡á ∩ºδ¬Ñ áßßѼí½Ñαá
- ─────────────────────────────────────────────────────────────────
-
- æ½ÑñπεΘá∩ »α«úαá¼¼á ∩ó½∩ÑΓß∩ »α¿¼Ñα«¼ ¼«ñπ½∩ ¿ »αÑñßΓáó½∩ÑΓ
- ß«í«⌐ ñóÑ »α«úαá¼¼δ ¡á áßßѼí½ÑαÑ, »αÑñ¡áº¡áτÑ¡¡δÑ ñ½∩ «íαáí«Γ¬¿
- ßΓ᫬. öπ¡¬µ¿∩ UppÑrCásÑ »αÑ«íαáºπÑΓ ß¿¼ó«½δ ßΓ᫬¿ ó »α«»¿ß¡δÑ
- íπ¬óδ, á Σπ¡¬µ¿∩ StringOf ó«ºóαáΘáÑΓ ßΓ᫬π ß¿¼ó«½«ó ºáñá¡¡«⌐
- ñ½¿¡δ.
-
- unit Strings;
- interface
- function UpperCase(S: string): string;
- function StringOf(Ch: char; Count: byte): string;
- inplementation
- {$L STRS}
- function UpperCase; external;
- function StringOf; external;
- end.
-
- äá½ÑÑ »α¿óÑñÑ¡ Σá⌐½ ¡á ∩ºδ¬Ñ áßßѼí½Ñαá, ó ¬«Γ«α«¼ αÑ὿º«-
- óá¡δ »α«úαá¼¼δ StringOf ¿ UppÑrCásÑ. ÅÑαÑñ ¬«¼»¿½∩µ¿Ñ⌐ ¼«ñπ½∩
- Strings φëà Σá⌐½ ñ«½ªÑ¡ íδΓ∞ áßßÑ¼í½¿α«óá¡ ó Σá⌐½ ß ¿¼Ñ¡Ñ¼
- STRS.OBJ. ÄíαáΓ¿ΓÑ ó¡¿¼á¡¿Ñ ¡á Γ«, τΓ« ó »α«úαá¼¼áσ ¿ß»«½∞ºπÑΓß∩
- ñá½∞¡¿⌐ Γ¿» ó맮óá, Γᬠ¬á¬ «¡¿ «»¿ßá¡δ ó ¿¡ΓÑαΣÑ⌐ß¡«⌐ ßѬµ¿¿
- í½«¬á.
-
- CODE SEGMENT BYTE PUBLIC
- ASSUME CS:CODE
- PUBLIC UpperCase, StringOf ; «íΩ∩ó¿Γ∞ ¿¼Ñ¡á
- function Uppercase(S: String): String
- UpperRes EQU DWORD PTR [BP+10]
- UpperStr EQU DWORD PTR [BP+6]
- Uppercase PROC FAR
- PUSH BP ; ß«σαá¡¿Γ∞ αÑú¿ßΓα BP
- MOV BP,SP ; πßΓá¡«ó¿Γ∞ ßΓѬ
- PUSH DS ; ß«σαá¡¿Γ∞ αÑú¿ßΓα DS
- LDS SI,UpperStr ; ºáúαπº¿Γ∞ áñαÑß ßΓ᫬¿
- LES DI,UpperRes ; ºáúαπº¿Γ∞ áñαÑß αѺπ½∞ΓáΓá
- CLD ; »ÑαѼÑßΓ¿Γ∞ ßΓ᫬π
- LODSB ; ºáúαπº¿Γ∞ ñ½¿¡π ßΓ᫬¿
- STOSB ; ߬«»¿α«óáΓ∞ αѺπ½∞ΓáΓ
- MOV CL,AL ; »«¼ÑßΓ¿Γ∞ ñ½¿¡π ßΓ᫬¿ ó æò
- XOR CH,CH
- JCXZ U3 ; »α«»πßΓ¿Γ∞ ó ß½πτáÑ »πßΓ«⌐
- ; ßΓ᫬¿
- U1: LODSB ; »α«»πßΓ¿Γ∞, Ñß½¿ ß¿¼ó«½ «Γ½¿τÑ¡
- ; «Γ 'á'...'z'
- CPM AL,'a'
- JB U2
- CPM AL,'z'
- JA U2 ; »ÑαѼÑßΓ¿Γ∞ ßΓ᫬π
- SUB AL,'a'-'A' ; »αÑ«íαẫóáΓ∞ ó »α«»¿ß¡δÑ íπ¬óδ
- U2: STOBS ; ß«σαá¡¿Γ∞ αѺπ½∞ΓáΓ
-
- B.Pascal 7 & Objects/LR - 441 -
-
- LOOP U1 ; µ¿¬½ »« óßѼ ß¿¼ó«½á¼
- U3: POP DS ; ó«ßßΓá¡«ó¿Γ∞ αÑú¿ßΓα DS
- POP BP ; ó«ßßΓá¡«ó¿Γ∞ αÑú¿ßΓα éÉ
- RET 4 ; πñ὿Γ∞ »áαá¼ÑΓαδ ¿ ó«ºóαáΓ¿Γ∞
- ; π»αáó½Ñ¡¿Ñ
- UpperCase ENDP
- ; function StringOf(Ch: Char; Count: Byte): String
- StrOfRes EQU DWORD PTR [BP + 10]
- StrOfChar EQU BYTE PTR [BP + 8]
- StrOfCOunt EQU BYTE PTR [BP + 6]
- StringOf PROC FAR
- PUSH BP ; ß«σαá¡¿Γ∞ αÑú¿ßΓα éÉ
- MOV BP,SP ; πßΓá¡«ó¿Γ∞ úαá¡¿µδ ßΓѬá
- LES DI,StrOfRes ; ºáúαπº¿Γ∞ áñαÑß αѺπ½∞ΓáΓá
- MOV AL,StrOfCount ; ºáúαπº¿Γ∞ ßτÑΓτ¿¬
- CLD ; »α«ñó¿¡πΓ∞ß∩ ¡á ßΓ᫬π
- STOSB ; ß«σαá¡¿Γ∞ ñ½¿¡π
- MOV CL,AL ; »«¼ÑßΓ¿Γ∞ º¡áτÑ¡¿Ñ ßτÑΓτ¿¬á ó CX
- XOR CH,CH
- MOV AL,StrOfChar ; ºáúαπº¿Γ∞ ß¿¼ó«½
- REP STOSB ; ß«σαá¡¿Γ∞ ßΓ᫬π ß¿¼ó«½«ó
- POP ; ó«ßßΓá¡«ó¿Γ∞ éÉ
- RET ; ¿ºó½Ñτ∞ »áαá¼ÑΓαδ ¿ óδ⌐Γ¿
- SrtingOf ENDP
- CODE ENDS
- END
-
- ùΓ«íδ áßßÑ¼í½¿α«óáΓ∞ φëà »α¿¼Ñα ¿ ߬«¼»¿½¿α«óáΓ∞ ¼«ñπ½∞,
- ¼«ª¡« ¿ß»«½∞º«óáΓ∞ ß½ÑñπεΘ¿Ñ ¬«¼á¡ñδ:
-
- TASM STR5
- BPC stringer
-
-
- îÑΓ«ñδ ¡á ∩ºδ¬Ñ áßßѼí½Ñαá
- ─────────────────────────────────────────────────────────────────
-
- îÑΓ«ñδ, αÑ὿º«óá¡¡δÑ ¡á ∩ºδ¬Ñ áßßѼí½Ñαá, ¼«ª¡« ߬«¼»«¡«-
- óáΓ∞ ß »α«úαἼἿ Borland Pascal ß »«¼«Θ∞ε ñ¿αÑ¬Γ¿óδ ¬«¼»¿½∩Γ«αá
- $L ¿ ºáαѺÑαó¿α«óá¡¡«ú« ¬½ετÑó«ú« ß½«óá external. Ä»¿ßá¡¿Ñ ó¡ÑΦ-
- ¡Ñú« ¼ÑΓ«ñá ó «íΩÑ¬Γ¡«¼ Γ¿»Ñ ¡Ñ «Γ½¿τáÑΓß∩ «Γ «íδτ¡«ú« ¼ÑΓ«ñá;
- «ñ¡á¬« ó αÑ὿ºáµ¿¿ ¼ÑΓ«ñá »ÑαÑτ¿ß½∩ÑΓß∩ Γ«½∞¬« ºáú«½«ó«¬ ¼ÑΓ«ñá,
- ºá ¬«Γ«αδ¼ ß½ÑñπÑΓ ºáαѺÑαó¿α«óá¡¡«⌐ ß½«ó« external. é ¿ßσ«ñ¡«¼
- ΓѬßΓÑ ¡á áßßѼí½ÑαÑ ó¼ÑßΓ« Γ«τ¬¿ (.) ñ½∩ ºá»¿ß¿ πΓ«τ¡Ñ¡¡δσ ¿ñÑ¡-
- Γ¿Σ¿¬áΓ«α«ó ß½ÑñπÑΓ ¿ß»«½∞º«óáΓ∞ «»Ñαᵿε @ (Γ«τ¬á ó áßßѼí½ÑαÑ
- πªÑ ¿¼ÑÑΓ ñαπú«⌐ ß¼δß½ ¿ ¡Ñ ¼«ªÑΓ íδΓ∞ τáßΓ∞ε ¿ñÑ¡Γ¿Σ¿¬áΓ«αá).
- ìá»α¿¼Ñα, ¿ñÑ¡Γ¿Σ¿¬áΓ«α Åá߬á½∩ Rect.Init ºá»¿ßδóáÑΓß∩ ¡á áßßѼí-
- ½ÑαÑ ¬á¬ Rest@Init. æ¿¡Γá¬ß¿ß @ ¼«ª¡« ¿ß»«½∞º«óáΓ∞ ¬á¬ ó ¿ñÑ¡Γ¿-
- Σ¿¬áΓ«αáσ PUBLIC, Γᬠ¿ EXTRN.
-
-
-
-
- B.Pascal 7 & Objects/LR - 442 -
-
- 鬽ετáѼδ⌐ ¼áΦ¿¡¡δ⌐ ¬«ñ
- ─────────────────────────────────────────────────────────────────
-
- ä½∩ ¡Ñí«½∞Φ¿σ »«ñ»α«úαá¼¼ ¡á ∩ºδ¬Ñ áßßѼí½Ñαá «τÑ¡∞ πñ«í¡«
- ¿ß»«½∞º«óáΓ∞ ó¡πΓαÑ¡¡¿Ñ ñ¿αÑ¬Γ¿óδ ¿ «»ÑαáΓ«αδ Borland Pascal
- («»ÑαáΓ«αδ inline). Ä¡¿ »«ºó«½∩εΓ óßΓáó½∩Γ∞ ¿¡ßΓαπ¬µ¿¿ ¼áΦ¿¡¡«ú«
- ¬«ñá ¡Ñ»«ßαÑñßΓóÑ¡¡« ó »α«úαá¼¼π ¿½¿ ΓѬßΓ í½«¬á, ó¼ÑßΓ« Γ«ú«,
- τΓ«íδ ¿ß»«½∞º«óáΓ∞ «íΩÑ¬Γ¡δ⌐ Σá⌐½.
-
-
- Ä»ÑαáΓ«αδ Inline
- ─────────────────────────────────────────────────────────────────
-
- Ä»ÑαáΓ«α inline ß«ßΓ«¿Γ ¿º ºáαѺÑαó¿α«óá¡¡«ú« ß½«óá Inline,
- ºá ¬«Γ«αδ¼ ß½ÑñπÑΓ «ñ¡á ¿½¿ í«½ÑÑ óßΓα«Ñ¡¡δσ ºá»¿ßÑ⌐ (ºá»¿ßÑ⌐ ¼á-
- Φ¿¡¡«ú« ¬«ñá), αáºñѽѡ¡δσ ¬«ß«⌐ τÑαΓ«⌐ ¿ ºá¬½ετÑ¡¡δσ ó ¬απú½δÑ
- ߬«í¬¿:
-
- inline(10/$2345/Count+1/Data-Offset);
-
- Ä»ÑαáΓ«α inline ¿¼ÑÑΓ ß½ÑñπεΘ¿⌐ ß¿¡Γá¬ß¿ß:
-
- ┌────────┐ ┌───┐ ┌──────────┐ ┌───┐
- »«ñßΓáó½∩Ѽδ⌐ ──>│ inline ├─>│ ( ├────>│ ºá»¿ß∞ ó ├─┬─>│ ) ├─>
- «»ÑαáΓ«α └────────┘ └───┘ ^ │ ¼áΦ¿¡¡«¼ │ │ └───┘
- │ │ ¬«ñÑ │ │
- │ └──────────┘ │
- │ ┌───┐ │
- └──────┤ / │<────┘
- └───┘
-
- èáªñδ⌐ «»ÑαáΓ«α inline ß«ßΓ«¿Γ ¿º ¡Ñ«í∩ºáΓѽ∞¡«ú« ߻ѵ¿Σ¿¬á-
- Γ«αá αẼÑαá, < ¿½¿ >, ¿ ¬«¡ßΓá¡Γδ ¿½¿ ¿ñÑ¡Γ¿Σ¿¬áΓ«αá »ÑαѼѡ«⌐,
- ºá ¬«Γ«α«⌐ ß½ÑñπεΓ ¡«½∞ ¿½¿ í«½ÑÑ ß»Ñµ¿Σ¿¬áΓ«α«ó ß¼ÑΘÑ¡¿∩ (ß¼.
- «»¿ßá¡¡δ⌐ ñá½ÑÑ ß¿¡Γá¬ß¿ß). æ»Ñµ¿Σ¿¬áΓ«α ß¼ÑΘÑ¡¿∩ ß«ßΓ«¿Γ ¿º +
- ¿½¿ -, ºá ¬«Γ«αδ¼ ß½ÑñπÑΓ ¬«¡ßΓá¡Γá.
-
- ┌───────────┐
- ºá»¿ß∞ ó« ──┬────────────────────>│ ¬«¡ßΓá¡Γá ├───────────────>
- óßΓα«Ñ¡¡«¼ │ ┌───┐ ^ └───────────┘ ^
- ¼áΦ¿¡¡«¼ ├──>│ < ├──────┤ │
- ¬«ñÑ │ └───┘ │ │
- │ ┌───┐ │ │
- ├──>│ > ├──────┘ │
- │ └───┘ │
- │ ┌───────────────┐ │
- └─>│ ¿ñÑ¡Γ¿Σ¿¬áΓ«α ├─┬────────────────────┘
- │ »ÑαѼѡ¡«⌐ │ │ ^
- └───────────────┘ │ │
- ┌────┘ └─────────┐
- │ ┌────┐ ┌─────────┐ │
- └─────>│º¡á¬├──>│¬«¡ßΓá¡Γá│──┬────┘
- ^ └────┘ └─────────┘ │
-
- B.Pascal 7 & Objects/LR - 443 -
-
- └─────────────────────────┘
-
- èáªñá∩ ºá»¿ß∞ inline »«α«ªñáÑΓ 1 íá⌐Γ ¿½¿ «ñ¡« ß½«ó« ¬«ñá.
- ç¡áτÑ¡¿∩ óδτ¿ß½∩ÑΓß∩, ¿ßσ«ñ∩ ¿º º¡áτÑ¡¿∩ »Ñαó«⌐ ¬«¡ßΓá¡Γδ ¿½¿
- ß¼ÑΘÑ¡¿∩ ¿ñÑ¡Γ¿Σ¿¬áΓ«αá »ÑαѼѡ¡«⌐, ¬ ¬«Γ«α«¼π ñ«íáó½∩ÑΓß∩ ¿½¿ ¿º
- ¬«Γ«α«ú« óδτ¿ΓáÑΓß∩ º¡áτÑ¡¿Ñ ¬áªñ«⌐ ¿º »«ß½ÑñπεΘ¿σ ¬«¡ßΓá¡Γ.
-
- àß½¿ ºá»¿ß∞ ó ¼áΦ¿¡¡«¼ ¬«ñÑ ß«ßΓ«¿Γ Γ«½∞¬« ¿º ¬«¡ßΓá¡Γ ¿,
- Ñß½¿ ÑÑ º¡áτÑ¡¿Ñ ½Ñª¿Γ ó 8-í¿Γ«ó«¼ ñ¿á»áº«¡Ñ (0..255), Γ« «¡á »«-
- ᫪ñáÑΓ «ñ¿¡ íá⌐Γ ¬«ñá. àß½¿ º¡áτÑ¡¿Ñ óδσ«ñ¿Γ ºá úαá¡¿µπ 8-í¿Γ«-
- ó«ú« ñ¿á»áº«¡á ¿½¿ Ñß½¿ ºá»¿ß∞ inline ßßδ½áÑΓß∩ ¡á »ÑαѼѡ¡πε, Γ«
- úÑ¡Ñα¿απÑΓß∩ «ñ¡« ß½«ó« ¬«ñá (¼½áñΦ¿⌐ íá⌐Γ ß½ÑñπÑΓ »Ñαóδ¼).
-
- Ä»Ñαᵿ¿ < ¿ > ¼«úπΓ ¿ß»«½∞º«óáΓ∞ß∩ ñ½∩ «Γ¼Ñ¡δ áóΓ«¼áΓ¿τÑß-
- ¬«ú« óδí«αá αẼÑαá, ¬«Γ«αδ⌐ íδ½ «»¿ßá¡ αá¡ÑÑ. àß½¿ «»ÑαáΓ«α
- inline ¡áτ¿¡áÑΓß∩ ß «»Ñαᵿ¿ <, Γ« ó ¬«ñ ó¬½ετáÑΓß∩ Γ«½∞¬« ¼½áñ-
- Φ¿⌐ º¡áτáΘ¿⌐ íá⌐Γ º¡áτÑ¡¿∩, ñáªÑ Ñß½¿ φΓ« 16-í¿Γ«ó«Ñ º¡áτÑ¡¿Ñ.
- àß½¿ «»ÑαáΓ«α inline ¡áτ¿¡áÑΓß∩ ß «»Ñαᵿ¿ >, Γ« ó ¬«ñ ó¬½ετáÑΓß∩
- óßÑúñá ß½«ó«, ñáªÑ Ñß½¿ ßΓáαΦ¿⌐ º¡áτáΘ¿⌐ íá⌐Γ αáóÑ¡ 0. ìá»α¿¼Ñα,
- «»ÑαáΓ«α:
-
- inline(<$1234/>$44);
-
- úѡѡ¿απÑΓ ¬«ñ ñ½¿¡«⌐ Γα¿ íá⌐Γá: $34,$44,$00.
-
- ç¡áτÑ¡¿Ñ ¿ñÑ¡Γ¿Σ¿¬áΓ«αá »ÑαѼѡ¡«⌐ ó ºá»¿ß¿ inline »αÑñßΓáó-
- ½∩ÑΓ ß«í«⌐ áñαÑß ß¼ÑΘÑ¡¿∩ »ÑαѼѡ¡«⌐ ó¡πΓα¿ ÑÑ íẫó«ú« ßÑú¼Ñ¡Γá.
- üẫóδ⌐ ßÑú¼Ñ¡Γ ú½«íá½∞¡δσ »ÑαѼѡ¡δσ (»ÑαѼѡ¡δσ, «»¿ßá¡¡δσ ¡á
- ßἫ¼ ó¡ÑΦ¡Ñ¼ πα«ó¡Ñ ó ¼«ñπ½Ñ ¿½¿ »α«úαá¼¼Ñ) ¿ Γ¿»¿º«óá¡¡δÑ ¬«¡ß-
- Γá¡Γδ, ñ«ßΓπ» ¬ ¬«Γ«αδ¼ «αúá¡¿º«óá¡ τÑαѺ αÑú¿ßΓα DS, »αÑñßΓáó½∩-
- εΓ ß«í«⌐ ßÑú¼Ñ¡Γ ñá¡¡δσ. üẫóδ⌐ ßÑú¼Ñ¡Γ ½«¬á½∞¡δσ »ÑαѼѡ¡δσ
- (»ÑαѼѡ¡δσ, «»¿ßá¡¡δσ ó¡πΓα¿ »«ñ»α«úαá¼¼δ) ∩ó½∩ÑΓß∩ ßÑú¼Ñ¡Γ«¼
- ßΓѬá. é φΓ«¼ ß½πτáÑ ß¼ÑΘÑ¡¿Ñ »ÑαѼѡ¡«⌐ «Γ¡«ß¿Γß∩ ¬ αÑú¿ßΓαπ éÉ,
- τΓ« áóΓ«¼áΓ¿τÑ߬¿ ó½ÑτÑΓ ºá ß«í«⌐ óδí«α ßÑú¼Ñ¡Γá ßΓѬá.
-
- Åα¿¼Ñτá¡¿Ñ: ÉÑú¿ßΓαδ BP, SP, SS ¿ DS ñ«½ª¡δ ß«σαá¡∩Γ∞-
- ß∩ ß »«¼«Θ∞ε «»ÑαáΓ«α«ó inline. ç¡áτÑ¡¿Ñ óßÑσ ñαπú¿σ αÑ-
- ú¿ßΓα«ó ¼«ª¡« ¿º¼Ñ¡∩Γ∞.
-
- é ß½ÑñπεΘѼ »α¿¼ÑαÑ «»ÑαáΓ«αá inline úÑ¡Ñα¿απÑΓß∩ ¼áΦ¿¡¡δ⌐
- ¬«ñ ñ½∩ ºá»¿ß¿ ºáñá¡¡«ú« τ¿ß½á ß½«ó ¿½¿ ñá¡¡δσ ó π¬áºá¡¡πε »ÑαÑ-
- ¼Ñ¡¡πε. Åα¿ ó맮óÑ »α«µÑñπαδ FillWord Count ß½«ó ß« º¡áτÑ¡¿Ñ¼
- Data ºá»¿ßδóáÑΓß∩ ó »á¼∩Γ¿, ¡áτ¿¡á∩ ß »Ñαó«ú« íá⌐Γá, «í«º¡áτÑ¡¡«-
- ú« ¬á¬ Dest.
-
- procedure FillWord(var Dest, Count, Data: word);
- begin
- inline(
- $C4/$BE/Dest/ { LES DI,Dest[BP] }
- $8B/$8e/Count/ { MOV CX,Xount[BP] }
- $8B/$86/Data/ { MOV AX,Data[BP] }
- $FC/ { CLD }
- $F3/$AB); { REP STOSW }
-
- B.Pascal 7 & Objects/LR - 444 -
-
-
- é «»ÑαáΓ«α¡«⌐ τáßΓ¿ í½«¬á «»ÑαáΓ«αδ inline ¼«úπΓ ßó«í«ñ¡«
- τÑαÑñ«óáΓ∞ß∩ ß ñαπú¿¼¿ «»ÑαáΓ«αἿ.
-
- ä¿αÑ¬Γ¿óδ inline
- ─────────────────────────────────────────────────────────────────
-
- ä¿αÑ¬Γ¿óδ inline »«ºó«½∩εΓ »¿ßáΓ∞ »α«µÑñπαδ ¿ Σπ¡¬µ¿¿, ¬«Γ«-
- αδÑ »αÑ«íαáºπεΓß∩ »α¿ ¬áªñ«¼ ó맮óÑ ó ºáñá¡¡πε »«ß½Ññ«óáΓѽ∞¡«ßΓ∞
- ¿¡ßΓαπ¬µ¿⌐, »αÑñßΓáó½∩εΘ¿σ ß«í«⌐ ¼áΦ¿¡¡δ⌐ ¬«ñ. æ¿¡Γá¬ß¿ß π ñ¿αѬ-
- Γ¿óδ inline Γᬫ⌐ ªÑ, ¬á¬ π «»ÑαáΓ«αá inline:
-
- ┌────────────┐
- ñ¿αÑ¬Γ¿óá ──────────────────────>│ «»ÑαáΓ«α ├────────────>
- inline │ inline │
- └────────────┘
-
- Åα¿ ó맮óÑ «íδτ¡«⌐ »α«µÑñπαδ ¿½¿ Σπ¡¬µ¿¿ (ó¬½ετá∩ ΓÑ, ¬«Γ«-
- αδÑ ß«ñÑαªáΓ ó ßÑíÑ «»ÑαáΓ«αδ inline) ¬«¼»¿½∩Γ«α«¼ úÑ¡Ñα¿απÑΓß∩
- Γᬫ⌐ ¬«ñ, ó ¬«Γ«α«¼ »áαá¼ÑΓαδ (Ñß½¿ «¡¿ ¿¼ÑεΓß∩) »«¼ÑΘáεΓß∩ ó
- ßΓѬ, á ºáΓѼ πªÑ ñ½∩ «íαáΘÑ¡¿∩ ¬ »α«µÑñπαÑ ¿½¿ Σπ¡¬µ¿¿ úÑ¡Ñα¿απ-
- ÑΓß∩ ¿¡ßΓαπ¬µ¿∩ CALL. Äñ¡á¬«, ¬«úñá óδ «íαáΘáÑΓÑß∞ ¬ »α«µÑñπαÑ
- ¿½¿ Σπ¡¬µ¿¿ Γ¿»á inline, ¬«¼»¿½∩Γ«α ó¼ÑßΓ« ¿¡ßΓαπ¬µ¿¿ CALL úÑ¡Ñ-
- α¿απÑΓ ¬«ñ ¿º ñ¿αÑ¬Γ¿óδ inline. é«Γ ¬«α«Γ¬¿⌐ »α¿¼Ñα ñóπσ ñ¿αÑ¬Γ¿ó
- inline:
-
- procedure DisableInterrupts; inline($FA); { CLI }
- procedure EnableInterrupts; inline($FB); { STI }
-
- è«úñá óδºδóáÑΓß∩ »α«µÑñπαá DisableInterrupt Γ« úÑ¡Ñα¿απÑΓß∩
- «ñ¿¡ íá⌐Γ ¬«ñá - ¿¡ßΓαπ¬µ¿∩ CLI.
-
- Åα«µÑñπαδ ¿½¿ Σπ¡¬µ¿¿, «»¿ßá¡¡δÑ ß »«¼«Θ∞ε ñ¿αÑ¬Γ¿ó inline,
- ¼«úπΓ ¿¼ÑΓ∞ »áαá¼ÑΓαδ, «ñ¡á¬« ¡á »áαá¼ÑΓαδ ¡Ñ½∞º∩ ßßδ½áΓ∞ß∩ ß¿¼-
- 󫽿τÑ߬¿ (σ«Γ∩ ñ½∩ ñαπú¿σ »ÑαѼѡ¡δσ φΓ« ñ«»π߬áÑΓß∩). è Γ«¼π
- ªÑ, »«ß¬«½∞¬π Γá¬¿Ñ »α«µÑñπαδ ¿½¿ Σπ¡¬µ¿¿ Σá¬Γ¿τÑ߬¿ ∩ó½∩εΓß∩
- ¼á¬α«¬«¼á¡ñἿ, π ¡¿σ «ΓßπΓßΓóπεΓ áóΓ«¼áΓ¿τÑ߬¿⌐ ¬«ñ ß ¿¡ßΓαπ¬µ¿-
- ∩¼¿ óσ«ñá ¿½¿ óδσ«ñá ¿ ¡¿¬á¬¿σ ¿¡ßΓαπ¬µ¿⌐ ó«ºóαáΓá π»αáó½Ñ¡¿∩ ¡Ñ
- ΓαÑíπÑΓß∩.
-
- æ½ÑñπεΘá∩ Σπ¡¬µ¿∩ óδ»«½¡∩ÑΓ π¼¡«ªÑ¡¿Ñ ñóπσ µÑ½δσ º¡áτÑ¡¿⌐, ó
- αѺπ½∞ΓáΓÑ τÑú« »«½πτáÑΓß∩ τ¿ß½« ñ½¿¡¡«ú« µÑ½«ú« Γ¿»á:
-
- function LongMul(X,Y : Integer): Longint;
- inline(
- $58/ { POP DS ; ¿ºó½Ñτ∞ ¿º ßΓѬá Y }
- $5A/ { POP AX ; ¿ºó½Ñτ∞ ¿º ßΓѬá X }
- $F7/$EA); { IMUL DX ; DX:AX = X*Y }
-
- ÄíαáΓ¿ΓÑ ó¡¿¼á¡¿Ñ ¡á «ΓßπΓßΓó¿Ñ ¿¡ßΓαπ¬µ¿⌐ óσ«ñá ¿ óδσ«ñá ¿
- ¿¡ßΓαπ¬µ¿¿ ó«ºóαáΓá π»αáó½Ñ¡¿∩. êσ »α¿ßπΓßΓó¿∩ ¡Ñ ΓαÑíπÑΓß∩, »«ß-
- ¬«½∞¬π »α¿ ó맮óÑ φΓ«⌐ Σπ¡¬µ¿¿ ß«ñÑαªáΘ¿Ñß∩ ó ¡Ñ⌐ τÑΓδαÑ íá⌐Γá
- »α«ßΓ« ó¬½ετáεΓß∩ ó ΓѬßΓ »α«úαá¼¼δ.
-
- B.Pascal 7 & Objects/LR - 445 -
-
-
- ä¿αÑ¬Γ¿óδ inline »αÑñ¡áº¡áτÑ¡δ Γ«½∞¬« ñ½∩ «τÑ¡∞ ¬«α«Γ¬¿σ
- (¼Ñ¡ÑÑ 10 íá⌐Γ) »α«µÑñπα ¿ Σπ¡¬µ¿⌐.
-
- êº-ºá Γ«ú«, τΓ« »α«µÑñπαδ ¿ Σπ¡¬µ¿¿ Γ¿»á inline ¿¼ÑεΓ σáαá¬-
- ΓÑα ¼á¬α««»αÑñѽѡ¿⌐, «¡¿ ¡Ñ ¼«úπΓ ¿ß»«½∞º«óáΓ∞ß∩ ó ¬áτÑßΓóÑ áα-
- úπ¼Ñ¡Γá «»Ñαᵿ¿ @ ¿½¿ ó Σπ¡¬µ¿∩σ Addr, Offs ¿ Seg.
-