Курсовая работа: Розробка програми для сумісної роботи з додатками PowerPoint з використанням технології OLE
При запуску програми користувачу потрібно спочатку вказати шлях до файлу презентації за допомогою клавіши «Открыть», натиснення якої обробляється процедурою Button_Way_to_FileClick. Якщо вказаний шлях має правильний формат, то він копіюється текстове поле поряд з цією кнопкою і розблокується наступна кнопка «Запустить». Ця кнопка запускає вказану презентацію на перегляд. Натиснення цією кнопки обробляється процедурою Button_RUNClick. Після цього презентація починає своє виконання, а програма знаходиться поверх всіх вікон (в тому числі і презентації). Це дає можливість керувати виконанням презентації прямо з програми.
Керування презентацієї виконується за допомогою відповідних функціональних клавіш, що знаходяться поряд. Вони обробляються процедурами Button_NEXTClick, Button_PREVClick, Button_FIRSTClick, Button_LASTClick, Button_NUMBERClick і дають користувачу можливість переключати слайд відповідно вперед, назад, перший, останній, по номеру слайду (вказується користувачем).
При виконанні програми можливі ситуації, коли користувачем введе номер неіснуючого слайду. Контроль вводу користувачем даних проводить процедура Button_NUMBERClick. Якщо поточний номер слайду дорівнює 1, то блокуються кнопки переключення слайдів на 1 слайд назад та на перший слайд. Якщо поточний номер слайду дорівнює максимальній кількості слайдів, то блокуються кнопки переключення слайдів на 1 слайд вперед та на останній слайд. За це відповідає процедура Form_refresh1. За коректне завершення перегляду слайду відповідає кнопка «Закрыть» (процедура Button_CLOSEClick).
Блок-схеми алгоритмів програми
Нижче приведені блок-схеми алгоритмів процедур програми.
Рис. 4.1. Алгоритм Button_RUNClick
а) б)
Рис. 4.2. Алгоритм Button_NEXTClick (а) та Button_PREVClick (б)
а) б)
Рис. 4.3. Алгоритм Button_FIRSTClick (а) та Button_LASTClick (б)
Рис. 4.4. Алгоритм Button_CLOSEClick
Рис. 4.5. Алгоритм Button_Way_to_FileClick
Рис. 4.6. Алгоритм Button_NUMBERClick
Рис. 4.7. Алгоритм Form_refresh1
5. Опис програмиЗагальні відомості
Програма, розроблена в даному курсовому проекті називається Панель управления PowerPoint. Для використання даної програми не потрібно ніяке додаткове програмне забезпечення. Все що потрібно це вихідний файл програми (PowerPoint++.exe). Його потрібно просто запустити на виконання. Ця програма написана на мові програмування Delphi. Середовище розробки Borland Delphi 7.
Функціональне призначення
Основне призначення програми – навчальне. Тобто, за допомогою цієї програми можна навчитися правильно працювати з OLE та COM об’єктами в середовищі Windows.
Технічні засоби, що використовуються
Даний програмний продукт, працює на всіх ІВМ сумісних ЕОМ, не нижче Pentium II (частотою 600 MHz).
Виклик та завантаження
Для виклику програми потрібно запустити на виконання PowerPoint++.exe.
Програма споживає не більше 5% процесорного часу (AMD Athlon 3000+ CPU 1,6 GHz) та 11,5 Мбайт оперативної пам’яті.
Вхідні дані
Вхідними даними для програми є дані отримані від користувача. До цієї інформації входить шлях до файлу презентації і номер слайду, обраного користувачем.
Вихідні дані
Вихідними даними є двійкові слова, а також інформація, яка відображається на екрані монітора. До цієї інформації входить кількість слайдів, номер поточно слайду, версія Power Point.
6. Посібник системного програміста
Загальні відомості про програму
Функціональне призначення даного програмного виробу полягає в демонстрації роботи з додатками Microsoft PowerPoint із використанням технології OLE.
Експлуатаційне призначення – використання на платформі Microsoft Windows.
Структура програми
Програма включає 8 процедур обробки натиснення кнопок (Button_RUNClick, Button_CLOSEClick, Button_NEXTClick, Button_PREVClick, Button_FIRSTClick, Button_LASTClick, Button_Way_to_FileClick, Button_NUMBERClick) на формі і 1 процедуру (Form_refresh1), що контролює їх натискання для того, щоб програма не завершилася аварійно з помилкою.
Налаштування програми
Даний програмний продукт у силу своїх функціональних можливостей, є налаштованим. Єдине, що може налаштувати користувач – це вибрати файл презентації для перегляду.
Перевірка програми
Для перевірки програми потрібно мати тільки комп’ютер. При цьому потрібно запустити програму PowerPoint++.EXE, вказати шлях до файлу презентації, та натиснути кнопку перегляду. Ознакою того, що програма працює буде виведення презентації на екран та управління нею.
Повідомлення системному програмісту
Програма може видати повідомлення про помилки 3 типів:
1) Помилка, пов’язана з неправильним вводом імені файлу, або взагалі не було введено ім’я файлу (рис. 6.1). Для того, щоб помилка не виникала, потрібно вибирати файли з розширеннями *.ppt, *pptx, *.pps.
Рис. 6.1. Повідомлення про помилку 1
2) Помилка, пов’язана з не введенням номеру слайду (рис. 6.2). Для того, щоб помилка не виникала, потрібно вказати значення слайду у відповідному полі.
Рис. 6.2. Повідомлення про помилку 2
3) Помилка, пов’язана з неправильним вводом номеру слайду (рис. 6.3). Для того, щоб помилка не виникала, потрібно вказати значення слайду від 1 до максимальної кількості слайдів, але не менші і не більше.
Рис. 6.3. Повідомлення про помилку 3
7. Посібник оператораПризначення програми
Даний програмний продукт призначений для демонстрації роботи з додатками Microsoft PowerPoint із використанням технології OLE. В даному випадку це запуск вказаної користувачем презентації, переключення слайдів, коректне завершення презентації.
Умови виконання програми
Апаратні засоби:
· Операційна система Windows XP;
· Процесор фірми INTEL Pentium II (частота 600 MHz) або йому еквівалентний фірми AMD;
· ОЗУ об’ємом 128 Мбайт;
· Вільне місце на жорсткому диску: 0,5 Мбайт.
Програмні засоби:
Windows 98/ME/2000/2003/XP. Microsoft®.NET Framework 1.1 або вище.
Виконання програми
Робота користувача з програмою починається з того, що потрібно вказати шлях до файлу презентації, так як це показано на рис. 7.1.
Рис. 7.1. Введення імені файлу
Далі потрібно натиснути на клавішу «Запустить». Презентації запуститься і буде виведено повідомлення про версію Power Point, так як показано на рис. 7.2.
Рис. 7.2. Запуск презентації
Після успішного запуску презентації розблокуються кнопки управління презентацією, а також клавіша закриття перегляду «Закрыть».
Для того, що управляти переглядом слайду потрібно натискати на відповідні клавіши зі стрілками. Для того, щоб перейти на слайд з номером, потрібно ввести номер у відповідне поле поряд з кнопкою «№», та натиснути її, як показано на рис. 7.3.
Рис. 7.3. Перехід на слайд з номером 3
Після закінчення роботи з програмою для коректного вигруження презентації з пам’яті потрібно натиснути на клавішу «Закрыть». При цьому заблокуються кнопки управління презентацією (Рис. 7.4).
Рис. 7.4. Закриття презентації
Висновки
Під час виконання курсового проекту, було розроблено програмний продукт «Панель управления PowerPoint» (PowerPoint++). Для розробки даного програмного продукту були використано технологію OLE.
Даний програмний продукт дозволяє:
1. Запускати вказаний користувачем додаток PowerPoint.
2. Переключати слайди: вперед, назад, перший, останній, по вказаному номеру слайду.
3. Коректне завершення і вигруження з пам’яті презентації, що переглядається.
4. Програма має компактний графічний інтерфейс.
Вихідними даними є:
Серед мінусів програми можна відмітити те, що програма хоча і має компактний вигляд, але все ж таки вона трохи затуляє презентацію, але це можна вирішити переміщення програми до нижнього краю екрану, затуливши при цьому панель Windows.
На основі всього вище сказаного та основі плюсів і мінусів програми, можна зробити висновок, що були виконані основні задачі поставленого завдання.
Перелік використаних джерел
1. Фаронов В.В. Программирование баз данных в Delphi 6: Учебный курс. – СПб: Питер, 2003. – 352 с.
2. Калиткин Н.Н. Численные методы. – М: Главная редакция физико-математической литературы изд-ва «Наука», 1978. – 512 с. (електронна версія)
3. Архангельский А.Я. Программирование в Delphi 6. – М.: БИНОМ, 2003. – 1120 с.
4. Фаронов В.В. Delphi 6: Учеб. курс. – М.: Издатель Молгачева С.В., 2003. – 672 с.
Додаток
Лістинг програми PowerPoint++:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, comobj, StdCtrls, OleServer, PowerPointXP, Buttons, OleCtnrs;
type
TForm1 = class(TForm)
PowerPointApplication1: TPowerPointApplication;
PowerPointPresentation1: TPowerPointPresentation;
Button_EXIT: TButton;
Button_FIRST: TBitBtn;
Button_LAST: TBitBtn;
Button_NEXT: TBitBtn;
Button_PREV: TBitBtn;
Button_RUN: TBitBtn;
Button_CLOSE: TBitBtn;
Edit_Path: TEdit;
OpenDialog1: TOpenDialog;
Button_Way_to_File: TButton;
Button_NUMBER: TButton;
Edit_NUM: TEdit;
Label_NUM: TLabel;
procedure Button_RUNClick (Sender: TObject);
procedure Button_CLOSEClick (Sender: TObject);
procedure Button_EXITClick (Sender: TObject);
procedure Button_NEXTClick (Sender: TObject);
procedure Button_PREVClick (Sender: TObject);
procedure Button_FIRSTClick (Sender: TObject);
procedure Button_LASTClick (Sender: TObject);
procedure Button_Way_to_FileClick (Sender: TObject);
procedure Button_NUMBERClick (Sender: TObject);
private
{Private declarations}
public
{Public declarations}
end;
var
Form1: TForm1;
PowerPointApp: OLEVariant; // объект самой презентации
St1: string; // строка пути к файлу
Num, // Номер слайда, выбранного пользователем
K, // Номер текущего слайда
ALL: integer; // Общее количество слайдов
procedure Form_refresh1;
implementation
{$R *.dfm}
procedure Form_refresh1;
begin
// Если слайд первый
If (K=1) then
begin
Form1. Button_FIRST. Enabled:=false;
Form1. Button_PREV. Enabled:=false;
Form1. Button_NEXT. Enabled:=true;
Form1. Button_LAST. Enabled:=true;
end;
// Если слайд не первый и не последний (все остальные)
If ((K>1) and (K<=ALL-1)) then
begin
Form1. Button_FIRST. Enabled:=true;
Form1. Button_PREV. Enabled:=true;
Form1. Button_NEXT. Enabled:=true;
Form1. Button_LAST. Enabled:=true;
end;
// Если слайд последний
If (K=ALL) then
begin
Form1. Button_FIRST. Enabled:=true;
Form1. Button_PREV. Enabled:=true;
Form1. Button_NEXT. Enabled:=false;
Form1. Button_LAST. Enabled:=false;
end;
end;
procedure TForm1. Button_RUNClick (Sender: TObject);
begin
try
PowerPointApp:= CreateOleObject ('PowerPoint. Application');
// Разблокирование определённых кнопок при успешном открытии презентации
Button_CLOSE. Enabled:=True;
Button_RUN. Enabled:=False;
Button_FIRST. Enabled:=false;
Button_PREV. Enabled:=false;
Button_NEXT. Enabled:=True;
Button_LAST. Enabled:=True;
Button_NUMBER. Enabled:=True;
Edit_NUM. Enabled:=true;
Label_NUM. Visible:=true;
K:=1; // Номер текущего слайда
except
ShowMessage ('Ошибка! Проверьте наличие PowerPoint.');
Exit;
end;
// Сделать PowerPoint видимым
PowerPointApp. Visible:= True;
// Открыть презентацию
PowerPointApp. Presentations. Open (St1, False, False, True);
// Запустить презентацию
PowerPointApp. ActivePresentation. SlideShowSettings. Run;
// Показать текущую версию презентации
ShowMessage (Format('Powerpoint version:%s', [PowerPointApp. Version]));
// Показать текущее количество слайдов в презентации
ALL:=StrToInt (Format(' % s', [PowerPointApp. ActivePresentation. Slides. Count]));
Label_NUM. Caption:=InttoStr(K);
end;
procedure TForm1. Button_CLOSEClick (Sender: TObject);
begin
// Закрыть презентацию и выгрузить из памяти
PowerPointApp. Quit;
PowerPointApp:= UnAssigned;
// Заблокирование кнопок при успешном закрытии
Button_CLOSE. Enabled:=False;
Button_RUN. Enabled:=True;
Button_FIRST. Enabled:=False;
Button_PREV. Enabled:=False;
Button_NEXT. Enabled:=False;
Button_LAST. Enabled:=False;
Button_NUMBER. Enabled:=False;
Edit_NUM. Enabled:=false;
Label_NUM. Visible:=false;
end;
procedure TForm1. Button_EXITClick (Sender: TObject);
begin
Form1. Close;
end;
procedure TForm1. Button_NEXTClick (Sender: TObject);
begin
// Перейти к следующему слайду
PowerPointApp. ActivePresentation. SlideShowWindow. View. Next;
K:=K+1;
Label_NUM. Caption:=InttoStr(K);
Form_refresh1;
end;
procedure TForm1. Button_PREVClick (Sender: TObject);
begin
// Переход к предыдущему слайду
PowerPointApp. ActivePresentation. SlideShowWindow. View. Previous;
K:=K-1;
Label_NUM. Caption:=InttoStr(K);
Form_refresh1;
end;
procedure TForm1. Button_FIRSTClick (Sender: TObject);
begin
// Переход к первому слайду
PowerPointApp. ActivePresentation. SlideShowWindow. View. First;
K:=1;
Label_NUM. Caption:=InttoStr(K);
Form_refresh1;
end;
procedure TForm1. Button_LASTClick (Sender: TObject);
begin
// Переход к последнему слайду
PowerPointApp. ActivePresentation. SlideShowWindow. View. Last;
K:=ALL;
Label_NUM. Caption:=InttoStr(K);
Form_refresh1;
end;
procedure TForm1. Button_Way_to_FileClick (Sender: TObject);
begin
OpenDialog1. Execute;
St1:=OpenDialog1. FileName;
if St1<>'' then
begin
Edit_Path.text:=St1;
Button_RUN. Enabled:=true;
end
else
with Application do
begin
NormalizeTopMosts;
MessageBox ('Ошибка! Файл не выбран или имеет не правильный формат!', 'Ошибка ввода', MB_ICONERROR);
RestoreTopMosts;
end;
end;
procedure TForm1. Button_NUMBERClick (Sender: TObject);
begin
// Перейти к сладу с номером, указанным пользователем
if (Edit_NUM. Text<>'') then
begin
Num:=StrtoInt (Edit_NUM. Text);
if ((Num>=1) and (Num<=ALL)) then
begin
PowerPointApp. ActivePresentation. SlideShowWindow. View. GoToSlide(Num);
K:=Num;
Label_NUM. Caption:=InttoStr(K);
Form_refresh1;
end
else
with Application do
begin
NormalizeTopMosts;
MessageBox ('Ошибка! Введите правильное число!', 'Ошибка ввода', MB_ICONERROR);
RestoreTopMosts;
end;
end
else
with Application do
begin
NormalizeTopMosts;
MessageBox ('Ошибка! Введите номер слайда!', 'Ошибка ввода', MB_ICONERROR);
RestoreTopMosts;
end;
end;
end.