9. Создать и объявить процедуру OpenAvi
procedure TForm1.OpenAVI;
begin
Button1.Enabled:= False;
Button2.Enabled:= False; Button3.Enabled:= False;
RadioButton1.Enabled:= False; RadioButton2.Enabled:= False;
try
Animate1.FileName:= Edit1.Text;
except
on Exception do
begin
MessageDlg('Ошибка формата AVI файла.'+
#13+'(Анимация не должна сопровождаться звуком.)',
mtError,[mbOk],0);
exit;
end; end;
Button1.Enabled:= True;
RadioButton1.Enabled:= True; RadioButton2.Enabled:= True;
end;
10. Для кнопки Выбрать (Button4) ввести код:
OpenDialog1.Title:= 'Выбрать AVI файл';
OpenDialog1.InitialDir:='';
if OpenDialog1.Execute Then Begin
Edit1.Text:= OpenDialog1.FileName;
OpenAVI; End;
11. Для кнопки Пуск ввести код:
if Animate1.Active = False // в данный момент анимация нет then begin
Animate1.StartFrame:=1; // вывод с первого кадра
Animate1.StopFrame:=Animate1.FrameCount; //по последний кадр
Animate1.Active:=True;
Button1.caption:='Стоп';
RadioButton2.Enabled:=False;
end
else // анимация отображается
begin
Animate1.Active:=False; // остановить отображение
Button1.caption:='Пуск';
RadioButton2.Enabled:=True;
end;
12. Для переключателя Непрерывно ввести код:
Button1.Enabled:=True; // доступна кнопка Пуск
// сделать недоступными кнопки просмотра по кадрам
Form1.Button3.Enabled:=False;
|
|
Form1.Button2.Enabled:=False;
13. Для переключателя По кадрам ввести код:
Button2.Enabled:=True; // кнопка Следующий кадр доступна
Button3.Enabled:=False; //кнопка Предыдущий кадр недоступна
// сделать недоступной кнопку Пуск - вывод всей анимации
Button1.Enabled:=False;
Animate1.StartFrame:=1;
Animate1.StartFrame:=1;
CFrame:=1;
14. Для кнопки К следующему кадру ввести код:
if CFrame < Animate1.FrameCount Then Begin
CFrame:= CFrame + 1;
// вывести кадр
Animate1.StartFrame:= CFrame;
Animate1.StopFrame:= CFrame;
Animate1.Active:= True;
if CFrame = Animate1.FrameCount // текущий кадр - последний
then Button2.Enabled:=False;
End;
if CFrame > 1 then Button3.Enabled:= True;
15. Для кнопки К предыдущему кадру ввести код:
if CFrame > 1 then
begin
CFrame:= CFrame - 1;
// вывести кадр
Animate1.StartFrame:= CFrame;
Animate1.StopFrame:= CFrame;
Animate1.Active:= True;
if CFrame = 1 // текущий кадр - первый
then Form1.Button3.Enabled:= False;
end;
if CFrame < Animate1.FrameCount then Button2.Enabled:= True;
16. Проверить работу приложения.
17. Добавить на форму пункт меню Справка.
18. Присоединить к проекту форму для выдачи Справки, для этого:
1. выбрать в меню File / New/Other;
2. выбрать вкладку Forms, на ней выбрать About box.
19. Привести форму в соответствие с образцом:
20. Самостоятельно доработать приложение для вызова окна справки (пункт Справка) и скрытие окна (кнопка Ок)
21. Результат показать преподавателю.
ПРАКТИЧЕСКАЯ РАБОТА № 13
Тема Программирование для Интернет
Цель работы: Получить навыки использования компонента WebBrowser.
Пояснения к работе
Начиная с пятой версии Delphi появился компонент WebBrowser который позволяет создать свой собственный браузер. Можно полностью поменять интерфейс, но принцип действия работы все равно будет, как у Internet Explorer.
Компонент WebBrowser находится на вкладке Internet, его основные свойства и методы приведены в таблице.
|
|
OffLine | Включить / выключить автономный режим |
Navigate | Открыть HTML-документ |
Refresh | Обновить |
Stop | Остановить загрузку |
GoHome | На домашнюю страницу |
GoForward | Вперед |
GoBack | Назад |
Компонент StatusBar – строка состояния представляет собой управляющий элемент, который отображает текущую информацию о содержимом окна, контекстные подсказки по текущему состоянию.
Постановка задачи
Разработать приложение, реализующее основные функции WEB-браузера.
Порядок выполнения
1. Создать новый проект и сохранить его.
2. Добавить на форму компонент ToolBar (Win32), изменить значение свойств: Height = 28, ShowCaptions =True, Flat = True
3. Добавить на ToolBar 5 кнопок: Назад, Обновить, Стоп, Домашняя страница, Вперед, для этого повторить 5 раз следующую последовательность:
· щелкнуть правой кнопкой мыши на компоненте ToolBar;
· выбрать New Button;
· изменить размеры кнопки Width = 67, Height =21;
· вставить разделитель кнопок, щелкнув правой кнопкой на ToolBar и выбрав New Separator;
· изменить свойства Caption для кнопки.
4. Добавить на форму компоненты Edit, командную кнопку, OpenDialogs и WebBrowser.
5. Привести форму в соответствие с образцом.
6. Для того, чтобы компоненты размещались по местам после изменения размера формы, для процедуры FormResize ввести код:
Edit1.Left:= 0;
Edit1.Top:= ToolBar1.Height + 2;
Button1.Top:= Edit1.Top;
Button1.Left:= Form1.ClientWidth - Button1.Width - 2;
WebBrowser1.Left:= 0;
WebBrowser1.Top:= Edit1.Top + Edit1.Height + 2;
//меняем размеры некоторых компонентов
Edit1.Width:= Form1.ClientWidth - Button1.Width - 4;
Button1.Height:= Edit1.Height;
WebBrowser1.Width:= Form1.ClientWidth;
WebBrowser1.Height:= Form1.ClientHeight - (Edit1.Top + Edit1.Height + 2);
7. Для кнопки Открыть ввести код:
If OpenDialog1.Execute Then Begin
WebBrowser1.Navigate(OpenDialog1.FileName);
Edit1.Text:= OpenDialog1.FileName;
WebBrowser1.Navigate(Edit1.Text); //загрузка документа
Edit1.SetFocus; End;
8. Загрузить приложение, проверить работу кнопки Открыть.
9. Для кнопок панели ввести соответствующие коды:
WebBrowser1.GoBack //назад
WebBrowser1.Stop; //остановить загрузку
WebBrowser1.Refresh; //обновить страницу
WebBrowser1.GoHome; //на домашнюю страницу
WebBrowser1.GoForward; //вперед
10. Проверить работу приложения.
11. Добавить на форму компонент StatusBar (Win32)и изменить значение его свойства SimplePanel = True.
12. Для компонента WebBrowser1 выбрать событие OnStatusTextChange и ввести код:
StatusBar1.SimpleText:= Text;
13. Добавить на форму компонент ProgressBar (Win32)и изменить значение его свойства Align =alButtom.
14. Для компонента WebBrowser1 выбрать событие OnProgressChange и ввести код:
ProgressBar1.Max:= ProgressMax;
ProgressBar1.Position:= Progress;
15. Проверить работу приложения.
16. Модернизировать приложение для реализации следующих функций:
· при изменении размера формы компоненты StatusBar и ProgressBar должны всегда отображаться на экране.
· кнопки Назад и Вперед после загрузки приложения должны быть недоступны. Кнопка Назад получает доступ только после выбора пользователем гиперссылки в окне браузера. Кнопка Вперед получает доступ после щелчка по кнопке Назад