home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
BBS 1
/
BBS#1.iso
/
document
/
pas60pg.lzh
/
PG10.MY
< prev
next >
Wrap
Text File
|
1991-02-01
|
36KB
|
825 lines
ù Ç æ Æ £ 2.
æÆÇìäÇÉÆì¢à üêüïêÄÆàèê.
âïÇéÇ 10.
îÄäôï£ SYSTEM.
î«ñπ½∞ System ∩ó½∩ÑΓß∩ í¿í½¿«ΓѬ«⌐ Turbo Pascal óαѼѡ¿
óδ»«½¡Ñ¡¿∩. Ä¡ αÑ὿ºπÑΓ ¡¿º¬«-πα«ó¡ÑóδÑ »α«úαá¼¼δ ñ½∩ óßÑσ
óßΓα«Ñ¡¡δσ 󫺼«ª¡«ßΓÑ⌐ , Γᬿσ ¬á¬ óó«ñ/óδó«ñ, «íαáí«Γ¬á ßΓ᫬,
φ¼π½∩µ¿∩ 8087, »½áóáεΘπε Γ«τ¬π, π»αáó½Ñ¡¿Ñ «óÑα½Ñ∩¼¿ ¿ ñ¿¡á¼¿τÑ߬«Ñ
αáß»αÑñѽѡ¿Ñ »á¼∩Γ¿. î«ñπ½∞ System ¿ß»«½∞ºπÑΓß∩ áóΓ«¼áΓ¿τÑ߬¿
½εíδ¼ ¼«ñπ½Ñ¼ ¿½¿ »α«úαá¼¼«⌐ ¿ ¡¿¬«úñá ¡Ñ ΓαÑíπÑΓß∩ π¬áºδóáΓ∞ Ñú« ó
πΓóÑαªñÑ¡¿¿ uses.
æΓá¡ñáαΓ¡δÑ »α«µÑñπαδ ¿ Σπ¡¬µ¿¿.
é ñá¡¡«¼ αáºñÑ½Ñ «»¿ßδóáεΓß∩ óßÑ ßΓá¡ñáαΓ¡δÑ »α«µÑñπαδ ¿
Σπ¡¬µ¿¿, ¿ß»«½∞ºπεΘ¿Ñß∩ ó Turbo Pascal, ¬α«¼Ñ ΓÑσ »α«µÑñπα ¿
Σπ¡¬µ¿⌐ óó«ñá/óδó«ñá, ¬«Γ«αδÑ «íßπªñáεΓß∩ ó αáºñÑ½Ñ "éó«ñ ¿ óδó«ñ".
ü«½ÑÑ »«ñα«í¡á∩ ¿¡Σ«α¼áµ¿∩ ß«ñÑনΓß∩ ó æ»αáó«τ¡«¼ απ¬«ó«ñßΓóÑ »«
í¿í½¿«ΓѬÑ.
æΓá¡ñáαΓ¡δÑ »α«µÑñπαδ ¿ Σπ¡¬µ¿¿ ∩ó½∩εΓß∩ »αÑñ«»αÑñѽѡ¡δ¼¿.
ū߬«½∞¬π óßÑ »αÑñ«»αÑñѽѡ¡δÑ φ½Ñ¼Ñ¡Γδ ñÑ⌐ßΓóπεΓ Γ«τ¡« ΓᬠªÑ, ¬á¬
Ñß½¿ íδ «¡¿ í뫨 «íΩ∩ó½Ñ¡δ ó «¬απªáεΘѼ »α«úαá¼¼π í½«¬Ñ, Γ« »α¿
«íΩ∩ó½Ñ¡¿¿, »ÑαÑ«»αÑñѽ∩εΘѼ ëà ªÑ ßá¼δ⌐ ¿ñÑ¡Γ¿Σ¿¬áΓ«α ó¡πΓα¿
»α«úαá¼¼δ, ¬«¡Σ½¿¬Γá ¡Ñ ó«º¡¿¬áÑΓ.
Åα«µÑñπαδ π»αáó½Ñ¡¿∩ «íαáí«Γ¬«⌐.
───────────────────────────────────────────────────────────────────
Åα«µÑñπαá Ä»¿ßá¡¿Ñ
───────────────────────────────────────────────────────────────────
Exit Å«ºó«½∩ÑΓ ¡Ñ¼Ññ½Ñ¡¡« óδ⌐Γ¿ ¿º ΓѬπΘÑú« í½«¬á
Halt ÄßΓá¡áó½¿óáÑΓ óδ»«½¡Ñ¡¿Ñ »α«úαá¼¼δ ¿ ó«ºóαáΘáÑΓ
ó «»Ñαᵿ«¡¡πε ß¿ßΓѼπ
RunError ÄßΓá¡áó½¿óáÑΓ óδ»«½¡Ñ¡¿Ñ »α«úαá¼¼δ ¿ úÑ¡Ñα¿απÑΓ
«Φ¿í¬π óαѼѡ¿ óδ»«½¡Ñ¡¿∩
───────────────────────────────────────────────────────────────────
Åα«µÑñπαδ ñ¿¡á¼¿τÑ߬«ú« αáß»αÑñѽѡ¿∩.
¥Γ¿ »α«µÑñπαδ ¿ Σπ¡¬µ¿¿ ¿ß»«½∞ºπεΓß∩ ñ½∩ π»αáó½Ñ¡¿∩
¬πτÑ⌐ - «í½áßΓ∞ε »á¼∩Γ¿, ¬«Γ«αá∩ ºá¡¿¼áÑΓ óßε ßó«í«ñ¡πε »á¼∩Γ∞,
«ßΓáεΘπεß∩ »α¿ óδ»«½¡Ñ¡¿¿ »α«úαá¼¼δ. Å«½¡«Ñ «»¿ßá¡¿Ñ ¼ÑΓ«ñ«ó,
¿ß»«½∞ºπѼδσ ñ½∩ π»αáó½Ñ¡¿∩ ñ¿¡á¼¿τÑ߬¿ αáß»αÑñѽ∩Ѽ«⌐ «í½áßΓ∞ε
»á¼∩Γ¿, »α¿ó«ñ¿Γß∩ ó αáºñÑ½Ñ "îÑ¡ÑñªÑα ¬πτ¿" ó ú½áóÑ 16 "Åá¼∩Γ∞".
───────────────────────────────────────────────────────────────────
Åα«µÑñπαá Ä»¿ßá¡¿Ñ
───────────────────────────────────────────────────────────────────
Dispose ô¡¿τΓ«ªáÑΓ ñ¿¡á¼¿τÑ߬πε »ÑαѼѡ¡πε
FreeMem ô¡¿τΓ«ªáÑΓ ñ¿¡á¼¿τÑ߬πε »ÑαѼѡ¡πε ñá¡¡«ú« αẼÑαá
GetMem 櫺ñáÑΓ ¡«óπε ñ¿¡á¼¿τÑ߬πε »ÑαѼѡ¡πε ºáñá¡¡«ú«
αẼÑαá ¿ πßΓá¡áó½¿óáÑΓ »ÑαѼѡ¡πε-π¬áºáΓѽ∞ ñ½∩ ¡ÑÑ
Mark çỿßδóáÑΓ ó »ÑαѼѡ¡«⌐-π¬áºáΓÑ½Ñ ß«ßΓ«∩¡¿Ñ ¬πτ¿
New 櫺ñáÑΓ ¡«óπε ñ¿¡á¼¿τÑ߬πε »ÑαѼѡ¡πε ¿
πßΓá¡áó½¿óáÑΓ ¡á ¡ÑÑ »ÑαѼѡ¡πε-π¬áºáΓѽ∞
Release 髺óαáΘáÑΓ ¬πτπ ó ºáñá¡¡«Ñ ß«ßΓ«∩¡¿Ñ
───────────────────────────────────────────────────────────────────
öπ¡¬µ¿¿ ñ¿¡á¼¿τÑ߬«ú« αáß»αÑñѽѡ¿∩.
───────────────────────────────────────────────────────────────────
öπ¡¬µ¿∩ Ä»¿ßá¡¿Ñ
───────────────────────────────────────────────────────────────────
MaxAvail 髺óαáΘáÑΓ αẼÑα ¡á¿í«½∞ΦÑú« ¡Ñ»αÑαδó¡«ú«
ßó«í«ñ¡«ú« í½«¬á ¬πτ¿, ß««ΓóÑΓßΓóπεΘÑ⌐ αẼÑαπ
¡á¿í«½∞ΦÑ⌐ ñ¿¡á¼¿τÑ߬«⌐ »ÑαѼѡ¡«⌐, ¬«Γ«αá∩ ¼«ªÑΓ
íδΓ∞ αáß»αÑñѽѡá ó ¼«¼Ñ¡Γ ó맮óá MaxAvail
MemAvail 髺óαáΘáÑΓ ¬«½¿τÑßΓó« ¿¼ÑεΘ¿σß∩ ó ¬πτÑ ßó«í«ñ¡δσ
íá⌐Γ
───────────────────────────────────────────────────────────────────
öπ¡¬µ¿¿ »αÑ«íαẫóá¡¿∩.
Åα«µÑñπαδ Pack ¿ UnPack, «»αÑñѽѡ¡δÑ ó ßΓá¡ñáαΓ¡«¼ Åá߬á½Ñ, ó
Turbo Pascal ¡Ñ αÑ὿º«óá¡δ.
───────────────────────────────────────────────────────────────────
öπ¡¬µ¿∩ Ä»¿ßá¡¿Ñ
───────────────────────────────────────────────────────────────────
Chr 髺óαáΘáÑΓ ß¿¼ó«½ ß ºáñá¡¡δ¼ »«α∩ñ¬«óδ¼ ¡«¼Ñα«¼
Ord 髺óαáΘáÑΓ »«α∩ñ¬«óδ⌐ ¡«¼Ñα, ¿¼ÑεΘ¿⌐ º¡áτÑ¡¿Ñ
»«α∩ñ¬«ó«ú« Γ¿»á
Round Ĭαπú½∩ÑΓ º¡áτÑ¡¿Ñ óÑΘÑßΓóÑ¡¡«ú« Γ¿»á ñ« º¡áτÑ¡¿∩ Γ¿»á
LongInt
Trunc ôßѬáÑΓ º¡áτÑ¡¿Ñ óÑΘÑßΓóÑ¡¡«ú« Γ¿»á ñ« º¡áτÑ¡¿∩ Γ¿»á
LongInt
───────────────────────────────────────────────────────────────────
Çα¿Σ¼ÑΓ¿τÑ߬¿Ñ Σπ¡¬µ¿¿.
Åα¿¼Ñτá¡¿Ñ: Åα¿ ¬«¼»¿½∩µ¿¿ ó αѪ¿¼Ñ τ¿ß½«ó«ú« ß«»α«µÑßß«αá, {$
N+}, ó«ºóαáΘáѼδÑ º¡áτÑ¡¿∩ ó »α«úαá¼¼áσ ß »½áóáεΘÑ⌐ Γ«τ¬«⌐ ó ¼«ñπ½Ñ
System (Sqrt, Pi, Sin ¿ Γ.ñ.) ¿¼ÑεΓ Γ¿» àxtended ó¼ÑßΓ« Real.
───────────────────────────────────────────────────────────────────
öπ¡¬µ¿∩ Ä»¿ßá¡¿Ñ
───────────────────────────────────────────────────────────────────
Abs 髺óαáΘáÑΓ áíß«½εΓ¡«Ñ º¡áτÑ¡¿Ñ áαúπ¼Ñ¡Γá
ArcTan 髺óαáΘáÑΓ áα¬Γá¡úÑ¡ß áαúπ¼Ñ¡Γá
Cos 髺óαáΘáÑΓ ¬«ß¿¡πß áαúπ¼Ñ¡Γá
Exp 髺óαáΘáÑΓ φ¬ß»«¡Ñ¡Γπ áαúπ¼Ñ¡Γá
Frac 髺óαáΘáÑΓ ñα«í¡πε τáßΓ∞ áαúπ¼Ñ¡Γá
Int 髺óαáΘáÑΓ µÑ½πε τáßΓ∞ áαúπ¼Ñ¡Γá
Ln 髺óαáΘáÑΓ ¡áΓπαá½∞¡δ⌐ ½«úáα¿Σ¼ áαúπ¼Ñ¡Γá
Pi 髺óαáΘáÑΓ º¡áτÑ¡¿Ñ τ¿ß½á Pi
{3.1415926535897932385}
Sin 髺óαáΘáÑΓ ß¿¡πß áαúπ¼Ñ¡Γá
Sqr 髺óαáΘáÑΓ áαúπ¼Ñ¡Γ ó ¬óáñαáΓÑ
Sqrt 髺óαáΘáÑΓ ¬óáñαáΓ¡δ⌐ ¬«αÑ¡∞ áαúπ¼Ñ¡Γá
───────────────────────────────────────────────────────────────────
Åα«µÑñπαδ »«α∩ñ¬«ó«ú« Γ¿»á.
───────────────────────────────────────────────────────────────────
Åα«µÑñπαá Ä»¿ßá¡¿Ñ
───────────────────────────────────────────────────────────────────
Dec ô¼Ñ¡∞ΦáÑΓ º¡áτÑ¡¿Ñ »ÑαѼѡ¡«⌐
Inc ôóѽ¿τ¿óáÑΓ º¡áτÑ¡¿Ñ »ÑαѼѡ¡«⌐
───────────────────────────────────────────────────────────────────
öπ¡¬µ¿¿ »«α∩ñ¬«ó«ú« Γ¿»á.
───────────────────────────────────────────────────────────────────
öπ¡¬µ¿∩ Ä»¿ßá¡¿Ñ
───────────────────────────────────────────────────────────────────
Odd Åα«óÑα∩ÑΓ, ∩ó½∩ÑΓß∩ ½¿ áαúπ¼Ñ¡Γ ¡ÑτÑΓ¡δ¼ τ¿ß½«¼
Pred 髺óαáΘáÑΓ »αÑñΦÑßΓóπεΘÑÑ º¡áτÑ¡¿Ñ áαúπ¼Ñ¡Γá
Succ 髺óαáΘáÑΓ Ñú« »«ß½ÑñπεΘÑÑ º¡áτÑ¡¿Ñ
───────────────────────────────────────────────────────────────────
æΓ᫬«óδÑ »α«µÑñπαδ.
───────────────────────────────────────────────────────────────────
Åα«µÑñπαá Ä»¿ßá¡¿Ñ
───────────────────────────────────────────────────────────────────
Delete ôñá½∩ÑΓ »«ñßΓα«¬π ¿º ßΓ᫬¿
Insert éßΓáó½∩ÑΓ »«ñßΓ᫬π ó ßΓ᫬π
Str ÅαÑ«íαáºπÑΓ τ¿ß½Ñ¡¡«Ñ º¡áτÑ¡¿Ñ ó Ñú« ßΓ᫬«ó«Ñ
»αÑñßΓáó½Ñ¡¿Ñ
Val ÅαÑ«íαáºπÑΓ ßΓ᫬«ó«Ñ º¡áτÑ¡¿Ñ ó Ñú« τ¿ß½Ñ¡¡«Ñ
»αÑñßΓáó½Ñ¡¿Ñ
───────────────────────────────────────────────────────────────────
æΓ᫬«óδÑ Σπ¡¬µ¿¿.
───────────────────────────────────────────────────────────────────
öπ¡¬µ¿∩ Ä»¿ßá¡¿Ñ
───────────────────────────────────────────────────────────────────
Concat éδ»«½¡∩ÑΓ ¬«¡¬áΓÑ¡áµ¿ε »«ß½Ññ«óáΓѽ∞¡«ßΓ¿ ßΓ᫬
Copy 髺óαáΘáÑΓ »«ñßΓα«¬π ¿º ßΓ᫬¿
Length 髺óαáΘáÑΓ ñ¿¡á¼¿τÑ߬πε ñ½¿¡π ßΓ᫬¿
Pos Åα«¿ºó«ñ¿Γ »«¿ß¬ »«ñßΓ᫬¿ ó ßΓ᫬Ñ
───────────────────────────────────────────────────────────────────
öπ¡¬µ¿¿ ñ½∩ αáí«Γδ ß π¬áºáΓѽ∩¼¿ ¿ áñαÑßἿ.
───────────────────────────────────────────────────────────────────
öπ¡¬µ¿∩ Ä»¿ßá¡¿Ñ
───────────────────────────────────────────────────────────────────
Addr 髺óαáΘáÑΓ áñαÑß ºáñá¡¡«ú« «íΩѬΓá
CSeg 髺óαáΘáÑΓ ΓѬπΘÑÑ º¡áτÑ¡¿Ñ αÑú¿ßΓαá CS
DSeg 髺óαáΘáÑΓ ΓѬπΘÑÑ º¡áτÑ¡¿Ñ αÑú¿ßΓαá DS
Ofs 髺óαáΘáÑΓ ß¼ÑΘÑ¡¿Ñ ºáñá¡¡«ú« «íΩѬΓá
Ptr ÅαÑ«íαáºπÑΓ íẫóδ⌐ áñαÑß ßÑú¼Ñ¡Γá ¿ ß¼ÑΘÑ¡¿Ñ ó º¡áτÑ¡¿Ñ
Γ¿»á π¬áºáΓѽ∞
Seg 髺óαáΘáÑΓ ßÑú¼Ñ¡Γ ñ½∩ ºáñá¡¡«ú« «íΩѬΓá
SPtr 髺óαáΘáÑΓ ΓѬπΘÑÑ º¡áτÑ¡¿Ñ αÑú¿ßΓαá SP
SSeg 髺óαáΘáÑΓ ΓѬπΘÑÑ º¡áτÑ¡¿Ñ αÑú¿ßΓαá SS
───────────────────────────────────────────────────────────────────
äαπú¿Ñ »α«µÑñπαδ.
───────────────────────────────────────────────────────────────────
Åα«µÑñπαá Ä»¿ßá¡¿Ñ
───────────────────────────────────────────────────────────────────
FillChar çừ½¡∩ÑΓ ºáñá¡¡«Ñ τ¿ß½« »«ß½Ññ«óáΓѽ∞¡δσ íá⌐Γ
π¬áºá¡¡δ¼ º¡áτÑ¡¿Ñ¼
Move è«»¿απÑΓ ºáñá¡¡«Ñ τ¿ß½« »«ß½Ññ«óáΓѽ∞¡δσ íá⌐Γ
¿º ¿ßΓ«τ¡¿¬á ó ¡áº¡áτÑ¡¿Ñ
Randomize ê¡¿µ¿á½¿º¿απÑΓ ß½πτá⌐¡δ¼ º¡áτÑ¡¿Ñ¼ óßΓα«Ñ¡¡δ⌐
úÑ¡ÑαáΓ«α ß½πτá⌐¡δσ τ¿ßѽ
───────────────────────────────────────────────────────────────────
äαπú¿Ñ Σπ¡¬µ¿¿.
───────────────────────────────────────────────────────────────────
öπ¡¬µ¿∩ Ä»¿ßá¡¿Ñ
───────────────────────────────────────────────────────────────────
Hi 髺óαáΘáÑΓ ßΓáαΦ¿⌐ íá⌐Γ áαúπ¼Ñ¡Γá
Lo 髺óαáΘáÑΓ ¼½áñΦ¿⌐ íá⌐Γ áαúπ¼Ñ¡Γá
ParamCount 髺óαáΘáÑΓ τ¿ß½« »áαá¼ÑΓα«ó, »ÑαÑñá¡¡δσ »α«úαá¼¼Ñ
ó ¬«¼á¡ñ¡«⌐ ßΓ᫬Ñ
ParamStr 髺óαáΘáÑΓ ºáñá¡¡δ⌐ »áαá¼ÑΓα ¬«¼á¡ñ¡«⌐ ßΓ᫬¿
Random 髺óαáΘáÑΓ ß½πτá⌐¡«Ñ τ¿ß½«
SizeOf 髺óαáΘáÑΓ τ¿ß½« íá⌐Γ, ºá¡¿¼áѼδσ áαúπ¼Ñ¡Γ«¼
Swap Åα«¿ºó«ñ¿Γ »ÑαÑßΓá¡«ó¬π ßΓáαΦ¿σ ¿ ¼½áñΦ¿σ íá⌐Γ
áαúπ¼Ñ¡Γá
UpCase ÅαÑ«íαáºπÑΓ ß¿¼ó«½ ó »α«»¿ß¡«⌐
───────────────────────────────────────────────────────────────────
éó«ñ ¿ óδó«ñ.
é ñá¡¡«¼ αáºñÑ½Ñ ¬αáΓ¬« «»¿ßδóáεΓß∩ ßΓá¡ñáαΓ¡δÑ (óßΓα«Ñ¡¡δÑ)
Σπ¡¬µ¿¿ ¿ »α«µÑñπαδ óó«ñá-óδó«ñá Turbo Pascal. ä½∩ í«½ÑÑ ñÑΓá½∞¡«⌐
¿¡Σ«α¼áµ¿¿ ß¼. ú½áóπ 19.
éóÑñÑ¡¿Ñ ó« óó«ñ/óδó«ñ.
öá⌐½«óá∩ »ÑαѼѡ¡á∩ ó Åá߬á½Ñ - φΓ« ½εíá∩ »ÑαѼѡ¡á∩ Σá⌐½«ó«ú«
Γ¿»á. é Åá߬á½Ñ ¿¼ÑεΓß∩ Γα¿ ¬½áßßá Σá⌐½«ó : Γ¿»¿α«óá¡¡δ⌐ Σá⌐½,
ΓѬßΓ«óδ⌐ Σá⌐½, ¡ÑΓ¿»¿α«óá¡¡δ⌐ Σá⌐½.
ÅÑαÑñ ¿ß»«½∞º«ó᡿Ѽ Σá⌐½«ó«⌐ »ÑαѼѡ¡«⌐ «¡á ñ«½ª¡á íδΓ∞
ßó∩ºá¡á ß ó¡ÑΦ¡¿¼ Σá⌐½«¼ ß »«¼«Θ∞ε ó맮óá »α«µÑñπαδ Assign. é¡ÑΦ¡¿¼
Σá⌐½«¼ «íδτ¡« ∩ó½∩ÑΓß∩ »«¿¼Ñ¡¡«óá¡¡δ⌐ Σá⌐½ ¡á ñ¿ß¬Ñ, ¡« «¡ ΓᬪÑ
¼«ªÑΓ »αÑñßΓáó½∩Γ∞ ß«í«⌐ πßΓα«⌐ßΓó«, ¬á¬ ¡á»α¿¼Ñα, ¬½áó¿áΓπαπ ¿½¿
ñ¿ß»½Ñ⌐. é« ó¡ÑΦ¡¿σ Σá⌐½áσ ß«σαá¡∩ÑΓß∩ ºá»¿ßá¡¡á∩ ó Σá⌐½
¿¡Σ«α¼áµ¿∩, ¿½¿ «¡¿ ß½πªáΓ ¿ßΓ«τ¡¿¬á¼¿ ¿¡Σ«α¼áµ¿¿, ¬«Γ«αá∩
ßτ¿ΓδóáÑΓß∩ ¿º Σá⌐½á.
è«úñá ßó∩º∞ ß ó¡ÑΦ¡¿¼ Σá⌐½«¼ πßΓá¡«ó½Ñ¡á, ñ½∩ »«ñú«Γ«ó¬¿ ÑÑ ¬
«»Ñαᵿ¿ óó«ñá ¿½¿ óδó«ñá Σá⌐½«óá∩ »ÑαѼѡ¡á∩ ñ«½ª¡á íδΓ∞
"«Γ¬αδΓá". æπΘÑßΓóπεΘ¿⌐ Σá⌐½ ¼«ª¡« «Γ¬αδΓ∞ ß »«¼«Θ∞ε »α«µÑñπαδ
Reset, á ¡«óδ⌐ Σá⌐½ ¼«ª¡« ß«ºñáΓ∞ ¿ «Γ¬αδΓ∞ ß »«¼«Θ∞ε »α«µÑñπαδ
Rewrite. ÆѬßΓ«óδÑ Σá⌐½δ, «Γ¬αδΓδÑ ß »«¼«Θ∞ε »α«µÑñπαδ Reset,
ñ«ßΓπ»¡δ Γ«½∞¬« ñ½∩ τΓÑ¡¿∩, á ΓѬßΓ«óδÑ Σá⌐½δ, «Γ¬αδΓδÑ ß »«¼«Θ∞ε
»α«µÑñπαδ Rewrite ¿ Append, ñ«ßΓπ»¡δ Γ«½∞¬« ñ½∩ ºá»¿ß¿.
Æ¿»¿α«óá¡¡δÑ ¿ ¡ÑΓ¿»¿α«óá¡¡δÑ Σá⌐½δ óßÑúñá ñ«»π߬áεΓ ¬á¬ τΓÑ¡¿Ñ,
Γᬠ¿ ºá»¿ß∞, ¡Ñºáó¿ß¿¼« «Γ Γ«ú«, í뫨 «¡¿ «Γ¬αδΓδ ß »«¼«Θ∞ε
»α«µÑñπαδ Reset ¿½¿ ß »«¼«Θ∞ε »α«µÑñπαδ Rewrite.
è«úñá ¡áτ¿¡áÑΓß∩ óδ»«½¡Ñ¡¿Ñ »α«úαá¼¼δ, óßÑúñá áóΓ«¼áΓ¿τÑ߬¿
«Γ¬αδóáεΓß∩ ßΓá¡ñáαΓ¡δÑ ΓѬßΓ«óδÑ Σá⌐½«óδÑ »ÑαѼѡ¡δÑ Input ¿
Output (óó«ñ ¿ óδó«ñ). Input - φΓ« ñ«ßΓπ»¡δ⌐ Γ«½∞¬« ñ½∩ τΓÑ¡¿∩
Σá⌐½, ßó∩ºá¡δ⌐ ß ¬½áó¿áΓπα«⌐, á Output - φΓ« ñ«ßΓπ»¡δ⌐ Γ«½∞¬« ñ½∩
ºá»¿ß¿ Σá⌐½, ßó∩ºá¡¡δ⌐ ß ñ¿ß»½ÑѼ.
ïεí«⌐ Σá⌐½ »αÑñßΓáó½∩ÑΓ ß«í«⌐ ½¿¡Ñ⌐¡πε »«ß½Ññ«óáΓѽ∞¡«ßΓ∞
φ½Ñ¼Ñ¡Γ«ó, ¬áªñδ⌐ ¿º ¬«Γ«αδσ ¿¼ÑÑΓ ß½«ª¡δ⌐ Γ¿» (¿½¿ Γ¿» ºá»¿ß¿)
Σá⌐½á. èáªñδ⌐ φ½Ñ¼Ñ¡Γ Σá⌐½á ¿¼ÑÑΓ ¡«¼Ñα. ÅÑαóδ⌐ φ½Ñ¼Ñ¡Γ Σá⌐½á
ßτ¿ΓáÑΓß∩ ¡π½Ñóδ¼ φ½Ñ¼Ñ¡Γ«¼.
Äíδτ¡« ñ«ßΓπ» ¬ Σá⌐½á¼ «αúá¡¿ºπÑΓß∩ »«ß½Ññ«óáΓѽ∞¡«, Γ« ÑßΓ∞,
¬«úñá φ½Ñ¼Ñ¡Γ ßτ¿ΓδóáÑΓß∩ ß »«¼«Θ∞ε ßΓá¡ñáαΓ¡«⌐ »α«µÑñπαδ Read ¿½¿
ºá»¿ßδóáÑΓß∩ ß »«¼«Θ∞ε ßΓá¡ñáαΓ¡«⌐ »α«µÑñπαδ Write, ΓѬπΘá∩ »«º¿µ¿∩
Σá⌐½á »ÑαѼÑΘáÑΓß∩ ¬ ß½ÑñπεΘÑ¼π »« »«α∩ñ¬π φ½Ñ¼Ñ¡Γπ Σá⌐½á. Äñ¡á¬« ¬
Γ¿»¿α«óá¡¡δ¼ ¿ ¡ÑΓ¿»¿α«óá¡¡δ¼ Σá⌐½á¼ ¼«ª¡« «αúá¡¿º«óáΓ∞ »α∩¼«⌐
ñ«ßΓπ» ß »«¼«Θ∞ε ßΓá¡ñáαΓ¡«⌐ »α«µÑñπαδ Seek, ¬«Γ«αá∩ »ÑαѼÑΘáÑΓ
ΓѬπΘπε »«º¿µ¿ε Σá⌐½á ¬ ºáñá¡¡«¼π φ½Ñ¼Ñ¡Γπ. ÆѬπΘπε »«º¿µ¿ε ó Σá⌐½Ñ
¿ ΓѬπΘ¿⌐ αẼÑα Σá⌐½á ¼«ª¡« «»αÑñѽ¿Γ∞ ß »«¼«Θ∞ε ßΓá¡ñáαΓ¡δσ
Σπ¡¬µ¿⌐ FilePos ¿ FileSize.
è«úñá »α«úαá¼¼á ºáóÑαΦ¿Γ «íαáí«Γ¬π Σá⌐½á, «¡ ñ«½ªÑ¡
ºá¬αδóáΓ∞ß∩ ß »«¼«Θ∞ε ßΓá¡ñáαΓ¡«⌐ »α«µÑñπαδ Close. Å«ß½Ñ »«½¡«ú«
ºá¬αδΓ¿∩ Σá⌐½á, ßó∩ºá¡¡δ⌐ ß ¡¿¼ ó¡ÑΦ¡¿⌐ Σá⌐½ «í¡«ó½∩ÑΓß∩. çáΓѼ
Σá⌐½«óá∩ »ÑαѼѡ¡á∩ ¼«ªÑΓ íδΓ∞ ßó∩ºá¡á ß ñαπú¿¼ ó¡ÑΦ¡¿¼ Σá⌐½«¼.
Å« π¼«½τá¡¿ε, »α¿ óßÑσ «íαáΘÑ¡¿∩σ ¬ ßΓá¡ñáαΓ¡δ¼ Σπ¡¬µ¿∩¼ ¿
»α«µÑñπαá¼ óó«ñá/óδó«ñá áóΓ«¼áΓ¿τÑ߬¿ »α«¿ºó«ñ¿Γß∩ »α«óÑα¬á ¡á
¡á½¿τ¿Ñ «Φ¿í«¬. Åα¿ «í¡áαπªÑ¡¿¿ «Φ¿í¬¿ »α«úαá¼¼á »αѬαáΘáÑΓ αáí«Γπ
¿ óδó«ñ¿Γ ¡á φ¬αá¡ ß««íΘÑ¡¿Ñ «í «Φ¿í¬Ñ. æ »«¼«Θ∞ε ñ¿αÑ¬Γ¿ó
¬«¼»¿½∩Γ«αá {$I+} ¿ {$I-} φΓπ áóΓ«¼áΓ¿τÑ߬πε »α«óÑα¬π ¼«ª¡«
ó¬½ετ¿Γ∞ ¿½¿ ó䬽ετ¿Γ∞. è«úñá áóΓ«¼áΓ¿τÑ߬á∩ »α«óÑα¬á «Γ¬½ετÑ¡á, Γ«
ÑßΓ∞ ¬«úñá »α«µÑñπαá ¿½¿ Σπ¡¬µ¿∩ íδ½á ߬«¼»¿½¿α«óá¡á ß ñ¿αÑ¬Γ¿ó«⌐
{$I-}, «Φ¿í¬¿ óó«ñá/óδó«ñá, 󫺡¿¬áεΘ¿Ñ »α¿ αáí«ΓÑ »α«úαá¼¼δ, ¡Ñ
»α¿ó«ñ∩Γ ¬ ÑÑ «ßΓá¡«óπ. Åα¿ φΓ«¼, τΓ«íδ »α«óÑα¿Γ∞ αѺπ½∞ΓáΓ
óδ»«½¡Ñ¡¿∩ «»Ñαᵿ¿ óó«ñá/óδó«ñá, ¡πª¡« ¿ß»«½∞º«óáΓ∞ ßΓá¡ñáαΓ¡πε
Σπ¡¬µ¿ε IOResult.
Åα«µÑñπαδ é/é.
───────────────────────────────────────────────────────────────────
Åα«µÑñπαá Ä»¿ßá¡¿Ñ
───────────────────────────────────────────────────────────────────
Assign Åα¿ßóá¿óáÑΓ ¿¼∩ ó¡ÑΦ¡Ñú« Σá⌐½á Σá⌐½«ó«⌐ »ÑαѼѡ¡«⌐
ChDir îÑ¡∩ÑΓ ΓѬπΘ¿⌐ ß»αáó«τ¡¿¬
Close çá¬αδóáÑΓ «Γ¬αδΓδ⌐ Σá⌐½
Erase ôñá½∩ÑΓ ó¡ÑΦ¡¿⌐ Σá⌐½
GetDir 髺óαáΘáÑΓ ΓѬπΘ¿⌐ ß»αáó«τ¡¿¬ ¡á ºáñá¡¡«¼ ñ¿ß¬Ñ
MkDir 櫺ñáÑΓ »«ñß»αáó«τ¡¿¬
Rename ÅÑαÑ¿¼Ñ¡«óδóáÑΓ ó¡ÑΦ¡¿⌐ Σá⌐½
Reset ÄΓ¬αδóáÑΓ ßπΘÑßΓóπεΘ¿⌐ Σá⌐½
Rewrite 櫺ñáÑΓ ¿ «Γ¬αδóáÑΓ ¡«óδ⌐ Σá⌐½
RmDir ôñá½∩ÑΓ »πßΓ«⌐ »«ñß»αáó«τ¡¿¬
Seek ÅÑαÑñó¿úáÑΓ ΓѬπΘπε »«º¿µ¿ε Σá⌐½á ¡á π¬áºá¡¡πε
¬«¼»«¡Ñ¡Γπ (¡Ñ ¿ß»«½∞ºπÑΓß∩ ß ΓѬßΓ«ó묨 Σá⌐½á¼¿).
Truncate ôßѬáÑΓ αẼÑα Σá⌐½á ñ« ΓѬπΘÑ⌐ »«º¿µ¿¿ ó Σá⌐½Ñ.
(ìÑ ¿ß»«½∞ºπÑΓß∩ ß ΓѬßΓ«ó묨 Σá⌐½á¼¿)
───────────────────────────────────────────────────────────────────
öπ¡¬µ¿¿ é/é.
───────────────────────────────────────────────────────────────────
öπ¡¬µ¿∩ Ä»¿ßá¡¿Ñ
───────────────────────────────────────────────────────────────────
Eof 髺óαáΘáÑΓ ñ½∩ Σá⌐½á ß«ßΓ«∩¡¿Ñ end-of-file (¬«¡Ñµ
Σá⌐½á)
FilePos 髺óαáΘáÑΓ ΓѬπΘπε »«º¿µ¿ε ó Σá⌐½Ñ.
(ìÑ ¿ß»«½∞ΓºπÑΓß∩ ß ΓѬßΓ«ó묨 Σá⌐½á¼¿)
FileSize 髺óαáΘáÑΓ ΓѬπΘ¿⌐ αẼÑα Σá⌐½á.
(ìÑ ¿ß»«½∞ΓºπÑΓß∩ ß ΓѬßΓ«ó묨 Σá⌐½á¼¿)
IOResult 髺óαáΘáÑΓ µÑ½«Ñ º¡áτÑ¡¿Ñ, ∩ó½∩εΘÑÑß∩ ß«ßΓ«∩¡¿Ñ¼
»«ß½Ññ¡Ñ⌐ óδ»«½¡Ñ¡¡«⌐ «»Ñαᵿ¿ óó«ñá/óδó«ñá.
───────────────────────────────────────────────────────────────────
ÆѬßΓ«óδÑ Σá⌐½δ.
é φΓ«¼ αáºñÑ½Ñ «»¿ßδóáεΓß∩ «»Ñαᵿ¿ óó«ñá/óδó«ñá, ¿ß»«½∞ºπεΘ¿Ñ
Σá⌐½«óπε »ÑαѼѡ¡πε ßΓá¡ñáαΓ¡«ú« Γ¿»á Text. çá¼ÑΓ¿¼, τΓ« ó
Turbo Pascal Γ¿» Text «Γ½¿τáÑΓß∩ «Γ Γ¿»á file of char.
Åα¿ «Γ¬αδΓ¿¿ ΓѬßΓ«ó«ú« Σá⌐½á ó¡ÑΦ¡¿⌐ Σá⌐½ ¿¡ΓÑα»αÑΓ¿απÑΓß∩
«ß«íδ¼ «íαẫ¼: ßτ¿ΓáÑΓß∩, τΓ« «¡ »αÑñßΓáó½∩ÑΓ ß«í«⌐
»«ß½Ññ«óáΓѽ∞¡«ßΓ∞ ß¿¼ó«½«ó, ßúαπ»»¿α«óá¡¡δσ ó ßΓ᫬¿, úñÑ ¬áªñá∩
ßΓα«¬á ºá¬á¡τ¿óáÑΓß∩ ß¿¼ó«½«¼ ¬«¡µá ßΓ᫬¿ (end of line), ¬«Γ«αδ⌐
»αÑñßΓáó½∩ÑΓ ß«í«⌐ ß¿¼ó«½ »ÑαÑó«ñá ¬áαÑΓ¬¿, ºá ¬«Γ«αδ¼, 󫺼«ª¡«,
ß½ÑñπÑΓ ß¿¼ó«½ »ÑαÑó«ñá ßΓ᫬¿.
ä½∩ ΓѬßΓ«óδσ Σá⌐½«ó ßπΘÑßΓóπÑΓ ß»Ñµ¿á½∞¡δ⌐ ó¿ñ «»Ñαᵿ⌐
τΓÑ¡¿∩ ¿ ºá»¿ß¿ (Read ¿ Write), ¬«Γ«αδÑ »«ºó«½∩εΓ óá¼ ßτ¿ΓδóáΓ∞ ¿
ºá»¿ßδóáΓ∞ º¡áτÑ¡¿∩, Γ¿» ¬«Γ«αδσ «Γ½¿τáÑΓß∩ «Γ Γ¿»á Char. ÆᬿÑ
º¡áτÑ¡¿∩ áóΓ«¼áΓ¿τÑ߬¿ »ÑαÑó«ñ∩Γß∩ ó ß¿¼ó«½∞¡«Ñ »αÑñßΓáó½Ñ¡¿Ñ ¿
«íαáΓ¡«. ìá»α¿¼Ñα, Read(F, i), úñÑ i - »ÑαѼѡ¡á∩ µÑ½«ú« Γ¿»á,
»α¿óÑñÑΓ ¬ ßτ¿Γδóá¡¿ε »«ß½Ññ«óáΓѽ∞¡«ßΓ¿ µ¿Σα, ¿¡ΓÑα»αÑΓᵿ¿ φΓ«⌐
»«ß½Ññ«óáΓѽ∞¡«ßΓ¿, ¬á¬ ñÑß∩Γ¿τ¡«ú« τ¿ß½á, ¿ ß«σαá¡Ñ¡¿ε Ñú« ó i.
èᬠí佫 «Γ¼ÑτÑ¡« αá¡ÑÑ, ¿¼ÑεΓß∩ ñóÑ ßΓá¡ñáαΓ¡δÑ »ÑαѼѡ¡δÑ
ΓѬßΓ«ó«ú« Γ¿»á - Input ¿ Output. æΓá¡ñáαΓ¡á∩ Σá⌐½«óá∩ »ÑαѼѡ¡á∩
Input - φΓ« ñ«ßΓπ»¡δ⌐ Γ«½∞¬« ñ½∩ τΓÑ¡¿∩ Σá⌐½, ßó∩ºá¡¡δ⌐ ß«
ßΓá¡ñáαΓ¡δ¼ Σá⌐½«¼ óó«ñá «»Ñαᵿ«¡¡«⌐ ß¿ßΓѼδ («íδτ¡« φΓ«
¬½áó¿áΓπαá), á ßΓá¡ñáαΓ¡á∩ Σá⌐½«óá∩ »ÑαѼѡ¡á∩ Output - φΓ«
ñ«ßΓπ»¡δ⌐ Γ«½∞¬« ñ½∩ ºá»¿ß¿ Σá⌐½, ßó∩ºá¡¡δ⌐ ß« ßΓá¡ñáαΓ¡δ¼ Σá⌐½«¼
óδó«ñá «»Ñαᵿ«¡¡«⌐ ß¿ßΓѼδ («íδτ¡« φΓ« ñ¿ß»½Ñ⌐). ÅÑαÑñ ¡áτὫ¼
óδ»«½¡Ñ¡¿∩ »α«úαá¼¼δ Σá⌐½δ Input ¿ Output áóΓ«¼áΓ¿τÑ߬¿
«Γ¬αδóáεΓß∩, ¬á¬ Ñß½¿ íδ í뫨 óδ»«½¡Ñ¡δ ß½ÑñπεΘ¿Ñ «»ÑαáΓ«αδ :
Assign(Input,''); Reset(Input);
Assign(Output,''); Rewrite(Output);
ǡὫú¿τ¡«, »«ß½Ñ óδ»«½¡Ñ¡¿∩ »α«úαá¼¼δ φΓ¿ Σá⌐½δ áóΓ«¼áΓ¿τÑ߬¿
ºá¬αδóáεΓß∩.
àß½¿ »α«úαá¼¼á ¿ß»«½∞ºπÑΓ ßΓá¡ñáαΓ¡δ⌐ ¼«ñπ½∞ Crt, Γ« Σá⌐½δ
Input ¿ Output ¡Ñ íπñπΓ »« π¼«½τá¡¿ε «Γ¡«ß¿Γ∞ß∩ ¬ ßΓá¡ñáαΓ¡δ¼
Σá⌐½á¼ óó«ñá/óδó«ñá.
ä½∩ ¡Ñ¬«Γ«αδσ ßΓá¡ñáαΓ¡δσ »α«µÑñπα, ß»¿ß«¬ ¬«Γ«αδσ »α¿óÑñÑ¡ ó
ñá¡¡«¼ αáºñѽÑ, ¡Ñ ΓαÑíπÑΓß∩ ∩ó¡« π¬áºδóáΓ∞ ó ¬áτÑßΓóÑ »áαá¼ÑΓαá
Σá⌐½«óπε »ÑαѼѡ¡πε. àß½¿ φëà »áαá¼ÑΓα «»πΘÑ¡, Γ« »« π¼«½τá¡¿ε
íπñπΓ αáßß¼áΓα¿óáΓ∞ß∩ Input ¿ Output, ó ºáó¿ß¿¼«ßΓ¿ «Γ Γ«ú«, íπñÑΓ
½¿ »α«µÑñπαá ¿½¿ Σπ¡¬µ¿∩ «α¿Ñ¡Γ¿α«óá¡á ¡á óó«ñ ¿½¿ óδó«ñ. ìá»α¿¼Ñα,
Read(ò) ß««ΓóÑΓßΓóπÑΓ Read(Input,ò) ¿ Write(ò) ß««ΓóÑΓßΓóπÑΓ
Write(Output,ò).
àß½¿ »α¿ ó맮óÑ «ñ¡«⌐ ¿º »α«µÑñπα ¿½¿ Σπ¡¬µ¿⌐ ¿º φΓ«ú« αáºñѽá
óδ ºáñáÑΓÑ Σá⌐½, φëà Σá⌐½ ñ«½ªÑ¡ íδΓ∞ ßó∩ºá¡ ß ó¡ÑΦ¡¿¼ Σá⌐½«¼ ß
»«¼«Θ∞ε »α«µÑñπαδ Assign ¿ «Γ¬αδΓ ß »«¼«Θ∞ε »α«µÑñπαδ Reset,
Rewrite, ¿½¿ Append. àß½¿ ñ½∩ «α¿Ñ¡Γ¿α«óá¡¡«⌐ ¡á óδó«ñ »α«µÑñπαδ
¿½¿ Σπ¡¬µ¿¿ éδ π¬áºδóáÑΓÑ ¡á Σá⌐½, ¬«Γ«αδ⌐ íδ½ «Γ¬αδΓ ß »«¼«Θ∞ε
»α«µÑñπαδ Reset, Γ« óδóÑñÑΓß∩ ß««íΘÑ¡¿Ñ «í «Φ¿í¬Ñ.
ǡὫú¿τ¡«, íπñÑΓ «Φ¿í¬«⌐ ºáñáóáΓ∞ ñ½∩ «α¿Ñ¡Γ¿α«óá¡¡«⌐ ¡á óó«ñ
»α«µÑñπαδ ¿½¿ Σπ¡¬µ¿¿ Σá⌐½, «Γ¬αδΓδ⌐ ß »«¼«Θ∞ε »α«µÑñπα Rewrite ¿½¿
Append .
Åα«µÑñπαδ:
───────────────────────────────────────────────────────────────────
Åα«µÑñπαá Ä»¿ßá¡¿Ñ
───────────────────────────────────────────────────────────────────
Append ÄΓ¬αδóáÑΓ ßπΘÑßΓóπεΘ¿⌐ Σá⌐½ ñ½∩ ñ«íáó½Ñ¡¿∩
Flush éδΓὬ¿óáÑΓ íπΣÑα Σá⌐½á óδó«ñá
Read æτ¿ΓδóáÑΓ «ñ¡« ¿½¿ í«½ÑÑ º¡áτÑ¡¿⌐ ¿º ΓѬßΓ«ó«ú«
Σá⌐½á ó «ñ¡π ¿½¿ í«½ÑÑ »ÑαѼѡ¡δσ
Readln éδ»«½¡∩ÑΓ ΓÑ ªÑ ñÑ⌐ßΓó¿∩, τΓ« ¿ Read, á »«Γ«¼
ñѽáÑΓ »α«»π߬ ñ« ¡áτá½á ß½ÑñπεΘÑ⌐ ßΓ᫬¿ Σá⌐½á
SetTextBuf ìạáτáÑΓ íπΣÑα óó«ñá/óδó«ñá ñ½∩ ΓѬßΓ«ó«ú« Σá⌐½á
Write çỿßδóáÑΓ ó ΓѬßΓ«óδ⌐ Σá⌐½ «ñ¡« ¿½¿ í«½ÑÑ
º¡áτÑ¡¿⌐
Writeln éδ»«½¡∩ÑΓ ΓÑ ªÑ ñÑ⌐ßΓó¿∩, τΓ« ¿ Write, á ºáΓѼ ñ«-
íáó½∩ÑΓ ¬ Σá⌐½π ¼áα¬Ñα ¬«¡µá ßΓ᫬¿
───────────────────────────────────────────────────────────────────
öπ¡¬µ¿¿:
───────────────────────────────────────────────────────────────────
öπ¡¬µ¿∩ Ä»¿ßá¡¿Ñ
───────────────────────────────────────────────────────────────────
Eoln 髺óαáΘáÑΓ ñ½∩ Σá⌐½á ß«ßΓ«∩¡¿Ñ end-of-line (¬«¡Ñµ
ßΓ᫬¿)
SeekEof 髺óαáΘáÑΓ ñ½∩ Σá⌐½á ß«ßΓ«∩¡¿Ñ end-of-file (¬«¡Ñµ
Σá⌐½á)
SeekEoln 髺óαáΘáÑΓ ñ½∩ Σá⌐½á ß«ßΓ«∩¡¿Ñ end-of-line (¬«¡Ñµ
ßΓ᫬¿)
───────────────────────────────────────────────────────────────────
ìÑΓ¿»¿α«óá¡¡δÑ Σá⌐½δ.
ìÑΓ¿»¿α«óá¡¡δÑ Σá⌐½δ »αÑñßΓáó½∩εΓ ß«í«⌐ ¬á¡á½δ óó«ñá/óδó«ñá
¡¿ª¡Ñú« πα«ó¡∩, ¿ß»«½∞ºπѼδÑ ó «ß¡«ó¡«¼ ñ½∩ »α∩¼«ú« ñ«ßΓπ»á ¬
½εí«¼π Σá⌐½π ¡á ñ¿ß¬Ñ, ¡Ñºáó¿ß¿¼« «Γ Ñú« Γ¿»á ¿ ßΓαπ¬Γπαδ.
ïεí«⌐ ¡ÑΓ¿»¿α«óá¡¡δ⌐ Σá⌐½ «íΩ∩ó½∩ÑΓß∩ ß« ß½«ó«¼ file íѺ
áΓα¿íπΓ«ó, ¡á»α¿¼Ñα:
var
Datafile : file;
ä½∩ ¡ÑΓ¿»¿α«óá¡¡δσ Σá⌐½«ó ó »α«µÑñπαáσ Reset ¿ Rewrite
ñ«»π߬áÑΓß∩ π¬áºδóáΓ∞ ñ«»«½¡¿Γѽ∞¡δ⌐ »áαá¼ÑΓα, τΓ«íδ ºáñáΓ∞ αẼÑα
ºá»¿ß¿, ¿ß»«½∞ºπεΘ¿⌐ß∩ »α¿ »ÑαÑñáτÑ ñá¡¡δσ.
Å« π¼«½τá¡¿ε ñ½¿¡á ºá»¿ß¿ αáó¡á 128 íá⌐Γ. ÅαÑñ»«τΓ¿Γѽ∞¡«⌐
ñ½¿¡«⌐ ºá»¿ß¿ ∩ó½∩ÑΓß∩ ñ½¿¡á ºá»¿ß¿, αáó¡á∩ 1, »«ß¬«½∞¬π φΓ«
Ññ¿¡ßΓóÑ¡¡«Ñ º¡áτÑ¡¿Ñ, ¬«Γ«α«Ñ Γ«τ¡« «ΓαáªáÑΓ αẼÑα ½εí«ú« Σá⌐½á
(Ñß½¿ ñ½¿¡á ºá»¿ß¿ αáó¡á 1, Γ« ¡Ñ»«½¡δÑ ºá»¿ß¿ ¡Ñ󫺼«ª¡δ).
çá ¿ß¬½ετÑ¡¿Ñ¼ »α«µÑñπα Read ¿ Write ñ½∩ óßÑσ ¡ÑΓ¿»¿α«óá¡¡δσ
Σá⌐½«ó ñ«»π߬áÑΓß∩ ¿ß»«½∞º«óá¡¿Ñ ½εí«⌐ ßΓá¡ñáαΓ¡«⌐ »α«µÑñπαδ,
¬«Γ«απε αáºαÑΦÑ¡« ¿ß»«½∞º«óáΓ∞ ß Γ¿»¿α«óá¡¡δ¼¿ Σá⌐½á¼¿. é¼ÑßΓ«
»α«µÑñπα Read ¿ Write ºñÑß∞ ¿ß»«½∞ºπεΓß∩ ß««ΓóÑΓßΓóÑ¡¡« »α«µÑñπαδ
BlockRead ¿ BlockWrite, »«ºó«½∩εΘ¿Ñ »ÑαÑßδ½áΓ∞ ñá¡¡δÑ ß óδß«¬«⌐
߬«α«ßΓ∞ε.
Åα«µÑñπαδ.
───────────────────────────────────────────────────────────────────
Åα«µÑñπαá Ä»¿ßá¡¿Ñ
───────────────────────────────────────────────────────────────────
BlockRead æτ¿ΓδóáÑΓ ó »ÑαѼѡ¡πε «ñ¡π ¿½¿ í«½ÑÑ ºá»¿ßÑ⌐
BlockWrite çỿßδóáÑΓ «ñ¡π ¿½¿ í«½ÑÑ ºá»¿ßÑ⌐ ¿º »ÑαѼѡ¡«⌐
───────────────────────────────────────────────────────────────────
ÅÑαѼѡ¡á∩ FileMode.
ÅÑαѼѡ¡á∩ FileMode, «»αÑñѽѡ¡á∩ ó ¼«ñπ½Ñ System,
πßΓá¡áó½¿óáÑΓ ¬«ñ ñ«ßΓπ»á, ¬«Γ«αδ⌐ »ÑαÑñáÑΓß∩ ó DOS, ¬«úñá
Γ¿»¿α«óá¡¡δÑ ¿ ¡ÑΓ¿»¿α«óá¡¡δÑ Σá⌐½δ (¡« ¡Ñ ΓѬßΓ«óδÑ) «Γ¬αδóáεΓß∩ ß
»«¼«Θ∞ε »α«µÑñπαδ Reset.
Å« π¼«½τá¡¿ε ºáñáÑΓß∩ º¡áτÑ¡¿Ñ FileMode αáó¡«Ñ 2, ¬«Γ«α«Ñ
αáºαÑΦáÑΓ ¿ τΓÑ¡¿Ñ, ¿ ºá»¿ß∞. Åα¿ßóá¿óá¡¿Ñ ñαπú«ú« º¡áτÑ¡¿∩
»ÑαѼѡ¡«⌐ FileMode »α¿ó«ñ¿Γ ¬ Γ«¼π, τΓ« óßÑ »«ß½ÑñπεΘ¿Ñ ó맮óδ
»α«µÑñπαδ Reset íπñπΓ ¿ß»«½∞º«óáΓ∞ φëà αѪ¿¼.
ä¿á»áº«¡ 󫺼«ª¡δσ º¡áτÑ¡¿⌐ FileMode ºáó¿ß¿Γ «Γ ¿ß»«½∞ºπѼ«⌐
óÑαß¿¿ DOS. Äñ¡á¬« ñ½∩ óßÑσ óÑαß¿⌐ ºáñáεΓß∩ ß½ÑñπεΘ¿Ñ αѪ¿¼δ :
0 : Γ«½∞¬« τΓÑ¡¿Ñ
1 : Γ«½∞¬« ºá»¿ß∞
2 : τΓÑ¡¿Ñ/ºá»¿ß∞
éÑαß¿∩ 3.X DOS ºáñáÑΓ ñ«»«½¡¿Γѽ∞¡δÑ αѪ¿¼δ, ¬«Γ«αδÑ ú½áó¡δ¼
«íαẫ¼ ßó∩ºá¡δ ß αáºñѽѡ¡δ¼ ¿ß»«½∞º«ó᡿Ѽ Σá⌐½«ó ó ßÑΓ∩σ. (ä½∩
»«½πτÑ¡¿∩ í«½ÑÑ »«ñα«í¡«⌐ ¿¡Σ«α¼áµ¿¿, «íαáΓ¿ΓÑß∞ ¬ απ¬«ó«ñßΓóπ
»α«úαá¼¼¿ßΓá »« DOS).
Åα¿¼Ñτá¡¿Ñ: ì«óδÑ Σá⌐½δ, ß«ºñá¡¡δÑ ß »«¼«Θ∞ε »α«µÑñπαδ
Rewrite, óßÑúñá «Γ¬αδóáεΓß∩ ó αѪ¿¼Ñ Read/Write, ß««ΓóÑΓßΓóπεΘѼ
º¡áτÑ¡¿ε »ÑαѼѡ¡«⌐ FileMode = 2.
ôßΓα«⌐ßΓóá ó Turbo Pascal.
é Turbo Pascal ¿ ó «»Ñαᵿ«¡¡«⌐ ß¿ßΓÑ¼Ñ DOS ó¡ÑΦ¡∩∩
á»»áαáΓπαá, ¬á¬ ¡á»α¿¼Ñα, ¬½áó¿áΓπαá, πßΓα«⌐ßΓó« »ÑτáΓ¿, ñ¿ß»½Ñ⌐,
αáßß¼áΓα¿óáεΓß∩, ¬á¬ πßΓα«⌐ßΓóá. æ Γ«τ¬¿ ºαÑ¡¿∩ »α«úαá¼¼¿ßΓá
πßΓα«⌐ßΓó« ¼«ª¡« αáßß¼áΓα¿óáΓ∞ ¬á¬ Σá⌐½ ¿ ß ¡¿¼ ¼«ª¡« αáí«ΓáΓ∞ ß
»«¼«Θ∞ε Γ«ú« ªÑ ¡áí«αá ßΓá¡ñáαΓ¡δσ Σπ¡¬µ¿⌐, τΓ« ¿ ß Σá⌐½«¼. é Turbo
Pascal »«ññÑনóáÑΓß∩ ñóá Γ¿»á πßΓα«⌐ßΓó - πßΓα«⌐ßΓóá DOS ¿
πßΓα«⌐ßΓóá ñ½∩ ΓѬßΓ«óδσ Σá⌐½«ó.
ôßΓα«⌐ßΓóá DOS.
ôßΓα«⌐ßΓóá DOS αÑ὿º«óá¡δ ß »«¼«Θ∞ε ºáαѺÑαó¿α«óá¡¡δσ ¿¼Ñ¡
πßΓα«⌐ßΓó, ¬«Γ«αδÑ ¿¼ÑÑεΓ ß»Ñµ¿á½∞¡δ⌐ ß¼δß½. ôßΓα«⌐ßΓóá DOS
»«½¡«ßΓ∞ε »α«ºαáτ¡δ : ó Turbo Pascal ¡Ñ¿ºóÑßΓ¡« ñáªÑ, ¬«úñá
Σá⌐½«óá∩ »ÑαѼѡ¡á∩ ßó∩ºá¡á ß πßΓα«⌐ßΓó«¼, á ¬«úñá ß Σá⌐½«¼ ¡á
ñ¿ß¬Ñ. ìá»α¿¼Ñα, »α«úαá¼¼á:
var
Lst : Text;
begin
Assign(Lst, 'LPT1');
Rewrite(Lst);
Writeln(Lst, 'Hello World ...');
Close(Lst);
end.
óδóÑñÑΓ ßΓ᫬π 'Hello World ...' ¡á πßΓα«⌐ßΓó« »ÑτáΓ¿, σ«Γ∩
ß¿¡Γá¬ß¿ß Γ«τ¡« Γᬫ⌐ ªÑ, ¬á¬ Ñß½¿ íδ «¡á óδó«ñ¿½áß∞ ó Σá⌐½ ¡á
ñ¿ß¬Ñ.
ôßΓα«⌐ßΓóá, αÑ὿º«óá¡¡δÑ ó «»Ñαᵿ«¡¡«⌐ ß¿ßΓÑ¼Ñ DOS,
¿ß»«½∞ºπεΓß∩ ñ½∩ «ñ¡«óαѼѡ¡«ú« óó«ñá ¿½¿ óδó«ñá.
Æᬿ¼ «íαẫ¼, πßΓα«⌐ßΓóá ó DOS ¿ß»«½∞ºπεΓß∩ , «íδτ¡«, ñ½∩
óδó«ñá ΓѬßΓ«óδσ Σá⌐½«ó. é αÑñ¬¿σ ß½πτá∩σ ñ½∩ αáí«Γδ ß πßΓα«⌐ßΓóἿ
DOS ¼«ªÑΓ «¬áºáΓ∞ß∩ »«½Ñº¡δ¼ ¿ß»«½∞º«óá¡¿Ñ Γá¬ªÑ ¡ÑΓ¿»¿α«óá¡¡«ú«
Σá⌐½á. èáªñ«Ñ ¿º πßΓα«⌐ßΓó DOS «»¿ßδóáÑΓß∩ ó ß½ÑñπεΘѼ αáºñѽÑ. é
ñαπú¿σ αÑ὿ºáµ¿∩σ DOS ¼«ªÑΓ íδΓ∞ »αÑñπß¼«ΓαÑ¡« ¿ß»«½∞º«óá¡¿Ñ
ñ«»«½¡¿Γѽ∞¡δσ πßΓα«⌐ßΓó, »«φΓ«¼π ¼δ ¡Ñ ¼«ªÑ¼ »αÑñπß¼«ΓαÑΓ∞ óßÑ
󫺼«ª¡δÑ ß½πτá¿ ñ½∩ «»¿ßδóáѼδσ ó ñá¡¡«¼ απ¬«ó«ñßΓóÑ πßΓα«⌐ßΓó.
ôßΓα«⌐ßΓó« CON.
ôßΓα«⌐ßΓó« CON «º¡áτáÑΓ ¬«¡ß«½∞, »«ßαÑñßΓó«¼ ¬«Γ«α«⌐ óδó«ñ¿¼á∩
¿¡Σ«α¼áµ¿∩ »ÑαÑßδ½áÑΓß∩ ¡á φ¬αá¡ ñ¿ß»½Ñ∩, á óó«ñ¿¼á∩ ¿¡Σ«α¼áµ¿∩
ó«ß»α¿¡¿¼áÑΓß∩ ß ¬½áó¿áΓπαδ. àß½¿ ¡Ñ í佫 ¿º¼Ñ¡Ñ¡« ¡á»αáó½Ñ¡¿Ñ
óó«ñá ¿½¿ óδó«ñá, Γ« ßΓá¡ñáαΓ¡δÑ Σá⌐½δ Input ¿ Output ¿ óßÑ
Σá⌐½δ, ¬«Γ«αδ¼ »α¿ßó«Ñ¡« »πßΓ«Ñ ¿¼∩, ßßδ½áεΓß∩ ¡á πßΓα«⌐ßΓó« CON.
éó«ñ¿¼á∩ ß πßΓα«⌐ßΓóá CON ¿¡Σ«α¼áµ¿∩ ∩ó½∩ÑΓß∩ ßΓα«τ¡« -
«α¿Ñ¡Γ¿α«óá¡¡«⌐ ¿ ¿ß»«½∞ºπÑΓ ßαÑñßΓóá αÑñá¬Γ¿α«óá¡¿∩ ßΓ᫬¿,
¬«Γ«αδÑ «»¿ßá¡δ ó απ¬«ó«ñßΓóÑ »« DOS. 濼ó«½δ ßτ¿ΓδóáεΓß∩ ¿º íπΣÑαá
ßΓ᫬¿, á ¬«úñá íπΣÑα ßΓá¡«ó¿Γß∩ »πßΓδ¼, óó«ñ¿Γß∩ ¡«óá∩ ßΓ᫬á. Åα¿
¡áªáΓ¿¿ ¬½áó¿Φ¿ CTRL-Z úÑ¡Ñα¿απÑΓß∩ ß¿¼ó«½ ¬«¡µá Σá⌐½á
(end-of-file), »«ß½Ñ ¬«Γ«α«ú« Σπ¡¬µ¿∩ eof íπñÑΓ ó«ºóαáΘáΓ∞ º¡áτÑ¡¿Ñ
True.
ôßΓα«⌐ßΓóá LÉT1, LÉT2, LÉT3.
é ¬áτÑßΓóÑ ó«º¼«ª¡«ú« »«ßΓα«τ¡«ú« πßΓα«⌐ßΓóá »ÑτáΓ¿
ñ«»π߬áÑΓß∩ ¿ß»«½∞º«óá¡¿Ñ ΓαÑσ πßΓα«⌐ßΓó »ÑτáΓ¿. àß½¿ »α¿ß«Ññ¿¡Ñ¡«
«ñ¡« πßΓα«⌐ßΓó« »ÑτáΓ¿, ¡á ¡Ñú« «íδτ¡« ßßδ½áεΓß∩ ¬á¬ ¡á πßΓα«⌐ßΓó«
LÉT1. ä½∩ φΓ«ú« πßΓα«⌐ßΓóá ¼«ª¡« Γá¬ªÑ ¿ß»«½∞º«óáΓ∞ ß¿¡«¡¿¼ PRN.
Å«ßΓα«τ¡«Ñ πßΓα«⌐ßΓó« »ÑτáΓ¿ - φΓ« πßΓα«⌐ßΓó«, »αÑñ¡áº¡áτÑ¡¡«Ñ
Γ«½∞¬« ñ½∩ óδó«ñá. Åα¿ ½εí«⌐ »«»δ⪥ ¿ß»«½∞º«óáΓ∞ »α«µÑñπαπ Reset
ñ½∩ «Γ¬αδΓ¿∩ Σá⌐½á, ßó∩ºá¡¡«ú« ß «ñ¡¿¼ ¿º φΓ¿σ πßΓα«⌐ßΓó, ¡Ñ¼Ññ½Ñ¡-
¡« úÑ¡Ñα¿απÑΓß∩ »α¿º¡á¬ ¬«¡µá Σá⌐½á.
Åα¿¼Ñτá¡¿Ñ: æΓá¡ñáαΓ¡δ⌐ ¼«ñπ½∞ Printer «»¿ßδóáÑΓ ΓѬßΓ«óπε
Σá⌐½«óπε »ÑαѼѡ¡πε ß ¿¼Ñ¡Ñ¼ Lst ¿ πßΓá¡áó½¿óáÑΓ ÑÑ ßó∩º∞ ß
πßΓα«⌐ßΓó«¼ LÉT1. ùΓ«íδ «íÑß»Ñτ¿Γ∞ óδó«ñ ¬á¬«⌐-½¿í« ¿¡Σ«α¼áµ¿¿ ¿º
óáΦÑ⌐ »α«úαá¼¼δ ¡á πßΓα«⌐ßΓó« »ÑτáΓ¿, ó¬½ετ¿ΓÑ ó »αÑñ½«ªÑ¡¿Ñ uses ó
ßó«Ñ⌐ »α«úαá¼¼Ñ ¼«ñπ½∞ Printer, á ñ½∩ óδó«ñá ¿ß»«½∞ºπ⌐ΓÑ »α«µÑñπαδ
Write(Lst, ...).
ôßΓα«⌐ßΓóá COM1 ¿ COM2.
ôßΓα«⌐ßΓóἿ ¬«¼¼π¡¿¬áµ¿«¡¡«ú« »«αΓá ∩ó½∩εΓß∩ ñóá
»«ß½Ññ«óáΓѽ∞¡δσ ¬«¼¼π¡¿¬áµ¿«¡¡δσ »«αΓá. é¼ÑßΓ« COM1 ¼«ª¡«
¿ß»«½∞º«óáΓ∞ ß¿¡«¡¿¼ AUX.
ôßΓα«⌐ßΓó« NUL.
ìπ½Ñó«Ñ πßΓα«⌐ßΓó« ¿ú¡«α¿απÑΓ ½εíπε ºá»¿ß∞ ¡á ¡Ñú« ¿
¡Ñ¼Ññ½Ñ¡¡« úÑ¡Ñα¿απÑΓ »α¿º¡á¬ ¬«¡µá Σá⌐½á »α¿ »«»δ⪥ ßτ¿Γδóá¡¿∩ ß
φΓ«ú« πßΓα«⌐ßΓóá. àú« ß½ÑñπÑΓ ¿ß»«½∞º«óáΓ∞, Ñß½¿ óδ ¡Ñ σ«Γ¿ΓÑ
ß«ºñáóáΓ∞ «Γñѽ∞¡δ⌐ Σá⌐½, á ó »α«úαá¼¼Ñ ΓαÑíπÑΓß∩ π¬áºáΓ∞ ¿¼∩
óσ«ñ¡«ú« ¿½¿ óδσ«ñ¡«ú« Σá⌐½á.
ôßΓα«⌐ßΓó«, »αÑñ¡áº¡áτÑ¡¡«Ñ ñ½∩ ΓѬßΓ«óδσ
Σá⌐½«ó.
ôßΓα«⌐ßΓó« »αÑñ¡áº¡áτÑ¡¡«Ñ ñ½∩ ΓѬßΓ«óδσ Σá⌐½«ó, ¿ß»«½∞ºπÑΓß∩
ñ½∩ αÑ὿ºáµ¿¿ πßΓα«⌐ßΓó, ¡Ñ »«ññÑনóáѼδσ DOS, ¿½¿ ñ½∩ Γ«ú«,
τΓ«íδ ßñѽáΓ∞ ñ«ßΓπ»¡δ¼ ¡áí«α ßαÑñßΓó, «Γ½¿τáεΘ¿⌐ß∩ «Γ Γ«ú«,
¬«Γ«αδ⌐ »αÑñπß¼«ΓαÑ¡ ñ½∩ á¡á½«ú¿τ¡«ú« πßΓα«⌐ßΓóá DOS. ò«α«Φ¿¼
»α¿¼Ñα«¼ πßΓα«⌐ßΓóá, »αÑñ¡áº¡áτÑ¡¡«ú« ñ½∩ ΓѬßΓ«ó«ú« Σá⌐½á,
∩ó½∩ÑΓß∩ πßΓα«⌐ßΓó« CRT, αÑ὿º«óá¡¡«Ñ ß »«¼«Θ∞ε ßΓá¡ñáαΓ¡«ú«
¼«ñπ½∩ Crt. àú« «ß¡«ó¡«⌐ Σπ¡¬µ¿Ñ⌐ ∩ó½∩ÑΓß∩ «íÑß»ÑτÑ¡¿Ñ ¿¡ΓÑαΣÑ⌐ßá ß
ñ¿ß»½ÑѼ ¿ ¬½áó¿áΓπα«⌐, á¡á½«ú¿τ¡« πßΓα«⌐ßΓóπ CON ó DOS. Äñ¡á¬«
πßΓα«⌐ßΓó« CRT ∩ó½∩ÑΓß∩ í«½ÑÑ íδßΓαδ¼ ¿ »«ññÑনóáÑΓ ΓᬿÑ
¡Ñ«µÑ¡¿¼δÑ ßαÑñßΓóá, ¬á¬ ¿ß»«½∞º«óá¡¿Ñ µóÑΓ«ó ¿ «¬«¡.
é «Γ½¿τ¿Ñ «Γ πßΓα«⌐ßΓó DOS, πßΓα«⌐ßΓóá, »αÑñ¡áº¡áτÑ¡¡δÑ ñ½∩
óδó«ñá ΓѬßΓ«óδσ Σá⌐½«ó, ¡Ñ ¿¼ÑεΓ ºáαѺÑαó¿α«óá¡¡δσ ¿¼Ñ¡.
öá¬Γ¿τÑ߬¿ π ¡¿σ ó««íΘÑ «ΓßπΓßΓóπεΓ ¿¼Ñ¡á.
é¼ÑßΓ« φΓ«ú« Σá⌐½ ßó∩ºδóáÑΓß∩ ß πßΓα«⌐ßΓó«¼ ß »«¼«Θ∞ε «íδτ¡«⌐
»α«µÑñπαδ Assign. ìá»α¿¼Ñα, ßΓá¡ñáαΓ¡δ⌐ ¼«ñπ½∞ Crt αÑ὿ºπÑΓ
»α«µÑñπαπ AssignCrt, ¬«Γ«αá∩ ßó∩ºδóáÑΓ ΓѬßΓ«óδÑ Σá⌐½δ ß
πßΓα«⌐ßΓó«¼ CRT.
èα«¼Ñ πßΓα«⌐ßΓóá CRT, ó Turbo Pascal ñ½∩ πßΓα«⌐ßΓó,
»αÑñ¡áº¡áτÑ¡¡δσ ñ½∩ ΓѬßΓ«óδσ Σá⌐½«ó, éδ ¼«ªÑΓÑ »¿ßáΓ∞ ßó«¿
ß«íßΓóÑ¡¡δÑ ñαá⌐óÑαδ. Å«½¡«ßΓ∞ε φëà ó«»α«ß «ßóÑΘáÑΓß∩ ó αáºñѽÑ
"äαá⌐óÑα πßΓα«⌐ßΓóá ΓѬßΓ«ó«ú« Σá⌐½á" ó ú½áóÑ 19 "éó«ñ ¿ óδó«ñ".
ÅαÑñ«»αÑñѽѡ¡δÑ »ÑαѼѡ¡δÑ.
èα«¼Ñ »α«µÑñπα ¿ Σπ¡¬µ¿⌐ ¼«ñπ½∞ System «íÑß»Ñτ¿óáÑΓ α∩ñ
»αÑñ«»αÑñѽѡ¡δσ »ÑαѼѡ¡δσ.
ìÑ¿¡¿µ¿á½¿º¿α«óá¡¡δÑ »ÑαѼѡ¡δÑ.
───────────────────────────────────────────────────────────────────
ÅÑαѼѡ¡á∩ Æ¿» Ä»¿ßá¡¿Ñ
───────────────────────────────────────────────────────────────────
Input Text ßΓá¡ñáαΓ¡δ⌐ Σá⌐½ óó«ñá
Output Text ßΓá¡ñáαΓ¡δ⌐ Σá⌐½ óδó«ñá
SaveInt00 Pointer ß«σαá¡Ñ¡¿Ñ »αÑαδóá¡¿∩ $00
SaveInt02 Pointer ß«σαá¡Ñ¡¿Ñ »αÑαδóá¡¿∩ $02
SaveInt1B Pointer ß«σαá¡Ñ¡¿Ñ »αÑαδóá¡¿∩ $1B
SaveInt21 Pointer ß«σαá¡Ñ¡¿Ñ »αÑαδóá¡¿∩ $21
SaveInt23 Pointer ß«σαá¡Ñ¡¿Ñ »αÑαδóá¡¿∩ $23
SaveInt24 Pointer ß«σαá¡Ñ¡¿Ñ »αÑαδóá¡¿∩ $24
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
SaveInt3F Pointer ß«σαá¡Ñ¡¿Ñ »αÑαδóá¡¿∩ $3F
SaveInt3E Pointer ß«σαá¡Ñ¡¿Ñ »αÑαδóá¡¿∩ $3E
SaveInt75 Pointer ß«σαá¡Ñ¡¿Ñ »αÑαδóá¡¿∩ $75
───────────────────────────────────────────────────────────────────
ê¡¿µ¿á½¿º¿α«óá¡¡δÑ »ÑαѼѡ¡δÑ.
───────────────────────────────────────────────────────────────────
ÅÑαѼѡ¡á∩ Æ¿» ìáτá½∞¡«Ñ Ä»¿ßá¡¿Ñ
º¡áτÑ¡¿Ñ
───────────────────────────────────────────────────────────────────
OvrCodeList Word 0 ß»¿ß«¬ «óÑα½Ñ⌐¡δσ ßÑú¼Ñ¡Γ«ó ¬«ñá
OvrHeapSize Word 0 ¡áτá½∞¡δ⌐ αẼÑα íπΣÑαá «óÑα½ÑÑó
OvrDebugPtr Pointer nil óÑ¬Γ«α «Γ½áñτ¿¬á «óÑα½ÑÑó
OvrHeapOrg Word 0 ¡áτὫ íπΣÑαá «óÑα½ÑÑó
OvrHeapPrt Word 0 π¬áºáΓѽ∞ íπΣÑαá «óÑα½ÑÑó
OvrHeapEnd Word 0 ¬«¡Ñµ íπΣÑαá «óÑα½ÑÑó
OvrLoadList Word 0 ß»¿ß«¬ ºáúαπªÑ¡¡δσ «óÑα½ÑÑó
OvrDosHandle Word 0 «íαáí«Γτ¿¬ DOS «óÑα½ÑÑó
OvrEmsHandle Word 0 «íαáí«Γτ¿¬ EMS «óÑα½ÑÑó
HeapOrg Pointer nil ¡áτὫ ¬πτ¿
HeapPtr Pointer nil π¬áºáΓѽ∞ ¬πτ¿
HeapEnd Pointer nil ¬«¡Ñµ ¬πτ¿
FreeList Pointer nil ß»¿ß«¬ ßó«í«ñ¡δσ í½«¬«ó ¬πτ¿
HeapError Pointer nil Σπ¡¬µ¿∩ «íαáí«Γ¬¿ «Φ¿í«¬ ¬πτ¿
ExitProc Pointer nil »α«µÑñπαá óδσ«ñá
ExitCode Integer 0 óδσ«ñ¡«⌐ ¬«ñ
ErrorAddr Pointer nil áñαÑß «Φ¿í¬¿ óαѼѡ¿ óδ»«½¡Ñ¡¿∩
PrefixSeg Word 0 »αÑΣ¿¬ß »α«úαá¼¼¡«ú« ßÑú¼Ñ¡Γá
StackLimit Word 0 π¬áºáΓѽ∞ ¡á ¡¿ª¡εε úαá¡¿µπ ßΓѬá
InOutRes Integer 0 íπΣÑα αѺπ½∞ΓáΓá ó/ó
RandSeed LongInt 0 «»«α¡«Ñ º¡áτÑ¡¿Ñ úÑ¡ÑαáΓ«αá
ß½πτá⌐¡δσ τ¿ßѽ
FileMode Byte 2 αѪ¿¼ «Γ¬αδΓ¿∩ Σá⌐½á
Test8087 Byte 0 αѺπ½∞ΓáΓ ΓÑßΓá 8087
───────────────────────────────────────────────────────────────────
OvrCodeList, OvrHeapSize, OvrDebugPtr, OvrHeapOrg, OvrHeapPtr,
OvrHeapEnd, OvrHeapList, OvrDosHandle ¿ OvrEmsHandle ¿ß»«½∞ºπεΓß∩
¼«ñπ½Ñ¼ Overlay ñ½∩ αÑ὿ºáµ¿¿ ¼Ñ¡ÑñªÑαá «óÑα½ÑÑó Turbo Pascal.
üπΣÑα «óÑα½ÑÑó αẼÑΘáÑΓß∩ ¼Ñªñπ ßÑú¼Ñ¡Γ«¼ ßΓÑ¬á ¿ ¬πτÑ⌐ ¿
OvrHeapOrg ¿ OvrHeapEnd ß«ñÑαªáΓ áñαÑßá ¡áτá½á ¿ ¬«¡µá ßÑú¼Ñ¡Γá.
ÉẼÑα íπΣÑαá «óÑα½ÑÑó »« π¼«½τá¡¿ε ß««ΓóÑΓßΓóπÑΓ αẼÑαπ
¼á¬ß¿¼á½∞¡«ú« «óÑα½Ñ∩ ó »α«úαá¼¼Ñ; Ñß½¿ ó »α«úαá¼¼Ñ ¡ÑΓ «óÑα½ÑÑó,
Γ« αẼÑα «óÑα½Ñ⌐¡«ú« íπΣÑαá αáóÑ¡ ¡π½ε. ÉẼÑα íπΣÑαá «óÑα½ÑÑó
¼«ªÑΓ íδΓ∞ πóѽ¿τÑ¡ τÑαѺ ó맮ó »α«µÑñπαδ OvrSetBuf ¿º ¼«ñπ½∩
Overlay, ó φΓ«¼ ß½πτáÑ αẼÑα ¬πτ¿ ß««ΓóÑΓßΓóÑ¡¡« π¼Ñ¡∞ΦáÑΓß∩,
πóѽ¿τ¿óá∩ º¡áτÑ¡¿Ñ HeapOrg.
HeapOrg, HeapPtr, HeapEnd, FreeList, HeapError ¿ß»«½∞ºπεΓß∩
¼«¡¿Γ«α«¼ ¬πτ¿ ñ½∩ αÑ὿ºáµ¿¿ »α«úαá¼¼ αáß»αÑñѽѡ¿∩ ñ¿¡á¼¿τÑ߬«⌐
»á¼∩Γ¿ Turbo Pascal. î«¡¿Γ«α ¬πτ¿ »«½¡«ßΓ∞ε «»¿ßá¡ ó ú½áóÑ 16
"Åá¼∩Γ∞".
ÅÑαѼѡ¡δÑ ExitProc, ExitCode ¿ ErrorAddr αÑ὿ºπεΓ »α«µÑñπαδ
óδσ«ñá. Ä¡¿ ΓᬠªÑ «»¿ßá¡δ ó ú½áóÑ 18 "é«»α«ßδ ¬«¡Γα«½∩".
PrefixSeg - φΓ« »ÑαѼѡ¡á∩ Γ¿»á ß½«ó« (Word), ß«ñÑαªáΘá∩ áñαÑß
ßÑú¼Ñ¡Γá »αÑΣ¿¬ßá ßÑú¼Ñ¡Γá »α«úαá¼¼δ (PSP), ß«ºñáóáѼδ⌐ DOS, ¬«úñá
»α«úαá¼¼á óδ»«½¡∩ÑΓß∩. Å«½¡«Ñ «»¿ßá¡¿Ñ »αÑΣ¿¬ßá ßÑú¼Ñ¡Γá »α«úαá¼¼δ
ß¼«Γα¿ΓÑ ó απ¬«ó«ñßΓóÑ »« «»Ñαᵿ«¡¡«⌐ ß¿ßΓѼÑ.
StackLimit ß«ñÑαª¿Γ ß¼ÑΘÑ¡¿Ñ «Γ ¡¿ª¡Ñ⌐ úαá¡¿µδ ßÑú¼Ñ¡Γá ßΓѬá,
ß««ΓóÑΓßΓóπεΘÑÑ ¡á¿¼Ñ¡∞ΦÑ¼π º¡áτÑ¡¿ε αÑú¿ßΓαá SP ñ«»πßΓ¿¼«¼π ñ«
Γ«ú«, »«¬á ßΓѬ ¡Ñ íπñÑΓ »ÑαÑ»«½¡Ñ¡. Äíδτ¡« StackLimit αáóÑ¡ ¡π½ε,
¡«, Ñß½¿ »α«úαá¼¼á «Γ¬«¼»¿½¿α«óá¡á ß «»µ¿∩¼¿ {$N+,E+} φ¼π½∩Γ«α 8087
íπñÑΓ πßΓá¡áó½¿óáΓ∞ Ñú« αáó¡δ¼ 224 ñ½∩ αѺÑαó¿α«óá¡¿∩ αáí«τÑú«
»α«ßΓαá¡ßΓóá ¡á ¡¿ª¡Ñ⌐ úαá¡¿µÑ ßÑú¼Ñ¡Γá ßΓѬá, Ñß½¿ 8087 ¡ÑΓ ó
ß¿ßΓѼÑ.
InOutRes ¿ß»«½∞ºπÑΓß∩ óßΓα«Ñ¡¡δ¼¿ »α«úαἼἿ óó«ñá/óδó«ñá ñ½∩
ºá»«¼¿¡á¡¿∩ º¡áτÑ¡¿∩ ó«ºóαáΘáѼ«ú« »α¿ »«ß½ÑñπεΘѼ ó맮óÑ
ßΓá¡ñáαΓ¡«⌐ Σπ¡¬µ¿¿ IOResult.
RandSeed ß«ñÑαª¿Γ «»«α¡«Ñ τ¿ß½« úÑ¡ÑαáΓ«αá ß½πτá⌐¡δσ τ¿ßѽ.
Åα¿ »α¿ßóá¿óá¡¿¿ ¡Ñ«íσ«ñ¿¼«ú« º¡áτÑ¡¿∩ »ÑαѼѡ¡«⌐ RandSeed, Σπ¡¬µ¿∩
Random íπñÑΓ úÑ¡Ñα¿α«óáΓ∞ «»αÑñѽѡ¡πε »«ß½Ññ«óáΓѽ∞¡«ßΓ∞ ß½πτá⌐¡δσ
τ¿ßѽ ß¡«óá ¿ ß¡«óá. ¥Γ« »«½Ñº¡« ó »α¿½«ªÑ¡¿∩σ, úñÑ ¡Ñ«íσ«ñ¿¼«
Φ¿Σα«óá¡¿Ñ ñá¡¡δσ, ó ßΓáΓ¿ßΓ¿¬Ñ ¿ ß¿¼π½¿α«óá¡¿¿.
FileMode »«ºó«½∩ÑΓ éá¼ ¿º¼Ñ¡¿Γ∞ αѪ¿¼ ñ«ßΓπ»á, ß ¬«Γ«αδ¼
«Γ¬αδóáεΓß∩ Γ¿»¿α«óá¡¡δÑ ¿ ¡ÑΓ¿»¿α«óá¡¡δÑ Σá⌐½δ. (æΓá¡ñáαΓ¡«⌐
»α«µÑñπα«⌐ Reset). ä½∩ í«½∞Φ¿σ ñÑΓá½Ñ⌐ ß¼«Γα¿ αáºñѽ "ÅÑαѼѡ¡á∩
FileMode".
Test8087 σαá¡¿Γ αѺπ½∞ΓáΓ ΓÑßΓá áóΓ««í¡áαπªÑ¡¿∩ ß«»α«µÑßß«αá,
¬«Γ«αδ⌐ óδ»«½¡∩ÑΓß∩ »α¿ ºá»π᪥ »α«úαá¼¼δ, «Γ¬«¼»¿½¿α«óá¡¡«⌐ ß
{$N+}. ä½∩ í«½∞Φ¿σ ñÑΓá½Ñ⌐ ß¼«Γα¿ ú½áóπ 14 "êß»«½∞º«óá¡¿Ñ 8087".
Input ¿ Output - ßΓá¡ñáαΓ¡δÑ Σá⌐½δ , ¡Ñ«íσ«ñ¿¼δÑ ó ¬áªñ«⌐
αÑ὿ºáµ¿¿ ∩ºδ¬á Åá߬á½∞. Å« π¼«½τá¡¿ε «¡¿ ßßδ½áεΓß∩ ¡á ßΓá¡ñáαΓ¡δÑ
óσ«ñ¡δÑ ¿ óδσ«ñ¡δÑ Σá⌐½δ ó DOS. ä½∩ í«½∞Φ¿σ ñÑΓá½Ñ⌐ ß¼«Γα¿ αáºñѽ
"éó«ñ/óδó«ñ".
î«ñπ½∞ System πßΓá¡áó½¿óáÑΓ ¡Ñ¬«Γ«αδÑ óÑ¬Γ«αá »αÑαδóá¡¿∩. ä«
πßΓá¡«ó¬¿ ß«íßΓóÑ¡¡δσ »α«úαá¼¼ «íαáí«Γ¬¿ »αÑαδóá¡¿⌐, System
ºá»«¼¿¡áÑΓ ßΓáαδÑ óÑ¬Γ«αá ó »ÑαѼѡ¡δσ SaveIntXX.
çá¼ÑΓ¿¼, τΓ« ¼«ñπ½∞ System ß«ñÑαª¿Γ «íαáí«Γτ¿¬ »αÑαδóá¡¿∩ INT
24 ñ½∩ »ÑαÑσóáΓá ¬α¿Γ¿τÑ߬¿σ «Φ¿í«¬.
é »α«úαá¼¼áσ Turbo Pascal ¬α¿Γ¿τÑ߬¿Ñ «Φ¿í¬¿ ó DOS
«íαáíáΓδóáεΓß∩ ¬á¬ ½εíδÑ ñαπú¿Ñ «Φ¿í¬¿ óó«ñá/óδó«ñá; ó ß«ßΓ«∩¡¿¿ {$
I+} »α«úαá¼¼á ºáóÑαΦáÑΓß∩ ß «Φ¿í¬«⌐ óαѼѡ¿ óδ»«½¡Ñ¡¿∩, á ó
ß«ßΓ«∩¡¿¿ {$I-} IOResult ó«ºóαáΘáÑΓ ¡Ñ¡π½Ñó«Ñ º¡áτÑ¡¿Ñ.
çñÑß∞ »α¿ó«ñ¿Γß∩ «ß¡«óá »α«úαá¼¼δ, ó«ßßΓá¡áó½¿óáεΘÑ⌐
»Ñαó«¡áτá½∞¡δ⌐ óÑ¬Γ«α ¿, ß½Ññ«óáΓѽ∞¡«, »Ñαó«¡áτá½∞¡πε ½«ú¿¬π
«íαáí«Γ¬¿ ¬α¿Γ¿τÑ߬¿σ ß¿Γπᵿ⌐.
programm Restore;
uses Dos;
begin
SetIntVeg ($24, SaveInt 24);
........
end.
Åα«µÑñπαá SwapVectors ó ¼«ñπ½Ñ Dos »ÑαÑßΓáó½∩ÑΓ ß«ñÑন¼«Ñ
»ÑαѼѡ¡δσ SaveIntXX ß ΓѬπΘ¿¼ ß«ñÑন¼δ¼ óÑ¬Γ«α«ó »αÑαδóá¡¿∩.
SwapVectors ñ«½ª¡á íδΓ∞ óδºóá¡á ¡Ñ»«ßαÑñßΓóÑ¡¡« »ÑαÑñ ¿
¡Ñ»«ßαÑñßΓóÑ¡¡« »«ß½Ñ ó맮óá »α«µÑñπαδ Exec, ñ½∩ Γ«ú« τΓ«íδ íδΓ∞
πóÑαÑ¡¡δ¼ τΓ« ºá»π߬áѼδ⌐ τÑαѺ Exec »α«µÑßß ¡Ñ ¿ß»«½∞ºπÑΓ ¬á¬«⌐ -
½¿í« «íαáí«Γτ¿¬ »αÑαδóá¡¿∩, πßΓá¡«ó½Ñ¡¡δ⌐ ó ΓѬπΘѼ »α«µÑßßÑ ¿
¡á«í«α«Γ. ä½∩ í«½∞ΦÑ⌐ ¿¡Σ«α¼áµ¿¿ ß¼«Γα¿ «»¿ßá¡¿Ñ »α«µÑñπαδ
SwapVectors ó æ»αáó«τ¡«¼ απ¬«ó«ñßΓóÑ »« í¿í½¿«ΓѬÑ.