Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

План заняття. 1. Характеристика процедур виклику зовнішніх прикладних застосувань




1. Характеристика процедур виклику зовнішніх прикладних застосувань

2. Характеристика методів та властивостей виклику зовнішніх прикладних застосувань

 

Часто возникает необходимость запускать другие внешние программы из разрабатываемого приложения. Для этого исполь­зуются такие API-функции, как WinExec и ShellExecute.

Функция WinExec (lpCmdLine: LPCSTR, uCmdShow: UINT): UINT обеспечивает запуск внешней программы. В каче­стве параметров данной функции задаются имя запускаемого файла приложения и дополнительная информация (параметры работы вызываемой программы). Если не указан путь в имени запускаемого файла, то его поиск осуществляется, в первую оче­редь, в текущем каталоге, из которого запущено разрабатываемое приложение, а затем в текущем каталоге Windows; в системном каталоге Windows; в главном каталоге Windows; в каталогах, заданных для поиска командой PATH. Соответственно, если файл не найден, он запускаться не будет и при этом не выдаются ника­кие предупреждения или сообщения об ошибке.

Параметр uCmdShow определяет один из следующих способов отображения окна запускаемого приложения:

■ SWShowMaximized - максимальный размер окна;

■ SWShowMinimized - минимальный размер окна;

■ SW_ShowNormal - нормальный размер окна.

В качестве результата функция WinExec возвращает целое число, большее 31 (в случае успешного выполнения). При возник­новении ошибки могут быть возвращены следующие значения:

■ 0 — недостаточно памяти или других ресурсов;

■ ERRORBADFORMAT - неправильный формат файла;

■ ERRORFILENOTFOUND - не найден указанный файл;

■ ERROR_PATH_NOT_FOUND - не найден указанный путь.

Функция WinExec позволяет запускать как 16-, так и 32-раз­рядные приложения Windows, хотя сама является 16-разрядной, что обеспечивает совместимость с более ранними версиями Delphi.

Вызов лазерного проигрывателя Windows с помощью функции WinExec будет выглядеть следующим образом:

 

WinExec(PChar('CDPlayer.exe'), SW_ShowNormal);

 

Функция ShellExecute (hwnd: HWND, lpOperation: LPCSTR, lpFile: LPCSTR, lpParameters: LPCSTR, lpDirectory: LPCSTR, nShowCmd: INT): HINSTANCE является 32-разрядной и предоставляет больше возможностей, чем функция WinExec, однако, как видно из ее описания, требует задания большего количества параметров при вызове. Данная функция позволяет запустить, открыть либо вывести на принтер указанный файл. Так, например, если указать исполняемый файл, то в результате будет осуществляться выполнение приложения. Если же указать файл электронной таблицы с расширением XLS, то произойдет вызов Microsoft Excel и последующее открытие таблицы. Наконец, если указать не файл, а каталог, то будет запу­щен Проводник Windows, в котором отображается содержимое данного каталога.

Параметры функции ShellExecute имеют следующее на­значение.

Параметр hwnd ссылается на окно приложения, из которого запускается другое приложение (в качестве ссылки на окно зада­ется его дескриптор).

Параметр lpOperation содержит строку, которая определя­ет тип выполняемой операции и может принимать одно из сле­дующих значений:

open — открыть файл или каталог, указанный параметром lpFile, либо запустить исполняемый файл, если он задан;

print - напечатать файл-документ, указанный парамет­ром lpFile, либо запустить исполняемый файл, если он задан;

explore - в окне Проводника Windows открыть каталог, указанный параметром lpFile.

Если для данного параметра задать значение nil, то по умол­чанию принимается значение open.

Параметр lpFile содержит строку с именем файла или ката­лога, для которых выполняется заданная операция.

Параметр lpParameters представляет собой строку, которая содержит дополнительные параметры, передаваемые приложению. Параметру lpParameters обычно задается значение nil, если открывается неисполняемый файл.

Параметр lpDirectory является строкой, в которой указы­вается имя каталога по умолчанию.

Параметр nShowCmd задает способ отображения окна запус­каемого приложения: нормальный размер окна, окно максимизи­ровано или окно минимизировано.

Функция ShellExecute возвращает ссылку на вновь запу­щенное приложение, значение которой в случае успешного вы­полнения больше 32. При неудачном выполнении данной функ­ции возвращается код ошибки.

В разделе uses следует указывать модуль ShellAPI, чтобы была возможность использовать функцию ShellExecute.

Рассмотрим несколько примеров практического использования функции ShellExecute.

Вызов Калькулятора Windows можно осуществить следующим образом:

ShellExecute(Application.MainForm.Handle, nil, PChar('Calc.exe'), nil, nil, SW_ShowNormal);

 

Следует обратить внимание на то, что в данном примере в ка­честве окна, которое вызывает Калькулятор, используется главная форма приложения Application. MainForm.

Открытие рисунка в формате BMP производится так:

ShellExecute(Forml.Handle, PChar('open'), PChar('risunok.bmp'), nil, PChar('С:\Graph'), SW_ShowNormal);

 

Здесь вызов производится формой с именем Forml. В резуль­тате выполнения такой функции из каталога C:\Graph будет от­крыт файл рисунка risunok.bmp. При этом для открытия графиче­ского файла будет автоматически использоваться программа, на­значенная для обработки рисунков данного типа, например графический редактор Jasc Paint ShopPro или редактор просмотра изображений ACDSee.

По аналогии с этим можно открыть и документ Word. Однако существует еще один способ.

ShellExecute(Forml.Handle, PChar('open'), PChar('Winword.exe'), PChar('Docl.doc'),. PChar('C:\Program Files\ Microsoft Office\ Office'), SW_ShowNormal);

В этом случае вызывается непосредственно сам текстовый ре­дактор Word, а в качестве параметра ему передается имя докумен­та, который и будет открыт.

Если требуется открыть и просмотреть содержимое папки C:\Program Files, то это можно сделать таким образом:

 

ShellExecute(Application.MainForm.Handle, PChar('explore'), PChar('С:\Program Files'), nil, nil, SW_ShowNormal);

 

С помощью вызова функции такого вида будет запущен Про­водник Windows, в котором отобразится содержимое каталога C:\Program Files.

 

Контрольні питання

1. Наведіть характеристики процедур виклику зовнішніх прикладних застосувань

2. Наведіть характеристики методів та властивостей виклику зовнішніх прикладних застосувань


АУДИТОРНЕ ЗАНЯТТЯ

ЗМІСТОВИЙ МОДУЛЬ 6: ПРОГРАМУВАННЯ З ГРАФАМИ. ВІЗУАЛЬНІ КОМПОНЕНТИ. БАЗИ ДАНИХ

ТЕМА 6.6: ОСНОВИ БАЗ ДАНИХ

Лекція №52 – Введення баз даних




Поделиться с друзьями:


Дата добавления: 2014-12-25; Просмотров: 314; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.018 сек.