ΠŸΠΎΠΌΠΎΡ‰ΡŒ Π² написании студСнчСских Ρ€Π°Π±ΠΎΡ‚
АнтистрСссовый сСрвис

ΠžΠ±Ρ‰Π°Ρ Ρ‡Π°ΡΡ‚ΡŒ. 
Π˜ΡΡ‚ΠΎΡ€ΠΈΡ языков программирования

Π Π΅Ρ„Π΅Ρ€Π°Ρ‚ΠŸΠΎΠΌΠΎΡ‰ΡŒ Π² Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠΈΠ£Π·Π½Π°Ρ‚ΡŒ ΡΡ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒΠΌΠΎΠ΅ΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹

Для построСния ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ Π½Π° ΡΠΊΡ€Π°Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ систСма ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚. ΠžΡ‚ΡΡ‡Π΅Ρ‚ начинаСтся ΠΎΡ‚ Π²Π΅Ρ€Ρ…Π½Π΅Π³ΠΎ Π»Π΅Π²ΠΎΠ³ΠΎ ΡƒΠ³Π»Π° экрана, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΈΠΌΠ΅Π΅Ρ‚ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ (0,0). Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π₯ (столбСц) увСличиваСтся слСва Π½Π°ΠΏΡ€Π°Π²ΠΎ, Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Y (строка) увСличиваСтся свСрху Π²Π½ΠΈΠ·. Π§Ρ‚ΠΎΠ±Ρ‹ ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ изобраТСния, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ Ρ‚ΠΎΡ‡ΠΊΡƒ Π½Π°Ρ‡Π°Π»Π° Π²Ρ‹Π²ΠΎΠ΄Π°. Π’ Ρ‚Скстовых Ρ€Π΅ΠΆΠΈΠΌΠ°Ρ… эту Ρ‚ΠΎΡ‡ΠΊΡƒ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ курсор, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ присутствуСт Π½Π° ΡΠΊΡ€Π°Π½Π΅… Π§ΠΈΡ‚Π°Ρ‚ΡŒ Π΅Ρ‰Ρ‘ >

ΠžΠ±Ρ‰Π°Ρ Ρ‡Π°ΡΡ‚ΡŒ. Π˜ΡΡ‚ΠΎΡ€ΠΈΡ языков программирования (Ρ€Π΅Ρ„Π΅Ρ€Π°Ρ‚, курсовая, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Π°Ρ)

ГрафичСскиС возмоТности Turbo Pascal

Π’ ΡΡ‚Π°Π½Π΄Π°Ρ€Ρ‚Π΅ Паскаля графичСский Π²Ρ‹Π²ΠΎΠ΄ Π½Π΅ ΠΏΡ€Π΅Π΄ΡƒΡΠΌΠΎΡ‚Ρ€Π΅Π½. Однако Π½Π° Ρ€Π°Π·Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠ°Ρ… ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ΠΎΠ², Π² Ρ€Π°Π·Π½Ρ‹Ρ… рСализациях Паскаля ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Π΅ срСдства графичСского Π²Ρ‹Π²ΠΎΠ΄Π° — ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ Π½Π°Π±ΠΎΡ€Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…, Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€. НСсмотря Π½Π° Ρ‚Π°ΠΊΠΎΠ΅ Ρ€Π°Π·Π½ΠΎΠΎΠ±Ρ€Π°Π·ΠΈΠ΅, ΠΈΠΌΠ΅ΡŽΡ‚ΡΡ ΠΎΠ±Ρ‰ΠΈΠ΅ понятия ΠΈ ΡΡ€Π΅Π΄ΡΡ‚Π²Π°, свойствСнныС Π»ΡŽΠ±ΠΎΠΌΡƒ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρƒ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π³Ρ€Π°Ρ„ΠΈΠΊΠΈ Π² Π»ΡŽΠ±ΠΎΠΌ языкС программирования. Π’ Π΄Π°Π½Π½ΠΎΠΌ Ρ€Π°Π·Π΄Π΅Π»Π΅ Π»Π΅ΠΊΡ†ΠΈΠΉ ΠΌΡ‹ Π·Π°Ρ‚Ρ€ΠΎΠ½Π΅ΠΌ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‚Π°ΠΊΠΈΠ΅ Π±Π°Π·ΠΎΠ²Ρ‹Π΅ срСдства.

Начиная с Ρ‡Π΅Ρ‚Π²Π΅Ρ€Ρ‚ΠΎΠΉ вСрсии Π’ΡƒΡ€Π±ΠΎ Паскаля для IBM PC появилась мощная графичСская Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°, организованная Π² ΠΌΠΎΠ΄ΡƒΠ»ΡŒ Graph. Π’ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ 2 Π² ΡΠΏΡ€Π°Π²ΠΎΡ‡Π½ΠΎΠΉ Ρ„ΠΎΡ€ΠΌΠ΅ Π΄Π°Π½ΠΎ описаниС основных ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ этого модуля. Π’ Ρ€Π°ΡΡΠΌΠΎΡ‚Ρ€Π΅Π½Π½Ρ‹Ρ… Π½ΠΈΠΆΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°Ρ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ Graph. Для Π΅Π³ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Π² Π½Π°Ρ‡Π°Π»Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ строку:

Uses Graph;

ГрафичСскиС Ρ€Π΅ΠΆΠΈΠΌΡ‹ экрана. Для Π²Ρ‹Π²ΠΎΠ΄Π° графичСских ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ пСрСвСсти экран Π² ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Π³Ρ€Π°Ρ„ичСских Ρ€Π΅ΠΆΠΈΠΌΠΎΠ². Π’ Π³Ρ€Π°Ρ„ичСском Ρ€Π΅ΠΆΠΈΠΌΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ· ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ состояниСм ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ пиксСла (Ρ‚ΠΎΡ‡Π΅Ρ‡Π½ΠΎΠ³ΠΎ элСмСнта) экрана.

ГрафичСскиС Ρ€Π΅ΠΆΠΈΠΌΡ‹ ΠΎΡ‚Π»ΠΈΡ‡Π°ΡŽΡ‚ΡΡ:

Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠΌ графичСской сСтки (ΠœΡ… N, Π³Π΄Π΅ М— число Ρ‚ΠΎΡ‡Π΅ΠΊ ΠΏΠΎ Π³ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΠΈ, N — число Ρ‚ΠΎΡ‡Π΅ΠΊ ΠΏΠΎ Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΠΈ);

Ρ†Π²Π΅Ρ‚Π½ΠΎΡΡ‚ΡŒΡŽ (число воспроизводимых Π½Π° ΡΠΊΡ€Π°Π½Π΅ Ρ†Π²Π΅Ρ‚ΠΎΠ²). ДопустимыС Ρ€Π΅ΠΆΠΈΠΌΡ‹ зависят ΠΎΡ‚ Ρ‚ΠΈΠΏΠ° ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€Π° ΠΈ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ графичСского Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π°, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠ³ΠΎ Π½Π° ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅.

Для установки графичСского Ρ€Π΅ΠΆΠΈΠΌΠ° экрана ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹. Π’ ΠΌΠΎΠ΄ΡƒΠ»Π΅ Graph ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° установки графичСского Ρ€Π΅ΠΆΠΈΠΌΠ° экрана ΠΈΠΌΠ΅Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ:

Procedure InitGraph (Var Driver, Mode: Integer; Path: String);

Бписок констант модуля Graph, ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‰ΠΈΡ… Ρ‚ΠΈΠΏΡ‹ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ΠΎΠ² ΠΈ Ρ€Π΅ΠΆΠΈΠΌΡ‹.

Π¦Π²Π΅Ρ‚ Ρ„ΠΎΠ½Π° ΠΈ Ρ†Π²Π΅Ρ‚ рисунка. На Ρ†Π²Π΅Ρ‚Π½ΠΎΠΌ ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΌΠ΅Π½ΡΡ‚ΡŒ окраску экрана. УстановлСнная окраска экрана называСтся Ρ†Π²Π΅Ρ‚ΠΎΠΌ Ρ„ΠΎΠ½Π°. Рисунок Π½Π° ΡΡ‚ΠΎΠΌ Ρ„ΠΎΠ½Π΅ наносится с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ€Π°Π·Π½ΠΎΠΎΠ±Ρ€Π°Π·Π½Ρ‹Ρ… Π»ΠΈΠ½ΠΈΠΉ: прямых, окруТностСй, ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠΎΠ², Π»ΠΎΠΌΠ°Π½Ρ‹Ρ… ΠΈ Ρ‚. Π΄. Π¦Π²Π΅Ρ‚Π° этих Π»ΠΈΠ½ΠΈΠΉ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠ³ΡƒΡ‚ ΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ.

Π—Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ процСдурыустановкицвСтафона:

ProcedureSetBkColor (Color:Word);

Π—Π΄Π΅ΡΡŒ Color — Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Ρ†Π΅Π»ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ°, ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‰Π΅Π΅ Π½ΠΎΠΌΠ΅Ρ€ Ρ†Π²Π΅Ρ‚Π° Ρ„ΠΎΠ½Π°.

ЗаголовокпроцСдурыустановкицвСталиний:

ProcedureSetColor (Color:Word);

Π—Π°ΠΌΠ΅Ρ‚ΠΈΠΌ, Ρ‡Ρ‚ΠΎ Ссли Π² ΠΊΠ°Ρ‡Π΅ΡΡ‚Π²Π΅ Π½ΠΎΠΌΠ΅Ρ€Π° Ρ†Π²Π΅Ρ‚Π° Π»ΠΈΠ½ΠΈΠΈ указываСтся 0, Ρ‚ΠΎ ΡΡ‚ΠΎ всСгда совпадаСт с Ρ†Π²Π΅Ρ‚ΠΎΠΌ Ρ„ΠΎΠ½Π° (нСвидимая линия).

Если Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΡ‡ΠΈΡΡ‚ΠΈΡ‚ΡŒ графичСский экран (ΡΡ‚Π΅Ρ€Π΅Ρ‚ΡŒ рисунок), Ρ‚ΠΎ Π΄Π»Ρ этого ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° очистки экрана.

ЗаголовокпроцСдурыочисткиэкрана:

ProcedureClearDevice;

Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ выполнСния этой ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ экран заполняСтся установлСнным Ρ†Π²Π΅Ρ‚ΠΎΠΌ Ρ„ΠΎΠ½Π°. ГрафичСскиС ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹. ПолоТСниС ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ пиксСля графичСской сСтки ΠΎΠ΄Π½ΠΎΠ·Π½Π°Ρ‡Π½ΠΎ опрСдСляСтся ΡƒΠΊΠ°Π·Π°Π½ΠΈΠ΅ΠΌ Π΅Π³ΠΎ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚. ГрафичСскоС ΠΎΠΊΠ½ΠΎ. ΠžΠ±Π»Π°ΡΡ‚ΡŒ Π²Ρ‹Π²ΠΎΠ΄Π° изобраТСния ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π° Π»ΡŽΠ±Ρ‹ΠΌ ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠΎΠΌ Π² ΠΏΡ€Π΅Π΄Π΅Π»Π°Ρ… экрана. Вакая ΠΎΠ±Π»Π°ΡΡ‚ΡŒ называСтся графичСским ΠΎΠΊΠ½ΠΎΠΌ. БущСствуСт ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π°, ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°ΡŽΡ‰Π°Ρ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ графичСского ΠΎΠΊΠ½Π° Π½Π° ΡΠΊΡ€Π°Π½Π΅. Π—Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ назначСния графичСского ΠΎΠΊΠ½Π°:

ProcedureSetViewPort (XI, Yl, Π₯2, Y2:Integer;Clip:Boolean);

ПослС установки ΠΎΠΊΠ½Π° ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ Ρ‚ΠΎΡ‡Π΅ΠΊ Π²Π½ΡƒΡ‚Ρ€ΠΈ Π½Π΅Π³ΠΎ ΠΎΡ‚ΡΡ‡ΠΈΡ‚Ρ‹Π²Π°ΡŽΡ‚ΡΡ ΠΎΡ‚ Π²Π΅Ρ€Ρ…Π½Π΅Π³ΠΎ Π»Π΅Π²ΠΎΠ³ΠΎ ΡƒΠ³Π»Π°. БущСствуСт понятиС графичСского курсора (ΠΏΠΎ Π°Π½Π°Π»ΠΎΠ³ΠΈΠΈ с ΡΠΈΠΌΠ²ΠΎΠ»ΡŒΠ½Ρ‹ΠΌ курсором). Но Π² ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ ΡΠΈΠΌΠ²ΠΎΠ»ΡŒΠ½ΠΎΠ³ΠΎ курсора графичСский курсор Π½Π° ΡΠΊΡ€Π°Π½Π΅ Π½Π΅ Π²ΠΈΠ΄Π΅Π½. ГрафичСский курсор ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΏΠ° Ρ‚Π΅ΠΊΡƒΡ‰ΡƒΡŽ ΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ Π½Π° ΡΠΊΡ€Π°Π½Π΅. ΠŸΡ€ΠΈ Π²Ρ…ΠΎΠ΄Π΅ Π² Π³Ρ€Π°Ρ„ичСский Ρ€Π΅ΠΆΠΈΠΌ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ Ρ€Π°Π²Π½Ρ‹ (0,0).

ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π°Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈΡΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Π³Ρ€Π°Ρ„ΠΈΡ‡Π΅ΡΠΊΠΎΠ³ΠΎΠΊΡƒΡ€ΡΠΎΡ€Π°:

ProcedureMoveTo (X, Y: Integer);

ГрафичСскиС ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Ρ‹. Π₯отя любоС ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ ΠΈΠ· Ρ‚ΠΎΡ‡Π΅ΠΊ, Π½ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ слоТного рисунка ΠΈΠ»ΠΈ Ρ‡Π΅Ρ€Ρ‚Π΅ΠΆΠ°, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρƒ ΠΏΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Ρ‚ΠΎΡ‡ΠΊΡƒ, Π±Ρ‹Π»ΠΎ Π±Ρ‹ слишком Π½Π΅ΡƒΠ΄ΠΎΠ±Π½ΠΎ ΠΈ Π³Ρ€ΠΎΠΌΠΎΠ·Π΄ΠΊΠΎ. Π’ Π»ΡŽΠ±ΠΎΠΌ графичСском ΠΏΠ°ΠΊΠ΅Ρ‚Π΅ сущСствуСт ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ рисования основных гСомСтричСских Ρ„ΠΈΠ³ΡƒΡ€: прямых Π»ΠΈΠ½ΠΈΠΉ, окруТностСй, эллипсов, ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠΎΠ². Π’Π°ΠΊΠΈΠ΅ Ρ„ΠΈΠ³ΡƒΡ€Ρ‹ Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ графичСскими ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Π°ΠΌΠΈ.

ΠŸΠ΅Ρ€Π΅Π΄ использованиСм ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ InitGraph Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π΄Π²Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Π²Π΅Π»ΠΈΡ‡ΠΈΠ½Ρ‹ Ρ‚ΠΈΠΏΠ° Integer с ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ (я ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π» ΠΈΠΌΠ΅Π½Π° Device ΠΈ Mode). ОбС эти ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΠΏΡ€ΠΈ ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠΈ ΠΊ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π΅ InitGraph Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ записаны Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΊΡ€ΡƒΠ³Π»Ρ‹Ρ… скобок. Π’Π°ΠΌ Π½Π° ΠΏΠ΅Ρ€Π²Ρ‹Ρ… ΠΏΠΎΡ€Π°Ρ… ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½Π½ΠΎ Π½Π΅ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ это Π·Π½Π°Ρ‚ΡŒ, Π½ΠΎ ΠΏΠΎΡΡΠ½ΡŽ, Ρ‡Ρ‚ΠΎ Device ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ Ρ‚ΠΈΠΏ вашСго Π²ΠΈΠ΄Π΅ΠΎΠ°Π΄Π°ΠΏΡ‚Π΅Ρ€Π° (CGA, EGA, VGA ΠΈΠ»ΠΈ Π΄Ρ€ΡƒΠ³ΠΎΠΉ), Π° Mode ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ Π½ΠΎΠΌΠ΅Ρ€ графичСского Ρ€Π΅ΠΆΠΈΠΌΠ°. Если Π²Ρ‹ Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ Π·Π½Π°Π΅Ρ‚Π΅ Π½ΠΈ ΠΎ Ρ‚ΠΎΠΌ, Π½ΠΈ ΠΎ Π΄Ρ€ΡƒΠ³ΠΎΠΌ, смСло ΠΏΠΈΡˆΠΈΡ‚Π΅ Device := 0 ΠΈ ΠŸΠ°ΡΠΊΠ°Π»ΡŒ сам ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ Ρ‚ΠΈΠΏ вашСго Π²ΠΈΠ΄Π΅ΠΎΠ°Π΄Π°ΠΏΡ‚Π΅Ρ€Π° ΠΈ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ самый ΠΌΠΎΡ‰Π½Ρ‹ΠΉ ΠΈΠ· Π΄ΠΎΠΏΡƒΡΡ‚ΠΈΠΌΡ‹Ρ… графичСский Ρ€Π΅ΠΆΠΈΠΌ.

Π’Ρ€Π΅Ρ‚ΠΈΠΉ элСмСнт — Π½Π΅ Ρ‡Ρ‚ΠΎ ΠΈΠ½ΠΎΠ΅, ΠΊΠ°ΠΊ ΠΏΡƒΡ‚ΡŒ ΠΊ Π³Ρ€Π°Ρ„ичСским Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π°ΠΌ Паскаля. Π― ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π» ΡƒΠ³Π»ΠΎΠ²Ρ‹Π΅ скобки, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ΄Ρ‡Π΅Ρ€ΠΊΠ½ΡƒΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π² Π²Π°ΡˆΠ΅ΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ Π½ΡƒΠΆΠ½ΠΎ ΠΏΠΈΡΠ°Ρ‚ΡŒ Π½Π΅ Ρ‚Π΅ Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅ русских слова, Ρ‡Ρ‚ΠΎ Π²Π½ΡƒΡ‚Ρ€ΠΈ ΡƒΠ³Π»ΠΎΠ²Ρ‹Ρ… скобок, Π° Ρ‚ΠΎ, Π½Π° Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΈ ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚. ΠŸΠΎΡ‡Ρ‚ΠΈ навСрняка для вас графичСский Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ прСдставлСн Ρ„Π°ΠΉΠ»ΠΎΠΌ egavga. bgi, располоТСнном Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ BGI. Если сам Паскаль располоТСн Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ TP диска c, Ρ‚ΠΎ ΡΡ‚Ρ€ΠΎΠΊΠ° вашСй ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ Ρ‚Π°ΠΊ:

InitGraph (Device, Mode, `c:TPBGI').

Если Π²Ρ‹ Π΅Π΅ Π·Π°ΠΏΠΈΡΠ°Π»ΠΈ Π²Π΅Ρ€Π½ΠΎ, Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠΏΡ‹Ρ‚Π°Ρ‚ΡŒΡΡ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, ΠΈ ΠΏΡ€ΠΈ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠΉ настройкС Паскаля Ρƒ Π²Π°Ρ всС получится. Π’Π΅Ρ…, ΠΊΡ‚ΠΎ Π½Π΅ Π·Π½Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΈ ΠΈ Ρ„Π°ΠΉΠ»Ρ‹, ΠΎΡ‚ΡΡ‹Π»Π°ΡŽ ΠΊ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡŽ.

Если Паскаль ΠΏΡ€ΠΈ запускС графичСского Ρ€Π΅ΠΆΠΈΠΌΠ° ТалуСтся (File not found (GRAPH.TPU)), Ρ‚ΠΎ ΠΏΡ€ΠΎΡ‡Ρ‚ΠΈΡ‚Π΅ «ΠžΠ±Π·ΠΎΡ€ популярных ΠΊΠΎΠΌΠ°Π½Π΄ мСню» ΠΈΠ· Ρ‡Π°ΡΡ‚ΠΈ IV. Π’Π°ΠΌ сказано, Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ.

Π£Ρ‡Ρ‚ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΈ Ρ€Π΅ΠΆΠΈΠΌΠΎΠ² всС содСрТимоС экрана стираСтся.

Для построСния ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ Π½Π° ΡΠΊΡ€Π°Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ систСма ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚. ΠžΡ‚ΡΡ‡Π΅Ρ‚ начинаСтся ΠΎΡ‚ Π²Π΅Ρ€Ρ…Π½Π΅Π³ΠΎ Π»Π΅Π²ΠΎΠ³ΠΎ ΡƒΠ³Π»Π° экрана, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΈΠΌΠ΅Π΅Ρ‚ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ (0,0). Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π₯ (столбСц) увСличиваСтся слСва Π½Π°ΠΏΡ€Π°Π²ΠΎ, Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Y (строка) увСличиваСтся свСрху Π²Π½ΠΈΠ·. Π§Ρ‚ΠΎΠ±Ρ‹ ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ изобраТСния, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ Ρ‚ΠΎΡ‡ΠΊΡƒ Π½Π°Ρ‡Π°Π»Π° Π²Ρ‹Π²ΠΎΠ΄Π°. Π’ Ρ‚Скстовых Ρ€Π΅ΠΆΠΈΠΌΠ°Ρ… эту Ρ‚ΠΎΡ‡ΠΊΡƒ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ курсор, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ присутствуСт Π½Π° ΡΠΊΡ€Π°Π½Π΅. Π’ Π³Ρ€Π°Ρ„ичСских Ρ€Π΅ΠΆΠΈΠΌΠ°Ρ… Π²ΠΈΠ΄ΠΈΠΌΠΎΠ³ΠΎ курсора Π½Π΅Ρ‚, Π½ΠΎ Π΅ΡΡ‚ΡŒ Π½Π΅Π²ΠΈΠ΄ΠΈΠΌΡ‹ΠΉ Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ CP (Current Pointer). ЀактичСски это Ρ‚ΠΎΡ‚ ΠΆΠ΅ курсор, Π½ΠΎ ΠΎΠ½ Π½Π΅Π²ΠΈΠ΄ΠΈΠΌ.

Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ двиТСния изобраТСния ΠΌΠΎΠΆΠ½ΠΎ нСсколькими способами.

I ΡΠΏΠΎΡΠΎΠ±. Π˜ΠΌΠΈΡ‚Π°Ρ†ΠΈΡ двиТСния ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Π½Π° ΡΠΊΡ€Π°Π½Π΅ Π·Π° ΡΡ‡Π΅Ρ‚ ΠΌΠ½ΠΎΠ³ΠΎΠΊΡ€Π°Ρ‚Π½ΠΎΠ³ΠΎ Π½Π°Π±ΠΎΡ€Π° дСйствий: Π½Π°Ρ€ΠΈΡΠΎΠ²Π°Ρ‚ΡŒΠΏΠ°ΡƒΠ·Π°ΡΡ‚Π΅Ρ€Π΅Ρ‚ΡŒΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ полоТСния рисунка.

II ΡΠΏΠΎΡΠΎΠ±. Иллюзия двиТСния создаСтся ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€ ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ. ImageSize Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Ρ€Π°Π·ΠΌΠ΅Ρ€ памяти Π² Π±Π°ΠΉΡ‚Π°Ρ…, для размСщСния Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Π° изобраТСния. GetImage ΠΏΠΎΠΌΠ΅Ρ‰Π°Π΅Ρ‚ Π² ΠΏΠ°ΠΌΡΡ‚ΡŒ копию Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Π° изобраТСния. PutImage Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ Π² Π·Π°Π΄Π°Π½Π½ΠΎΠ΅ мСсто экрана копию Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Π° изобраТСния, Ρ€Π°Π½Π΅Π΅ ΠΏΠΎΠΌΠ΅Ρ‰Π΅Π½Π½ΡƒΡŽ Π² ΠΏΠ°ΠΌΡΡ‚ΡŒ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€ΠΎΠΉ GetImage.

По Π°Π½Π°Π»ΠΎΠ³ΠΈΠΈ с Ρ‚Скстовыми Ρ€Π΅ΠΆΠΈΠΌΠ°ΠΌΠΈ графичСский экран ΠΌΠΎΠΆΠ΅Ρ‚ Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒΡΡ ΠΊΠ°ΠΊ ΠΎΠ΄Π½ΠΎ большоС ΠΈΠ»ΠΈ нСсколько ΠΌΠ΅Π½ΡŒΡˆΠΈΡ… ΠΏΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€Ρƒ ΠΎΠΊΠΎΠ½. ПослС установки ΠΎΠΊΠ½Π° вся ΠΎΡΡ‚Π°Π»ΡŒΠ½Π°Ρ ΠΏΠ»ΠΎΡ‰Π°Π΄ΡŒ экрана ΠΊΠ°ΠΊ Π±Ρ‹ Π½Π΅ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΠ΅Ρ‚, ΠΈ Π²Π΅ΡΡŒ Π²Π²ΠΎΠ΄-Π²Ρ‹Π²ΠΎΠ΄ осущСствляСтся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‡Π΅Ρ€Π΅Π· ΠΎΠΊΠ½ΠΎ. Π’ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΌ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄Π½ΠΎ ΠΎΠΊΠ½ΠΎ.

ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ вСсь тСкст
Π—Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Ρ€Π°Π±ΠΎΡ‚ΠΎΠΉ