Читаем Язык программирования Euphoria. Справочное руководство полностью

Переход на позицию байта с номером 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

Перейти на страницу:

Все книги серии Euphoria

Язык программирования Euphoria. Справочное руководство
Язык программирования Euphoria. Справочное руководство

Euphoria (юфо'ри, также рус. эйфори'я, ра'дость) — язык программирования, созданный Робертом Крейгом (Rapid Deployment Software) в Канаде, Торонто. Название Euphoria — это акроним для «End-User Programming with Hierarchical Objects for Robust Interpreted Applications».Euphoria — интерпретируемый императивный язык высокого уровня общего назначения. C помощью транслятора из исходного кода на Euphoria может быть сгенерирован исходный код на языке Си, который в свою очередь может быть скомпилирован в исполнияемый файл или динамическую библиотеку при помощи таких компиляторов, как GCC, OpenWatcom и др. Программа Euphoria также может быть «связана» с интерпретатором для получения самостоятельного исполняемого файла. Поддерживается несколько GUI-библиотек, включая Win32lib и оберток для wxWidgets, GTK+ и IUP. Euphoria имеет встроенную простую систему баз данных и обертки для работы с другими типам баз данных.[Материал из Википедии]

Коллектив авторов

Программирование, программы, базы данных

Похожие книги

Эффективное использование C++. 55 верных способов улучшить структуру и код ваших программ
Эффективное использование C++. 55 верных способов улучшить структуру и код ваших программ

Эта книга представляет собой перевод третьего издания американского бестселлера Effective C++ и является руководством по грамотному использованию языка C++. Она поможет сделать ваши программы более понятными, простыми в сопровождении и эффективными. Помимо материала, описывающего общую стратегию проектирования, книга включает в себя главы по программированию с применением шаблонов и по управлению ресурсами, а также множество советов, которые позволят усовершенствовать ваши программы и сделать работу более интересной и творческой. Книга также включает новый материал по принципам обработки исключений, паттернам проектирования и библиотечным средствам.Издание ориентировано на программистов, знакомых с основами C++ и имеющих навыки его практического применения.

Скотт Майерс , Скотт Мейерс

Программирование, программы, базы данных / Программирование / Книги по IT