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

-- GetClientRect - это Си-функция типа VOID, у которой два аргумента - типа C int

-- и типа C pointer:

GetClientRect = define_c_proc(user32, "GetClientRect",

{C_INT, C_POINTER})

-- подать hwnd и rect в качестве аргументов

c_proc(GetClientRect, {hwnd, rect})

См. также:

c_func, call, define_c_proc, open_dll, platform_r.htm

call_func

Синтаксис:

x = call_func(i, s)

Описание:

Вызывает определенную программистом Euphoria-функцию с идентификатором (номером) подпрограммы i. Аргумент i должен быть разрешенным идентификатором (номером), выданным routine_id(). Аргумент s является рядом длины n, содержащим аргументы занумерованной функции, где n - число аргументов, требуемых функцией номер i. Переменная x будет содержать результат, выданный функцией номер i.

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

Если функция номер i не требует подачи никаких аргументов, тогда ряд s должен быть пустым рядом {}.

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

demo\csort.ex

См. также:

call_proc, routine_id

call_proc

Синтаксис:

call_proc(i, s)

Описание:

Вызывает определенную программистом Euphoria-процедуру с идентификатором (номером) подпрограммы i. Аргумент i должен быть разрешенным идентификатором (номером), выданным routine_id(). Аргумент s является рядом длины n, содержащим аргументы занумерованной процедуры, где n - число аргументов, требуемых процедурой номер i.

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

Если процедура номер i не требует подачи никаких аргументов, тогда ряд s должен быть пустым рядом {}.

Пример:

global integer foo_id

procedure x()

call_proc(foo_id, {1, "Hello World\n"})

end procedure

procedure foo(integer a, sequence s)

puts(a, s)

end procedure

foo_id = routine_id("foo")

x()

См. также:

call_func, routine_id

chdir

Синтаксис:

include file.e

i = chdir(s)

Описание:

Изменяет текущий каталог (директорию, фолдер, папку) по пути, который задан рядом s. Аргумент s должен содержать имя каталога, существующего на данной машине. В случае успешного изменения каталога chdir() выдаёт 1. Если перейти в заданный каталог не удалось, chdir() выдаёт 0.

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

Переходя в необходимый вам каталог и делая его текущим, вы можете затем обращаться к файлам в этом каталоге, указывая только имя файла, без упоминания полного пути к этому файлу.

Функция current_dir() выдаёт имя текущего каталога.

Под DOS32 и WIN32 текущий каталог является общим для всех программ и процессов, исполняемых в одной оболочке (т.е. под управлением одного и того же или единственного экземпляра интерпретатора команд ОС).

Под Linux/FreeBSD дочерние программы могут изменять текущий каталог для своих нужд, но эти изменения не будут относиться к текущему каталогу родительской программы.

Пример:

if chdir("c:\\euphoria") then

f = open("readme.doc", "r")

else

puts(1, "Ошибка: отсутствует каталог euphoria?\n")

end if

См. также:

current_dir

check_break

Синтаксис:

include file.e

i = check_break()

Описание:

Выдаёт число нажатий сочетания клавиш control-c или control-Break, имевших место с момента последнего вызова check_break(), или с начала программы, если этот вызов первый.

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

Данная функция полезна, если в вашей программе была исполнена команда allow_break(0), которая запрещает прерывание вашей программы по нажатию сочетания клавиш control-c и control-Break. Вы можете использовать check_break(), чтобы выяснить, не нажимал ли всё-таки пользователь одно из этих аварийных сочетаний клавиш. Затем вы можете сделать всё то, что требуется для аккуратного и безошибочного завершения вашей программы без малейшего риска потери данных и повреждений файловой системы на диске.

В этих условиях ни control-c, ни control-Break не будут выданы как управляющие символы в операционную систему, если даже вы читаете состояние клавиатуры. Вы сможете только обнаружить, что нажатия состоялись, вызвав check_break().

Пример:

k = get_key()

if check_break() then

temp = graphics_mode(-1)

puts(1, "Программа завершается ...")

save_all_user_data()

abort(1)

end if

См. также:

allow_break, get_key

clear_screen

Синтаксис:

clear_screen()

Описание:

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

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

Процедура работает во всех текстовых и пиксельных режимах.

См. также:

bk_color, graphics_mode

close

Синтаксис:

close(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 имеет встроенную простую систему баз данных и обертки для работы с другими типам баз данных.[Материал из Википедии]

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

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

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

1С: Бухгалтерия 8 с нуля
1С: Бухгалтерия 8 с нуля

Книга содержит полное описание приемов и методов работы с программой 1С:Бухгалтерия 8. Рассматривается автоматизация всех основных участков бухгалтерии: учет наличных и безналичных денежных средств, основных средств и НМА, прихода и расхода товарно-материальных ценностей, зарплаты, производства. Описано, как вводить исходные данные, заполнять справочники и каталоги, работать с первичными документами, проводить их по учету, формировать разнообразные отчеты, выводить данные на печать, настраивать программу и использовать ее сервисные функции. Каждый урок содержит подробное описание рассматриваемой темы с детальным разбором и иллюстрированием всех этапов.Для широкого круга пользователей.

Алексей Анатольевич Гладкий

Программирование, программы, базы данных / Программное обеспечение / Бухучет и аудит / Финансы и бизнес / Книги по IT / Словари и Энциклопедии
1С: Управление торговлей 8.2
1С: Управление торговлей 8.2

Современные торговые предприятия предлагают своим клиентам широчайший ассортимент товаров, который исчисляется тысячами и десятками тысяч наименований. Причем многие позиции могут реализовываться на разных условиях: предоплата, отсрочка платежи, скидка, наценка, объем партии, и т.д. Клиенты зачастую делятся на категории – VIP-клиент, обычный клиент, постоянный клиент, мелкооптовый клиент, и т.д. Товарные позиции могут комплектоваться и разукомплектовываться, многие товары подлежат обязательной сертификации и гигиеническим исследованиям, некондиционные позиции необходимо списывать, на складах периодически должна проводиться инвентаризация, каждая компания должна иметь свою маркетинговую политику и т.д., вообщем – современное торговое предприятие представляет живой организм, находящийся в постоянном движении.Очевидно, что вся эта кипучая деятельность требует автоматизации. Для решения этой задачи существуют специальные программные средства, и в этой книге мы познакомим вам с самым популярным продуктом, предназначенным для автоматизации деятельности торгового предприятия – «1С Управление торговлей», которое реализовано на новейшей технологической платформе версии 1С 8.2.

Алексей Анатольевич Гладкий

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