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

Пример 2:


s = value("{0, 1, -99.9}")

-- s равно {GET_SUCCESS, {0, 1, -99.9}}


Пример 3:


s = value("+++")

-- s равно {GET_FAIL, 0}


См. также:

get, sprintf, print


video_config


Синтаксис:

include graphics.e

s = video_config()

Описание:

Выдаёт ряд величин, описывающих конфигурацию вашей видеоподсистемы:

{цветной монитор?, графический режим, число строк текста, число колонок текста, число пикселов по горизонтали, число пикселов по вертикали, число цветов, число страниц}.

В библиотечном файле graphics.e определены следующие константы:


global constant

VC_COLOR = 1,

VC_MODE = 2,

VC_LINES = 3,

VC_COLUMNS = 4,

VC_XPIXELS = 5,

VC_YPIXELS = 6,

VC_NCOLORS = 7,

VC_PAGES = 8


Комментарии:

Данная функция помогает вам так выбрать видеопараметры при исполнении вашей программы, что она будет работать правильно во многих графических режимах (с различными видеоплатами на различных машинах).

На компьютерах можно встретить два типа графических режимов. Первый тип, текстовый режим, позволяет выводить на экран только лишь текст. Второй тип, пиксельно-графический режим, позволяет выводить пикселы, или точки, в различных цветах, а одновременно и текст. Вы можете сказать, что система находится в текстовом режиме, если элементы текущей конфигурации VC_XPIXELS и VC_YPIXELS равны 0. Такие библиотечные процедуры как polygon(), draw_line() и ellipse() работают только в пиксельно-графическом режиме.

Пример:


vc = video_config() -- в режиме 3 с 25-ю строками текста:

-- vc равно {1, 3, 25, 80, 0, 0, 32, 8}


См. также:

graphics_mode


wait_key


Синтаксис:

include get.e

i = wait_key()

Описание:

Выдаёт код клавиши, нажатой пользователем на клавиатуре. Код выдаётся в момент нажатия клавиши.

Комментарии:

Вы можете получить тот же самый результат с get_key(), если напишете:


while 1 do

k = get_key()

if k != -1 then

exit

end if

end while


Однако на многозадачных системах, подобных Windows или Linux/FreeBSD, такое "занятое ожидание" с get_key() будет снижать производительность системы. Функция же wait_key() позволяет операционной системе выполнять другую полезную работу, пока ваша программа ожидает нажатия на клавишу.

Вы можете использовать также getc(0), так как файлу номер 0 соответствует ввод с клавиатуры, но при этом не будут вырабатываться специальные коды от функциональных клавиш, клавиш со стрелками, коды клавиш на русском регистре и т.п. Данное ограничение для getc(0) действует только в официальных интерпретаторах RDS при вводе с клавиатуры, в двуязычных интерпретаторах оно снято.

См. также:

get_key, getc


walk_dir


Синтаксис:

include file.e

i1 = walk_dir(st, i2, i3)

Описание:

Данная подпрограмма "пройдётся" по каталогу, имя которого задано в ряде st, и будет в этом каталоге обрабатывать файлы. i2 является номером той функции, которую вы хотите применить для обработки файлов каталога. walk_dir() может вызывать вашу функцию обработки файлов для каждого файла и подкаталога в st. Если i3 не равно 0 (TRUE), подкаталоги в st будут пройдены рекурсивно.

Функция, которую вы применяете для обработки файлов, должна воспринимать имена путей и входы dir() для каждого файла и подкаталога. Она должна также выдавать 0 для продолжения прохождения после успешного окончания работы с файлом или не-ноль, чтобы остановить выполнение walk_dir().

Комментарии:

Данный механизм позволяет вам написать простую функцию для требуемой обработки каждого из файлов, в то время как walk_dir() обеспечит процесс автоматической навигации по файлам и подкаталогам.

По умолчанию файлы и каталоги будут пройдены в алфавитном порядке. Если вам необходим другой порядок, установите соответствующим образом глобальную переменную my_dir для номера своей собственной модифицированной функции dir(), которая должна сортировать входы каталога в необходимом вам порядке. Просмотрите для уяснения деталей текст исходной функции dir() в файле file.e.

Имя пути, которое вы подаёте в walk_dir(), не должно содержать символов догадок (* или ?). При каждом вызове функция работает только с единственным каталогом (и его подкаталогами), имя которого подано в неё в качестве аргумента.

Пример:


function look_at(sequence path_name, sequence entry)

-- данная функция воспринимает два ряда как аргументы

printf(1, "%s\\%s: %d\n",

{path_name, entry[D_NAME], entry[D_SIZE]})

return 0 -- проход продолжается

end function


exit_code = walk_dir("C:\\MYFILES", routine_id("look_at"), TRUE)


Пример программы:

euphoria\bin\search.ex

См. также:

dir, current_dir


where


Синтаксис:

include file.e

a1 = where(fn)

Описание:

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

Все книги серии 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