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

Π§ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎΠ½Π»Π°ΠΉΠ½ Β«Π―Π·Ρ‹ΠΊ программирования Euphoria. Π‘ΠΏΡ€Π°Π²ΠΎΡ‡Π½ΠΎΠ΅ руководство». Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° 34

Автор W Cat

ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ:

ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΡΠΎΡ…Ρ€Π°Π½ΡΡŽΡ‚ΡΡ ΠΈ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹, Π²Ρ‹ Π±ΡƒΠ΄Π΅Ρ‚Π΅ ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹Π΅ Ρ†Π²Π΅Ρ‚Π° Ρ„ΠΎΠ½Π°, символов ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ свойства для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ символа ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π΅Π²Ρ‹Π²ΠΎΠ΄Π΅ сохранённого тСкста.

Под DOS32 Π±Π°ΠΉΡ‚ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π° состоит ΠΈΠ· Π΄Π²ΡƒΡ… 4-Π±ΠΈΡ‚Π½Ρ‹Ρ… ΠΏΠΎΠ»Π΅ΠΉ, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… содСрТится информация ΠΎ Ρ†Π²Π΅Ρ‚Π΅ Ρ„ΠΎΠ½Π° ΠΈ символа для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ знакомСста. Π‘Ρ‚Π°Ρ€ΡˆΠΈΠ΅ 4 Π±ΠΈΡ‚Π° ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‚ Ρ†Π²Π΅Ρ‚ Ρ„ΠΎΠ½Π°, Π° младшиС 4 Π±ΠΈΡ‚Π° Π΄Π°ΡŽΡ‚ Ρ†Π²Π΅Ρ‚ символа Π½Π° этом Ρ„ΠΎΠ½Π΅.

Π­Ρ‚Π° ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² тСкстовых Ρ€Π΅ΠΆΠΈΠΌΠ°Ρ….

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ эту Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Π² графичСском ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠΌ интСрфСйсС тСкстового Ρ€Π΅ΠΆΠΈΠΌΠ° для сохранСния участков экрана ΠΏΠ΅Ρ€Π΅Π΄ Π²Ρ‹Π²ΠΎΠ΄ΠΎΠΌ Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰ΠΈΡ… мСню, Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ², ΠΏΡ€Π΅Π΄ΡƒΠΏΡ€Π΅ΠΆΠ΄Π΅Π½ΠΈΠΉ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… элСмСнтов управлСния.

Под DOS32, Ссли Π²Ρ‹ примСняСтС Ρ‡Π΅Ρ€Π΅Π΄ΠΎΠ²Π°Π½ΠΈΠ΅ видСостраниц, ΠΈΠΌΠ΅ΠΉΡ‚Π΅ Π² Π²ΠΈΠ΄Ρƒ, Ρ‡Ρ‚ΠΎ данная функция ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ с Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΉ страницы.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€:

Если Π½Π° Π΄Π²ΡƒΡ… Π²Π΅Ρ€Ρ…Π½ΠΈΡ… строках экрана имССтся:


Hello

World


ΠΈ Π²Ρ‹ исполнитС:


s = save_text_image({1,1}, {2,5})


Ρ‚ΠΎΠ³Π΄Π° s Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ Π²ΠΈΠ΄:


{"H-e-l-l-o-",

"W-o-r-l-d-"}

символ '-' здСсь ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ Π½Π΅ΠΊΠΈΠ΅ Π±Π°ΠΉΡ‚Ρ‹ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠ².


Π‘ΠΌ. Ρ‚Π°ΠΊΠΆΠ΅:

display_text_image, save_image, set_active_page, get_screen_char


scroll


Бинтаксис:

include graphics.e

scroll(i1, i2, i3)

ОписаниС:

ΠŸΡ€ΠΎΠΊΡ€ΡƒΡ‡ΠΈΠ²Π°Π΅Ρ‚ участок тСкста Π½Π° экранС Π²Π²Π΅Ρ€Ρ… (Ссли i1 ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅) ΠΈΠ»ΠΈ Π²Π½ΠΈΠ· (Ссли i1 ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ΅) Π½Π° i1 строк. Участок тСкста - это ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ строк Π½Π° экранС ΠΎΡ‚ i2 (вСрхняя строка) Π΄ΠΎ i3 (ниТняя строка) Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ. Π‘Π²Π΅Ρ€Ρ…Ρƒ ΠΈΠ»ΠΈ снизу Π±ΡƒΠ΄ΡƒΡ‚ ΠΏΠΎΡΠ²Π»ΡΡ‚ΡŒΡΡ Π½ΠΎΠ²Ρ‹Π΅ пустыС строки.

ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ:

Π’Ρ‹ ΠΌΠΎΠ³Π»ΠΈ Π±Ρ‹ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‡ΠΈΠ²Π°Π½ΠΈΠ΅ экрана, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ сСрии Π²Ρ‹Π·ΠΎΠ²ΠΎΠ² puts(), Π½ΠΎ scroll() Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ быстрСС.

ΠŸΠΎΠ·ΠΈΡ†ΠΈΡ курсора послС ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΊΠΈ Π½Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π°.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹:

bin\ed.ex

Π‘ΠΌ. Ρ‚Π°ΠΊΠΆΠ΅:

clear_screen, text_rows


seek


Бинтаксис:

include file.e

i1 = seek(fn, a1)

ОписаниС:

ΠŸΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ Π½Π° ΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ Π±Π°ΠΉΡ‚Π° с Π½ΠΎΠΌΠ΅Ρ€ΠΎΠΌ a1 Π² Ρ„Π°ΠΉΠ»Π΅ fn ΠΈΠ»ΠΈ Π² ΠΊΠΎΠ½Π΅Ρ† Ρ„Π°ΠΉΠ»Π°, Ссли a1 Ρ€Π°Π²Π½ΠΎ -1. Для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΈΠ· ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ² Ρƒ систСмы имССтся информация ΠΎ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Π±Π°ΠΉΡ‚ΠΎΠ²ΠΎΠΉ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ, которая обновляСтся Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ выполнСния Π½Π° Ρ„Π°ΠΉΠ»Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ Π²Π²ΠΎΠ΄Π°/Π²Ρ‹Π²ΠΎΠ΄Π°. ΠΠ°Ρ‡Π°Π»ΡŒΠ½Π°Ρ позиция Ρ€Π°Π²Π½Π° 0 для Ρ„Π°ΠΉΠ»ΠΎΠ², ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹Ρ… Π½Π° Ρ‡Ρ‚Π΅Π½ΠΈΠ΅, запись ΠΈΠ»ΠΈ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅. ΠΠ°Ρ‡Π°Π»ΡŒΠ½Π°Ρ позиция Ρ€Π°Π²Π½Π° ΠΊΠΎΠ½Ρ†Ρƒ Ρ„Π°ΠΉΠ»Π° для Ρ„Π°ΠΉΠ»ΠΎΠ², ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹Ρ… Π½Π° Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅. Π’Π΅Π»ΠΈΡ‡ΠΈΠ½Π° i1, выдаваСмая Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ seek(), Ρ€Π°Π²Π½Π° 0, Ссли ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ Π² Π·Π°Π΄Π°Π½Π½ΡƒΡŽ ΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ Π·Π°Π²Π΅Ρ€ΡˆΠΈΠ»ΡΡ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ, ΠΈ Π½Π΅ Ρ€Π°Π²Π½Π° 0, Ссли ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Ρƒ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ помСшало. Π’ΠΎΠ·ΠΌΠΎΠΆΠ΅Π½ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ Π·Π° Π³Ρ€Π°Π½ΠΈΡ†Ρƒ ΠΈΠΌΠ΅ΡŽΡ‰Π΅Π³ΠΎΡΡ Ρ„Π°ΠΉΠ»Π°, Π² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ Π·Π° Π΅Π³ΠΎ ΠΊΠΎΠ½Ρ†ΠΎΠΌ. Если Π²Ρ‹ ΠΏΠ΅Ρ€Π΅ΡˆΠ»ΠΈ Π·Π° ΠΊΠΎΠ½Π΅Ρ† Ρ„Π°ΠΉΠ»Π° ΠΈ записываСтС Π΄Π°Π½Π½Ρ‹Π΅, Π² Π·Π°Π·ΠΎΡ€ ΠΌΠ΅ΠΆΠ΄Ρƒ имСвшимся ΠΊΠΎΠ½Ρ†ΠΎΠΌ Ρ„Π°ΠΉΠ»Π° ΠΈ вашими Π½ΠΎΠ²Ρ‹ΠΌΠΈ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ Π±ΡƒΠ΄ΡƒΡ‚ вставлСны Π½Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½Ρ‹Π΅ Π±Π°ΠΉΡ‚Ρ‹.

ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ:

ПослС ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π° Π² Π·Π°Π΄Π°Π½Π½ΡƒΡŽ ΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ ΠΈ чтСния (записи) ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Π±Π°ΠΉΡ‚ΠΎΠ² Π²Π°ΠΌ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π½ΠΎΠ²Ρ‹ΠΉ явный Π²Ρ‹Π·ΠΎΠ² seek() нСпосрСдствСнно ΠΏΠ΅Ρ€Π΅Π΄ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ Π½Π° запись (Ρ‡Ρ‚Π΅Π½ΠΈΠ΅) Π±Π°ΠΉΡ‚ΠΎΠ², Π΄Π°ΠΆΠ΅ Ссли позиция Π² Ρ„Π°ΠΉΠ»Π΅ ΡƒΠΆΠ΅ Π±Ρ‹Π»Π° ΠΈΠΌΠ΅Π½Π½ΠΎ Ρ‚Π°, которая Π²Π°ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠ°.

Π­Ρ‚Π° функция ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ с Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ, ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌΠΈ Π² Π΄Π²ΠΎΠΈΡ‡Π½ΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅. Π’ тСкстовом Ρ€Π΅ΠΆΠΈΠΌΠ΅ DOS ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ΅Ρ‚ CR LF Π² LF Π½Π° Π²Ρ…ΠΎΠ΄Π΅, ΠΈ LF Π² CR LF Π½Π° Π²Ρ‹Ρ…ΠΎΠ΄Π΅, Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒ Π²Π΅Π»ΠΈΠΊΡƒΡŽ ΠΏΡƒΡ‚Π°Π½ΠΈΡ†Ρƒ, ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ ΠΏΡ‹Ρ‚Π°Π΅Ρ‚Π΅ΡΡŒ ΠΏΠΎΠ΄ΡΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ Π±Π°ΠΉΡ‚Ρ‹.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€:


include file.e


integer fn

fn = open("mydata", "rb")

-- Ρ‡ΠΈΡ‚Π°Π΅Ρ‚ ΠΈ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅Ρ‚ ΠΏΠ΅Ρ€Π²ΡƒΡŽ строку Ρ„Π°ΠΉΠ»Π° 3 Ρ€Π°Π·Π°:

for i = 1 to 3 do

puts(1, gets(fn))

if seek(fn, 0) then

puts(1, "ΠΏΠ΅Ρ€Π΅ΠΌΠΎΡ‚ΠΊΠ° Π½Π΅ сработала!\n")

end if

end for


Π‘ΠΌ. Ρ‚Π°ΠΊΠΆΠ΅:

where, open


sequence


Бинтаксис:

i = sequence(x)

ОписаниС:

Π’Ρ‹Π΄Π°Ρ‘Ρ‚ 1, Ссли x являСтся рядом, ΠΈΠ½Π°Ρ‡Π΅ Π²Ρ‹Π΄Π°Ρ‘Ρ‚ 0.

ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ:

ОсновноС Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ - ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠ° ряд. Но Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒ Π΅Ρ‘ ΠΊΠ°ΠΊ ΠΎΠ±Ρ‹Ρ‡Π½ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ, являСтся Π»ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ рядом.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ 1:


sequence s

s = {1,2,3}


ΠŸΡ€ΠΈΠΌΠ΅Ρ€ 2:


if sequence(x) then

sum = 0

for i = 1 to length(x) do

sum = sum + x[i]

end for

else

-- x Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ Π°Ρ‚ΠΎΠΌΠΎΠΌ

sum = x

end if


Π‘ΠΌ. Ρ‚Π°ΠΊΠΆΠ΅:

atom, object, integer, atoms and sequences


set_active_page


ΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°:

DOS32

Бинтаксис:

include image.e

set_active_page(i)

ОписаниС:

Π’Ρ‹Π±ΠΈΡ€Π°Π΅Ρ‚ видСостраницу Π½ΠΎΠΌΠ΅Ρ€ i для всСх Π²Ρ‹Π²ΠΎΠ΄ΠΎΠ² Π½Π° экран.

ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ:

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ нСсколько видСостраниц, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ содСрТимоС всСго экрана сразу Π±Π΅Π· ΠΊΠ°ΠΊΠΈΡ… Π±Ρ‹ Ρ‚ΠΎ Π½ΠΈ Π±Ρ‹Π»ΠΎ Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΏΠΎΠ΄Ρ‘Ρ€Π³ΠΈΠ²Π°Π½ΠΈΠΉ ΠΈ мСльканий. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Ρ‚Π°ΠΊΠΆΠ΅ сначала Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ Π½Π° Π½Π΅Π²ΠΈΠ΄ΠΈΠΌΡƒΡŽ страницу экрана, Π° ΠΏΠΎΡ‚ΠΎΠΌ быстро, практичСски ΠΌΠ³Π½ΠΎΠ²Π΅Π½Π½ΠΎ, ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½ΠΈΡ‚ΡŒ страницы ΠΈ вывСсти эту Π½ΠΎΠ²ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ.

Ѐункция video_config() сообщит Π²Π°ΠΌ, ΠΊΠ°ΠΊ ΠΌΠ½ΠΎΠ³ΠΎ Π²ΠΈΠ΄Π΅ΠΎ страниц доступно Π² Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΌ графичСском Ρ€Π΅ΠΆΠΈΠΌΠ΅ Π½Π° вашСй Π²ΠΈΠ΄Π΅ΠΎΠΏΠ»Π°Ρ‚Π΅.

По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ активная страница ΠΈ отобраТаСмая страница ΠΎΠ±Π΅ ΠΈΠΌΠ΅ΡŽΡ‚ Π½ΠΎΠΌΠ΅Ρ€ 0.

Всё это Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΏΠΎΠ΄ DOS ΠΈΠ»ΠΈ Π² полноэкранном ΠΎΠΊΠ½Π΅ DOS. Π’ ΠΎΠΊΠ½Π°Ρ…, Π·Π°Π½ΠΈΠΌΠ°ΡŽΡ‰ΠΈΡ… Ρ‡Π°ΡΡ‚ΡŒ экрана, Π²Ρ‹ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΌΠ°Π½ΠΈΠΏΡƒΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½ΠΎΠΌΠ΅Ρ€Π°ΠΌΠΈ Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΉ страницы.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€:


include image.e


-- активная ΠΈ отобраТаСмая страницы сначала ΠΎΠ±Π΅ ΠΈΠΌΠ΅ΡŽΡ‚ Π½ΠΎΠΌΠ΅Ρ€ 0

puts(1, "\nΠ­Ρ‚ΠΎ страница 0\n")

set_active_page(1) -- экранный Π²Ρ‹Π²ΠΎΠ΄ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΏΠΎΠΉΠ΄Ρ‘Ρ‚ Π½Π° страницу 1

clear_screen()

puts(1, "\nΠ’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΡ‹ ΠΏΠ΅Ρ€Π΅ΡˆΠ»ΠΈ Π½Π° страницу 1\n")

if getc(0) then -- ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΠ΅ наТатия клавиши

end if

set_display_page(1) -- "Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΡ‹ ..." становится Π²ΠΈΠ΄ΠΈΠΌΡ‹ΠΌ

if getc(0) then -- ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΠ΅ наТатия клавиши

end if

set_display_page(0) -- "Π­Ρ‚ΠΎ ..." становится Π²ΠΈΠ΄ΠΈΠΌΡ‹ΠΌ снова

set_active_page(0)


Π‘ΠΌ. Ρ‚Π°ΠΊΠΆΠ΅:

get_active_page, set_display_page, video_config


set_display_page


ΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°:

DOS32

Бинтаксис:

include image.e

set_display_page(i)

ОписаниС:

Π”Π΅Π»Π°Π΅Ρ‚ видСостраницу Π½ΠΎΠΌΠ΅Ρ€ i ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅ΠΌΠΎΠΉ Π½Π° экранС.

ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ:

Π‘ нСсколькими видСостраницами Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΌΠΎΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ содСрТимоС всСго экрана Π±Π΅Π· Π΄Ρ€ΠΎΠΆΠ°Π½ΠΈΠΉ ΠΈ мСльканий. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Ρ‚Π°ΠΊΠΆΠ΅ ΡΠΏΡ€ΡΡ‚Π°Ρ‚ΡŒ содСрТимоС экрана, Π° Π·Π°Ρ‚Π΅ΠΌ быстро Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ Π΅Π³ΠΎ Π½Π° ΠΏΡ€Π΅ΠΆΠ½Π΅Π΅ мСсто.

Ѐункция video_config() сообщит Π²Π°ΠΌ, сколько видСостраниц доступно Π² Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΌ Π²ΠΈΠ΄Π΅ΠΎΡ€Π΅ΠΆΠΈΠΌΠ΅ Π½Π° вашСй Π²ΠΈΠ΄Π΅ΠΎΠΏΠ»Π°Ρ‚Π΅.

По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Π² качСствС ΠΈ Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΉ, ΠΈ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅ΠΌΠΎΠΉ страницы ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ видСостраница ΠΏΠΎΠ΄ Π½ΠΎΠΌΠ΅Ρ€ΠΎΠΌ 0.

Π­Ρ‚Π° ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΏΠΎΠ΄ DOS ΠΈΠ»ΠΈ Π² полноэкранном ΠΎΠΊΠ½Π΅ DOS. Π’ ΠΎΠΊΠ½Π°Ρ…, Π·Π°Π½ΠΈΠΌΠ°ΡŽΡ‰ΠΈΡ… Ρ‡Π°ΡΡ‚ΡŒ экрана, Π²Ρ‹ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΌΠ°Π½ΠΈΠΏΡƒΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½ΠΎΠΌΠ΅Ρ€Π°ΠΌΠΈ видСостраниц.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€:

See set_active_page() example.

Π‘ΠΌ. Ρ‚Π°ΠΊΠΆΠ΅:

get_display_page, set_active_page, video_config


set_rand


Бинтаксис:

include machine.e

set_rand(i1)

ОписаниС:

УстанавливаСт Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€ случайных чисСл Π² ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½ΠΎΠ΅ состояниС, i1, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ Π²Ρ‹ Π±ΡƒΠ΄Π΅Ρ‚Π΅ ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹Π΅ сСрии квазислучайных чисСл ΠΏΡ€ΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… запусках своСй ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ с Π²Ρ‹Π·ΠΎΠ²Π°ΠΌΠΈ rand().

ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ:

ΠžΠ±Ρ‹Ρ‡Π½ΠΎ числа, Π²Ρ‹Π΄Π°Π²Π°Π΅ΠΌΡ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ rand(), ΡΠ²Π»ΡΡŽΡ‚ΡΡ нСпрСдсказуСмыми ΠΈ Π±ΡƒΠ΄ΡƒΡ‚ ΠΏΡ€ΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ запускС вашСй ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ. Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, ΠΈΠ½ΠΎΠ³Π΄Π° Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΠΌΠ΅Ρ‚ΡŒ ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΡŽΡ‰ΠΈΠ΅ΡΡ сСрии квазислучайных чисСл, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, для Ρ†Π΅Π»Π΅ΠΉ ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΈΠ»ΠΈ, ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ, Π²Π°ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ΄ΠΈΠ½ ΠΈ Ρ‚ΠΎΡ‚ ΠΆΠ΅ Π²Ρ‹Π²ΠΎΠ΄ (ΠΊ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ, случайноС ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅) ΠΏΠΎ Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΡŽ вашСго ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€:


sequence s, t

s = repeat(0, 3)

t = s


set_rand(12345)

s[1] = rand(10)

s[2] = rand(100)

s[3] = rand(1000)


set_rand(12345) -- Ρ‚Π° ΠΆΠ΅ Π²Π΅Π»ΠΈΡ‡ΠΈΠ½Π° для set_rand()

t[1] = rand(10) -- Ρ‚Π΅ ΠΆΠ΅ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Ρ‹ для rand(), Ρ‡Ρ‚ΠΎ ΠΈ Ρ€Π°Π½Π΅Π΅

t[2] = rand(100)

t[3] = rand(1000)

-- Π² этой Ρ‚ΠΎΡ‡ΠΊΠ΅ s ΠΈ t Π±ΡƒΠ΄ΡƒΡ‚ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ‡Π½Ρ‹ΠΌΠΈ


Π‘ΠΌ. Ρ‚Π°ΠΊΠΆΠ΅:

rand


set_vector


ΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°:

DOS32

Бинтаксис:

include machine.e

set_vector(i, s)

ОписаниС:

УстанавливаСт s Π² качСствС Π½ΠΎΠ²ΠΎΠ³ΠΎ адрСса для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° прСрывания Π½ΠΎΠΌΠ΅Ρ€ i. Ряд s Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ дальний адрСс Π·Π°Ρ‰ΠΈΡ‰Ρ‘Π½Π½ΠΎΠ³ΠΎ Ρ€Π΅ΠΆΠΈΠΌΠ° Π² Ρ„ΠΎΡ€ΠΌΠ΅: {16-Π±ΠΈΡ‚Π½Ρ‹ΠΉ сСгмСнт, 32-Π±ΠΈΡ‚Π½ΠΎΠ΅ смСщСниС}.

ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ:

ΠŸΠ΅Ρ€Π΅Π΄ Π²Ρ‹Π·ΠΎΠ²ΠΎΠΌ set_vector() Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Ρ€Π°Π·ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° прСрывания Π² памяти ΠΏΠΎ адрСсу s.

16-Π±ΠΈΡ‚Π½Ρ‹ΠΉ сСгмСнт ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ сСгмСнтом ΠΊΠΎΠ΄Π°, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΌ Euphoria. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ для этого сСгмСнта, см. demo\dos32\hardint.ex. Π‘ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ 32-Π±ΠΈΡ‚Π½ΠΎΠΉ Π²Π΅Π»ΠΈΡ‡ΠΈΠ½ΠΎΠΉ, Π²Ρ‹Π΄Π°Π²Π°Π΅ΠΌΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ allocate(). Euphoria исполняСтся Π² Π·Π°Ρ‰ΠΈΡ‰Ρ‘Π½Π½ΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅ с сСгмСнтами ΠΊΠΎΠ΄Π° ΠΈ Π΄Π°Π½Π½Ρ‹Ρ…, располоТСнными Π² ΠΎΠ΄Π½ΠΎΠΉ ΠΈ Ρ‚ΠΎΠΉ ΠΆΠ΅ физичСской памяти, Π½ΠΎ с Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌΠΈ Ρ€Π΅ΠΆΠΈΠΌΠ°ΠΌΠΈ доступа.

ΠŸΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΡ, ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ΅Π΄ΡˆΠΈΠ΅ Π² Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅ ΠΈΠ»ΠΈ Π² Π·Π°Ρ‰ΠΈΡ‰Ρ‘Π½Π½ΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅, Π±ΡƒΠ΄ΡƒΡ‚ Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒ ваш ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ. ΠŸΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ ΠΏΡ‹Ρ‚Π°Ρ‚ΡŒΡΡ ΠΎΠ±Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ ΠΊ памяти, ваш ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π½Π΅ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ сСгмСнт Π΄Π°Π½Π½Ρ‹Ρ….

ПослС ΠΎΡ‚Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ прСрывания ваш ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ ΠΌΠΎΠΆΠ΅Ρ‚ Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π²Ρ‹Π·Π²Π°Π²ΡˆΠ΅ΠΉ ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅, Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΠ² ΠΈΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡŽ iretd, ΠΈΠ»ΠΈ ΠΏΡƒΡ‚Π΅ΠΌ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π° Π½Π° ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ. ΠžΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ ΠΈ Π·Π°Ρ‚Π΅ΠΌ Π²ΠΎΡΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒ состояниС всСх рСгистров, значСния ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΎΠ½ пСрСписываСт.