Π§ΠΈΡ‚Π°ΠΉΡ‚Π΅ ΠΊΠ½ΠΈΠ³ΠΈ ΠΎΠ½Π»Π°ΠΉΠ½ Π½Π° Bookidrom.ru! БСсплатныС ΠΊΠ½ΠΈΠ³ΠΈ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠ»ΠΈΠΊΠ΅

Π§ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎΠ½Π»Π°ΠΉΠ½ «ОписаниС языка PascalABC.NETΒ». Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° 2

Автор W Cat

* CharFunc.pas. Π‘ΠΈΠΌΠ²ΠΎΠ»Ρ‹ Char хранят Unicode ΠΈ поэтому Π·Π°Π½ΠΈΠΌΠ°ΡŽΡ‚ 2 Π±Π°ΠΉΡ‚Π°. Для Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ Ord ΠΈ Chr оставлСно, Ρ‚Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, ΠΏΡ€Π΅ΠΆΠ½Π΅Π΅ дСйствиС (прСдполагаСтся, Ρ‡Ρ‚ΠΎ символы находятся Π² Windows-ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ΅). Для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΊΠΎΠ΄Π°ΠΌΠΈ Unicode слСдуСт ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ OrdUnicode ΠΈ ChrUnicode.

* StringTypes.pas. Π‘Ρ‚Ρ€ΠΎΠΊΠΈ string Π·Π°Π½ΠΈΠΌΠ°ΡŽΡ‚ ΠΏΠ°ΠΌΡΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π΄Π»ΠΈΠ½Ρ‹ ΠΈ ΠΏΡ€ΠΎΠ΅Ρ†ΠΈΡ€ΡƒΡŽΡ‚ΡΡ Π½Π° .NET-Ρ‚ΠΈΠΏ System.String. Однако, Π² ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ NET-строк ΠΎΠ½ΠΈ измСняСмы ΠΈ ΠΈΠ½Π΄Π΅ΠΊΡΠΈΡ€ΡƒΡŽΡ‚ΡΡ с 1. Для Ρ€Π°Π±ΠΎΡ‚Ρ‹ со строками фиксированной Π΄Π»ΠΈΠ½Ρ‹ слСдуСт ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚ΠΈΠΏ string[n] ΠΈΠ»ΠΈ shortstring=string[255]. Π’ частности, Ρ‚ΠΈΠΏΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹ допустимы Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΈΡ… строк.

* StringMethods.pas. Π‘Ρ‚Ρ€ΠΎΠΊΠΈ string ΠΈΠΌΠ΅ΡŽΡ‚ ряд ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² ΠΊΠ°ΠΊ .NET-классы. Π’ этих ΠΌΠ΅Ρ‚ΠΎΠ΄Π°Ρ… прСдполагаСтся, Ρ‡Ρ‚ΠΎ строки ΠΈΠ½Π΄Π΅ΠΊΡΠΈΡ€ΡƒΡŽΡ‚ΡΡ с нуля.

* StringInteger.pas. ВсС Ρ‚ΠΈΠΏΡ‹ - классы. ΠŸΡ€ΠΎΡΡ‚Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹ Ρ‚ΠΎΠΆΠ΅. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ строки Π² Ρ†Π΅Π»ΠΎΠ΅ ΠΈ вСщСствСнноС ΠΏΡ€ΠΎΡ‰Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ статичСских ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² Parse ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ класса (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, integer.Parse(s)). ΠŸΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ†Π΅Π»ΠΎΠ³ΠΎ ΠΈΠ»ΠΈ вСщСствСнного Π² строку ΡƒΠ΄ΠΎΠ±Π½Π΅Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ экзСмплярного ΠΌΠ΅Ρ‚ΠΎΠ΄Π° ToString (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, r.ToString).

* Enum.pas. ΠŸΠ΅Ρ€Π΅Ρ‡ΠΈΡΠ»ΠΈΠΌΡ‹ΠΉ Ρ‚ΠΈΠΏ позволяСт ΠΎΠ±Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ ΠΊ Π΅Π³ΠΎ константам Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ нСпосрСдствСнно, Π½ΠΎ ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ запись Π²ΠΈΠ΄Π° ИмяВипа.Π˜ΠΌΡΠšΠΎΠ½ΡΡ‚Π°Π½Ρ‚Ρ‹. НСлишнС ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ всС пСрСчислимыС Ρ‚ΠΈΠΏΡ‹ - ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄Π½Ρ‹Π΅ ΠΎΡ‚ System.Enum.

* Sets.pas. ΠœΠ½ΠΎΠΆΠ΅ΡΡ‚Π²Π° ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½Ρ‹ΠΉ Π±Π°Π·ΠΎΠ²Ρ‹ΠΉ Ρ‚ΠΈΠΏ. Π’Π½ΡƒΡ‚Ρ€ΠΈ мноТСство хранится ΠΊΠ°ΠΊ Ρ…Π΅Ρˆ-Ρ‚Π°Π±Π»ΠΈΡ†Π°, ΠΎΠ΄Π½Π°ΠΊΠΎ ΠΏΡ€ΠΈ Π²Ρ‹Π²ΠΎΠ΄Π΅ мноТСства Π² ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π΅ write Π΅Π³ΠΎ элСмСнты ΡƒΠΏΠΎΡ€ΡΠ΄ΠΎΡ‡ΠΈΠ²Π°ΡŽΡ‚ΡΡ.

* DynArray.pas. ДинамичСскиС массивы array of T ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ собой ссылки. ΠŸΠ°ΠΌΡΡ‚ΡŒ ΠΏΠΎΠ΄ Π½ΠΈΡ… Π΄ΠΎΠ»ΠΆΠ½Π° Π²Ρ‹Π΄Π΅Π»ΡΡ‚ΡŒΡΡ Π»ΠΈΠ±ΠΎ Π²Ρ‹Π·ΠΎΠ²ΠΎΠΌ стандартной ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ SetLength, Π»ΠΈΠ±ΠΎ использованиСм ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ‚ΠΎΡ€Π° Π²ΠΈΠ΄Π° new T[n]. ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° SetLength сохраняСт староС содСрТимоС массива. ДинамичСскиС массивы ΡΠ²Π»ΡΡŽΡ‚ΡΡ классом, ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄Π½Ρ‹ΠΌ ΠΎΡ‚ класса System.Array, ΠΈΠΌΠ΅ΡŽΡ‰Π΅Π³ΠΎ достаточно Π±ΠΎΠ³Π°Ρ‚Ρ‹ΠΉ интСрфСйс. Π‘Π»Π΅Π΄ΡƒΠ΅Ρ‚ ΡƒΠΏΠΎΠΌΡΠ½ΡƒΡ‚ΡŒ ΠΏΡ€Π΅ΠΆΠ΄Π΅ всСго статичСскиС ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ &Array.Sort ΠΈ &Array.Resize.

* InitRecords.pas. Π’ записях допустимы ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ‚ΠΎΡ€Ρ‹ ΠΏΠΎΠ»Π΅ΠΉ. Поля записи ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΡƒΡŽΡ‚ΡΡ ΠΏΡ€ΠΈ создании ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ-записи.

* UntypedFile.pas. БСстиповыС Ρ„Π°ΠΉΠ»Ρ‹ file ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Ρ‹ ΠΏΠΎ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с Delphi. ΠžΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‚ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ BlockRead ΠΈ BlockWrite, Π½ΠΎ Π² бСстиповой Ρ„Π°ΠΉΠ» ΠΌΠΎΠΆΠ½ΠΎ нСпосрСдствСнно Π·Π°ΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Ρ€Π°Π·Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ². Π›ΠΈΡˆΡŒ Π±Ρ‹ считываниС ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΠ»ΠΎΡΡŒ Π² Ρ‚ΠΎΠΌ ΠΆΠ΅ порядкС.

* PointerToRef.pas. Π˜ΠΌΠ΅ΡŽΡ‚ мСсто Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ограничСния для ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»Π΅ΠΉ Π½Π° ΡƒΠΏΡ€Π°Π²Π»ΡΠ΅ΠΌΡƒΡŽ ΠΏΠ°ΠΌΡΡ‚ΡŒ. Π’Π°ΠΊ, ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ прямо ΠΈΠ»ΠΈ косвСнно ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ класса, ΠΏΠ°ΠΌΡΡ‚ΡŒ для ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π²Ρ‹Π΄Π΅Π»Π΅Π½Π° Π²Ρ‹Π·ΠΎΠ²ΠΎΠΌ конструктора.

* Pointers.pas ΠΈ References.pas. Π£ΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ ΡƒΡ‚Ρ€Π°Ρ‡ΠΈΠ²Π°ΡŽΡ‚ свои ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ. ВмСсто Π½ΠΈΡ… ΠΌΡ‹ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΠ΅ΠΌ Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ссылки.

* StructTypeEquiv.pas. Π’ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ Delphi, для Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ² ΠΈΠΌΠ΅Π΅Ρ‚ мСсто структурная, Π° Π½Π΅ имСнная ΡΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½Ρ‚Π½ΠΎΡΡ‚ΡŒ Ρ‚ΠΈΠΏΠΎΠ². Π’Π°ΠΊ, структурная ΡΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½Ρ‚Π½ΠΎΡΡ‚ΡŒ ΠΈΠΌΠ΅Π΅Ρ‚ мСсто для динамичСских массивов, ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»Π΅ΠΉ, мноТСств ΠΈ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ².

ΠŸΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹

* FuncParams.pas. ΠŸΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ с ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌ числом ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² Π΄Π΅Π»Π°ΡŽΡ‚ΡΡ Π»Π΅Π³ΠΊΠΎ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ³ΠΎ слова params ΠΏΠ΅Ρ€Π΅Π΄ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠΌ - динамичСским массивом. Π’Π°ΠΊΠΎΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ послСдним Π² спискС.

* Overload.pas. ΠŸΠ΅Ρ€Π΅Π³Ρ€ΡƒΠ·ΠΊΠ° ΠΈΠΌΠ΅Π½ ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ осущСствляСтся Π±Π΅Π· ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ³ΠΎ слова overload.

* ProcVars.pas. ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π½Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π½Π°ΠΊΠ°ΠΏΠ»ΠΈΠ²Π°Ρ‚ΡŒ дСйствия ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° +=. Π­Ρ‚ΠΈ дСйствия ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° -=. ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π½Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΌΠΈ ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°ΠΌΠΈ, Π½ΠΎ ΠΈ статичСскими ΠΈ экзСмплярными ΠΌΠ΅Ρ‚ΠΎΠ΄Π°ΠΌΠΈ класса.

* SwapT.pas. ΠžΠ±ΠΎΠ±Ρ‰Π΅Π½Π½Ρ‹Π΅ ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΈΠΌΠ΅ΡŽΡ‚ простой синтаксис ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ сразу наряду с ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΌΠΈ: procedure Swap<T>(var x,y: T);

ΠœΠΎΠ΄ΡƒΠ»ΠΈ

* SystemUnitTest.pas. БистСмный ΠΌΠΎΠ΄ΡƒΠ»ΡŒ ΠΈΠΌΠ΅Π΅Ρ‚ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ PABCSystem, Π° Π½Π΅ System, ΠΊΠ°ΠΊ Π² Delphi, ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ нСявно ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ Π² спискС uses. ΠŸΡ€ΠΈΡ‡ΠΈΠ½Π° Ρ‚Π°ΠΊΠΎΠ³ΠΎ имСнования состоит Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ваТнСйшСС пространство ΠΈΠΌΠ΅Π½ .NET ΠΈΠΌΠ΅Π΅Ρ‚ имя System. БистСмный ΠΌΠΎΠ΄ΡƒΠ»ΡŒ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ System, Math ΠΈ Utils языка Delphi. Данная ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΈΠ»Π»ΡŽΡΡ‚Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ пСрСсСчСниС ΠΈΠΌΠ΅Π½ Π²ΠΎ ΠΌΠΎΠ΄ΡƒΠ»Π΅ PABCSystem ΠΈ пространствС ΠΈΠΌΠ΅Π½ System.

* MainProgram.pas ΠΈ MyUnit.pas. ΠœΠΎΠ΄ΡƒΠ»ΡŒ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ ΡƒΠΏΡ€ΠΎΡ‰Π΅Π½Π½Ρ‹ΠΉ синтаксис (Π±Π΅Π· дСлСния Π½Π° Ρ€Π°Π·Π΄Π΅Π» интСрфСйса ΠΈ Ρ€Π°Π·Π΄Π΅Π» Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ), Ρ‡Ρ‚ΠΎ ΡƒΠ΄ΠΎΠ±Π½ΠΎ для Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ обучСния. Π’ этом случаС всС описанныС ΠΈΠΌΠ΅Π½Π° ΠΏΠΎΠΏΠ°Π΄Π°ΡŽΡ‚ Π² Ρ€Π°Π·Π΄Π΅Π» интСрфСйса модуля.

* SystemUnitTest.pas. Для использования пространств ΠΈΠΌΠ΅Π½ .NET примСняСтся Ρ‚ΠΎΡ‚ ΠΆΠ΅ синтаксис, Ρ‡Ρ‚ΠΎ ΠΈ ΠΏΡ€ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΈ ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ: пространства ΠΈΠΌΠ΅Π½ .NET ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ Π² спискС uses. ΠŸΠΎΡ€ΡΠ΄ΠΎΠΊ поиска ΠΈΠΌΠ΅Π½ Ρ‚Π°ΠΊΠΎΠΉ ΠΆΠ΅, ΠΊΠ°ΠΊ ΠΈ Π² Delphi - справа Π½Π°Π»Π΅Π²ΠΎ Π² спискС uses, ΠΌΠΎΠ΄ΡƒΠ»ΡŒ PABCSystem просматриваСтся послСдним.

* Main.pas ΠΈ MyDll.pas. Π’ PascalABC.NET Π»Π΅Π³ΠΊΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ dll. Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° dll ΠΏΠΎ-сущСству прСдставляСт собой ΠΌΠΎΠ΄ΡƒΠ»ΡŒ, Π³Π΄Π΅ вмСсто ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ³ΠΎ слова unit ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ слово library. Для ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ dll ΠΊ Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Π° компилятора reference.

* CallCS.pas. PascalABC.NET - ΠΏΠΎΠ»Π½ΠΎΡ†Π΅Π½Π½Ρ‹ΠΉ .NET-язык, Π»Π΅Π³ΠΊΠΎ совмСщаСмый с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ .NET-языками. Π’ Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ показываСтся, ΠΊΠ°ΠΊ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ Π½Π° PascalABC.NET Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ ΠΈΠ· dll, созданной Π½Π° C#.

* CallNative.pas. PascalABC.NET позволяСт Π»Π΅Π³ΠΊΠΎ Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈΠ· ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹Ρ… dll.

Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½Ρ‹Π΅ графичСскиС Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ

* GraphABCTest.pas. ГрафичСская Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° GraphABC Π·Π°Ρ‚ΠΎΡ‡Π΅Π½Π° ΠΏΠΎΠ΄ Π»Π΅Π³ΠΊΠΎΠ΅ ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ Π³Ρ€Π°Ρ„ΠΈΠΊΠΈ. Она скрываСт Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ слоТностСй программирования Π³Ρ€Π°Ρ„ΠΈΠΊΠΈ: сама осущСствляСт пСрСрисовку графичСского ΠΎΠΊΠ½Π° Π² Π½ΡƒΠΆΠ½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ ΠΈ заботится ΠΎ синхронизации рисования Π² Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°Ρ…. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, графичСскиС ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Ρ‹ - ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π½Ρ‹Π΅, Π° Π·Π½Π°Ρ‡ΠΈΡ‚, Π½Π΅ Π½Π°Π΄ΠΎ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ многочислСнныС классы, ΠΊΠ°ΠΊ Π² NET. И Π΅Ρ‰Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΈΡΠ°Ρ‚ΡŒ графичСскиС ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ сразу послС begin основной ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π³Ρ€Π°Ρ„ΠΈΠΊΡƒ Π² нСсобытийных прилоТСниях.

* MouseEvents.pas. Для графичСских ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΡΡ‚Π΅ΠΉΡˆΠΈΠ΅ события ΠΌΡ‹ΡˆΠΈ ΠΈ ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρ‹, Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹Π΅ ΠΊΠ°ΠΊ Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹Π΅ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π½Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅.

* ABC.pas. Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Π²Π΅ΠΊΡ‚ΠΎΡ€Π½Ρ‹Ρ… графичСских ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² ABCObjects ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π½Π°ΠΌΠΈ для Ρ€Π°Π½Π½Π΅Π³ΠΎ обучСния школьников основам ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ программирования. Однако, Π΅Π΅ Π²ΠΏΠΎΠ»Π½Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для написания нСслоТных графичСских ΠΎΠ±ΡƒΡ‡Π°ΡŽΡ‰Π΅-ΠΈΠ³Ρ€ΠΎΠ²Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ.

ΠšΠ»Π°ΡΡΡ‹

* AllFromObject.pas. ВсС классы - наслСдники Object, всС Ρ‚ΠΈΠΏΡ‹ - классы. Π£ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠ·Π½Π°Ρ‚ΡŒ Ρ‚ΠΈΠΏ, Π²Ρ‹Π·Π²Π°Π² ΠΌΠ΅Ρ‚ΠΎΠ΄ GetType. ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΡ typeof для Ρ‚ΠΈΠΏΠ° Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ System.Type.

* WriteRecord.pas. ΠŸΠ΅Ρ€Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΠ² ΠΌΠ΅Ρ‚ΠΎΠ΄ ToString Π² классС ΠΈΠ»ΠΈ записи, ΠΌΡ‹ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΈΡ… значСния Π² ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π΅ writeln

* ClassConstructor.pas. Для статичСских ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² ΠΈ ΠΏΠΎΠ»Π΅ΠΉ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ΅ слово class. БтатичСскиС конструкторы ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ для Π½Π΅Ρ‚Ρ€ΠΈΠ²ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ статичСских ΠΏΠΎΠ»Π΅ΠΉ.

* PersonInternal.pas. Новый синтаксис конструкторов ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ΅ слово new ΠΈ являСтся ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡Ρ‚ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ. По этой ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π΅ всС конструкторы, ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ Π² старом стилС, Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΈΠΌΠ΅Ρ‚ΡŒ имя Create. ОписаниС ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ нСпосрСдствСнно Π²Π½ΡƒΡ‚Ρ€ΠΈ классов ΠΈ записСй (ΠΊΠ°ΠΊ Π² C++, C# ΠΈ Java)

* Records.pas. ΠœΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΈ конструкторы Π² записях ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚Π°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ ΠΈ Π² классах. ΠžΡ‚ записСй нСльзя Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ записи нСльзя Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚ΡŒ.

* Boxing.pas. ΠŸΡ€ΠΈ присваивании Ρ€Π°Π·ΠΌΠ΅Ρ€Π½ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρƒ Ρ‚ΠΈΠΏΠ° Object происходит ΡƒΠΏΠ°ΠΊΠΎΠ²ΠΊΠ°. Для распаковки слСдуСт ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ явноС ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Ρ‚ΠΈΠΏΠ°.

* GarbageCollection.pas. ДСструкторы ΠΎΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‚. АвтоматичСская сборка мусора для Π²ΠΎΠ·Π²Ρ€Π°Ρ‚Π° памяти, распрСдСлСнной ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎΠΉ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ, Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π° эту ΠΏΠ°ΠΌΡΡ‚ΡŒ Π½ΠΈΠΊΡ‚ΠΎ Π±ΠΎΠ»Π΅Π΅ Π½Π΅ ссылался, прямо ΠΈΠ»ΠΈ косвСнно. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ для освобоТдСния памяти ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ достаточно ΠΏΡ€ΠΈΡΠ²ΠΎΠΈΡ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎΠΉ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ nil.

* OperatorOverloading.pas. Как ΠΈ Π² C++ ΠΈ C#, Π² PascalABC.NET ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒ Π·Π½Π°ΠΊΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ для записСй ΠΈ классов.

* Interf.pas. Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡΡ‹ сСмантичСски ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡŽΡ‚ с интСрфСйсами Π² C# ΠΈ Java. БлоТная рСализация интСрфСйсов Delphi Π½Π° основС COM ΠΎΡ‚Π²Π΅Ρ€Π³Π½ΡƒΡ‚Π°.

* Stack.pas. ΠžΠ±ΠΎΠ±Ρ‰Π΅Π½Π½Ρ‹Π΅ классы (generics) ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ классы, ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹Π΅ ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ»ΠΈ нСсколькими Ρ‚ΠΈΠΏΠ°ΠΌΠΈ.

* Where.pas. МоТно Π·Π°Π΄Π°Π²Π°Ρ‚ΡŒ ограничСния Π½Π° Ρ‚ΠΈΠΏΡ‹ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² ΠΎΠ±ΠΎΠ±Ρ‰Π΅Π½Π½Ρ‹Ρ… классов. ΠžΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΡ Π±Ρ‹Π²Π°ΡŽΡ‚ Ρ‚Ρ€Π΅Ρ… сортов: Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ Ρƒ Ρ‚ΠΈΠΏΠ°-ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° конструктора ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ, наслСдованиС Π΅Π³ΠΎ ΠΎΡ‚ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ класса ΠΈΠ»ΠΈ рСализация интСрфСйса.

Бтандартная Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° .NET

* DateTime.pas. Π”Π°Π½Π½Ρ‹ΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΈΠ»Π»ΡŽΡΡ‚Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ класса DateTime ΠΈΠ· стандартной Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ .NET.

* LinkedList.pas. Π”Π°Π½Π½Ρ‹ΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΈΠ»Π»ΡŽΡΡ‚Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ использованиС ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π½Ρ‹Ρ… классов ΠΈΠ· стандартной Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ .NET.

* WinFormWithButton.pas. Π”Π°Π½Π½Ρ‹ΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΈΠ»Π»ΡŽΡΡ‚Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ созданиС ΠΎΠΊΠΎΠ½Π½ΠΎΠ³ΠΎ прилоТСния.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ .NET

ΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° Microsoft .NET - это комплСкс ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, устанавливаСмый ΠΏΠΎΠ²Π΅Ρ€Ρ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы ΠΈ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‰ΠΈΠΉ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, написанных ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎ для .NET. .NET-ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΊΠΎΠΌΠΏΠ°ΠΊΡ‚Π½Ρ‹, ΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Π΅Π΄ΠΈΠ½Ρ‹ΠΌ Π½Π°Π±ΠΎΡ€ΠΎΠΌ Ρ‚ΠΈΠΏΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ. Компания Microsoft Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎ Ρ€Π°Π·Π²ΠΈΠ²Π°Π΅Ρ‚ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡƒ .NET, выпуская Π½ΠΎΠ²Ρ‹Π΅ вСрсии с Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½Ρ‹ΠΌΠΈ возмоТностями. На ΠΌΠΎΠΌΠ΅Π½Ρ‚ Π½Π°Ρ‡Π°Π»Π° 2015 Π³. послСднСй вСрсиСй являСтся .NET 4.5.