Интернет-браузер
Описание входных и выходных данных. Общая характеристика и требования к проектируемой программе, ее структуре и функциональным компонентам. Выбор и обоснование средств разработки, разработка интерфейса пользователя. Требования к программному обеспечению.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 12.05.2016 |
Размер файла | 1,4 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Размещено на http://www.allbest.ru/
Введение
программа интерфейс пользователь
Изо дня в день, на протяжении уже многих лет мы, ничуть не задумываясь, заходим в Интернет, проверяем почту, общаемся с людьми, читаем новости… И нас не посещает мысль о браузере, которым мы пользуемся, а некоторые, и вовсе не задумывались что такое браузер. Я постараюсь рассказать Вам о том, что же все-таки это такое - интернет браузер.
Начнем, пожалуй, с определения: браузер, или еще так называемый веб-обозреватель - это специальная программка которая как раз и позволяет Вам просматривать те или иные сайты. Как же это работает? Браузер посылает запрос сервера на получение какой-либо информации или данных, интерпретирует все это специальным образом и показывает Вам уже знакомую веб-страницу, такую, какой Вы всегда и привыкли ее видеть. Создание и интерпретирование интернет страниц определяется по отраслевым стандартам, которые утверждаются международной стандартизирующей организацией.
Обозреватели появились практически в самом начале развития Интернета и с течением времени они распространялись все более и более широко на просторах интернета. На сегодняшний день Вы не найдете ни одного персонального компьютера без интернет браузера, и это совершенно не зависит от того, подключен он или нет к какой-нибудь интернет сети. В настоящее время интернет обозреватели обосновались не только на ПК, но и на мобильных телефонах, ведь технологии не стоят на месте, они всегда идут вперед! Теперь, что бы Вы не взяли в руки, будь то смартфон, коммуникатор или просто обыкновенный сотовый телефон, вы практически в любом случае найдете там Интернет браузер. Каждый из интернет браузеров обладает как своими плюсами, так и минусами.
1. Постановка задачи
1.1 Описание предметной области
Браузер - это специальное программное обеспечение, которое предназначено для просмотра web-страниц. Браузеры еще называют интернет-обозревателями или «бродилками».
В настоящее время в мире насчитывается свыше сотни тысяч Web-серверов, предоставляющих доступ к более чем 30 миллионам различных Web-страниц.
Объем и разнообразие имеющихся информаций не поддается исчислению. Создав собственную Web-страницу, вы получите практически не ограниченные возможности рекламы своей продукции и услуг. Вы сможете распространять информацию и находить близких по духу людей. Доступ к вашей Web-странице можно получить с помощью Web-браузера.
В настоящее время существует много Web-браузеров, каждый из которых обладает своими преимуществами и недостатками. Одни из самых популярных и используемых на компьютере это браузеры - Internet Explorer, Mozilla Firefox, Opera, Safari, Google Chrome.
И по большому счету нет большой разницы, какой из них вы используете.
1.2 Входная информация
Входными данными является URL который вводится пользователем в адресную строку, а также открытие web-страниц с локальных дисков компьютера.
Выходной информацией в данном приложении будет сохранение web-страниц и возможность распечатать web-страницу.
1.3 Требования к программе
Главным требование для использования данного приложения является наличие интернет соединения. Так как браузеры предназначены для работы с web-страницами. Иначе будут выданы соответствующие ошибки об отсутствии интернет соединения.
2. Проектирование задачи
2.1 Выбор и обоснование средств разработки
Для разработки данного программного продукта мной была выбрана среда разработки С++ Builder 6.
Система объектно-ориентированного программирования Borland C++ Builder, предназначена для операционных систем Windows. Интегрированная среда C++ Builder обеспечивает скорость визуальной разработки, продуктивность повторно используемых компонентов в сочетании с мощью языковых средств C++, усовершенствованными инструментами и разномасштабными средствами доступа к базам данных.
Профессиональные средства языка C++ интегрированы в визуальную среду разработки. C++Builder предоставляет быстродействующий компилятор с языка Borland C++, эффективный инкрементальный загрузчик и гибкие средства отладки как на уровне исходных инструкций, так и на уровне ассемблерных команд - в расчете удовлетворить высокие требования программистов-профессионалов.
С++ Builder может быть использован везде, где требуется дополнить существующие приложения расширенным стандартом языка C++, повысить быстродействие и придать пользовательскому интерфейсу качества профессионального уровня.
При разработке была использована операционная система Windows 7, средой разработки был выбран C++ Builder. Тип системы: 64-разрядная операционная система;
2.2 Проектирование интерфейса пользователя
В С++ Builder это делается при помощи форм. Форма представляет собой экранный объект, обычно прямоугольной формы, который можно применять для предоставления информации пользователю и для обработки ввода информации от пользователя. Именно на ней мы и будем располагать все остальные элементы интерфейса программы.
Разместим для начала на форме компонент Main Menu, в котором будут отображаться все необходимые для работы пункты меню. В пункте меню «Файл» содержатся такие операции как «Настройка домашней страницы», с помощью которой пользователь может настроить домашнюю страницу, с помощью пункта «Открыть» осуществляется открытие HTML файла, сохранённого за ранее с помощью пункта «Сохранить», сохраняет активную страницу на компьютер. «Поиск слов на сайте», помогает найти необходимое слово или фразу на сайте. С помощью пункта «Печать» пользователь может распечатать страницу сайта. Что бы посмотреть все посещаемые сайты необходимо нажать пункт меню «История». Пункт «Выход» закрывает программу.
Всё выше перечисленное изображено на рисунке 2.2.1.
Рисунок 2.2.1
Настройка домашней страницы осуществляется в отдельном окне, которое вызывается с помощью пункта меню «Свойства-Настройка домашней страницы», либо с помощью комбинации клавиш Ctrl+S.
Рисунок 2.2.1 - Настройка домашней страницы
Клавиша «Открыть определённую страницу» устанавливает домашнюю страницу которую пользователь укажет нажав кнопку «Задать страницу» после чего откроется окно в соответствии с рисунком 2.2.2.
Рисунок 2.2.2
Указав необходимый адрес необходимо нажать клавишу «Ок».
Указанную домашнюю страницу можно открыть с помощью клавиши с рисунком «домика» в главном окне программы.
«My Browser» может быть использован как веб-браузер, предназначенный для работы пользователя в сети интернет, которая выполняет запросы по поиску информации, которая требуется пользователю.
Использование одного поля для ввода поисковых запросов для вывода результата. Расширенный набор действий: обновление страницы, переход назад, прерывание запроса, переход вперёд и т.п. Использование различных типов переменных.
2.3 Алгоритм решения задачи
Что бы запустить программу необходимо дважды кликнуть по файлу Project1.exe, после чего будет открыта программ «My Browser». При соответствии требований характеристик компьютера к программе откроется главная форма в соответствии с рисунком 2.3.1
Рисунок 2.3.1 - Главная форма
Для загрузки web-страницы необходимо добавить вкладку на клавишу с рисунком плюсика и ввести адрес сайта в адресную строку и нажать клавишу Enter после чего будет открыт сайт с указанным адресом.
Для создания вкладки была использована функция make_tab(), в котором так же описывается динамическое создание компонента CppWebBrowser. Для работы с функцией make_tab() были использованы такие типы данных как:
TTabSheet* newtab; // используется для работы с вкладками PageControl.
TCppWebBrowser* newbrowser[50]; // используется для динамического создания компонента CppWebBrowser.
int num=0;
В функции make_tab() описано создание новой пустой вкладки как показано ниже:
newtab = new TTabSheet(this);
newtab->PageControl = PageControl1;
newtab->Name = AnsiString («TabSheet»)+IntToStr (PageControl1->PageCount+1);
newtab->Caption = «Новая вкладка»; // задаётся имя созданной новой вкладки.
newbrowser[num] = new TCppWebBrowser(PageControl1); // создание компонента CppWebBrowser в созданной вкладке PageControl1.
Создание новой вкладки осуществляется с помощью клавиши с рисунком плюсика, либо через контекстное меню нажав правой кнопкой мыши и выбрав пункт «Добавить вкладку».
Для удобства использования в браузере предусмотрено сохранение настроек в ini-файл, выполненных пользователем. Для работы с записью в ini-файл был подключен специальный объект: TIniFiles *ini = new TIniFile («C:/options.ini») и подключена библиотека #include <IniFiles.hpp>.
3. Программная реализация
3.1 Описание разработанных модулей
При разработке интерфейса главной формы использованы следующие компоненты.
Описание модулей Form1 представлено в таблице 3.1.1
Таблица 3.1.1 - Модули «Form1»
MainMenu |
применяются для создания вкладок |
|
PoupMenu |
применяется для создание контекстного меню |
|
BitBtn |
для функциональных кнопок |
|
ComboBox |
поле для ввода |
|
SpeedButton |
кнопки закладок |
|
OpenDialog |
использовался для открытия закладок из файла |
|
SaveDialog |
для сохранения закладок |
|
CoolBar |
для удобного размещения компонентов |
|
ProgressBar |
используется для отображения хода загрузки страницы |
|
Timer |
отображает дату и время в шапке окна |
|
PageControl |
используется для создания интернет вкладок |
Описание модулей Form2 представлено в таблице 3.1.2
Таблица3.1.2 - Модули «Form2»
Panel1 |
Используется для удобного расположения компонентов |
|
Label1 |
Используется для отображения надписи «История посещений» |
|
Memo1 |
Отображает посещаемые URL адреса |
|
BitBtn1 |
Используется для удаления посещённых адресов. |
Описание модулей Form3 представлено в таблице 3.1.3
Таблица3.1.3 - Модули «Form3»
Image1 |
Используется для отображения изображения как фон формы. |
|
Label1 |
Отображает надпись «Настройка домашней страницы» |
|
RadioButton2 |
Используется для установления домашней страницы по умолчанию |
|
RadioButton3 |
Используется для установления домашней страницы указанной пользователем. |
|
SpeedButton1 |
Открывает форму для ввода домашней страницы. |
Описание модулей Form4 представлено в таблице 3.1.4
Таблица3.1.4 - Модули «Form4»
Label1 |
Используется для отображения надписи «Добавить новую страницу» |
|
Edit1 |
Используется для ввода адреса домашней страницы |
|
BitBtn1 |
Записывает введённый адрес в свойство Caption компонента Label2. |
|
Label2 |
Используется для отображения адреса введённого пользователем в поле ввода адреса домашней страницы. |
|
Label3 |
Используется для надписи: «Добавленный адрес» |
|
Panel1 |
Используется для удобного расположения компонентов. |
|
Bevel1 |
Используется как разделитель компонентов |
Описание модулей Form5 представлено в таблице 3.1.5
Таблица3.1.5 - Модули «Form5»
Panel1 |
Используется для удобного расположения компонентов |
|
Label1 |
Служит для отображения надписи «Web-browser» |
|
Image1 |
Используется для отображения изображения браузера |
|
Label2 |
Используется для отображения надписи «version 1.0» |
|
Label3 |
Используется для надписи «Разработал» |
|
GroupBox1 |
Содержит информацию о версии программы |
|
GroupBox2 |
Содержит информацию о разработчике |
|
Label4 |
Используется для отображения надписи «Урбанский Владислав» |
|
Label5 |
Используется как ссылка на веб сайт разработчика |
|
Label6 |
Используется для отображения надписи «Веб сайт» |
Код программы состоит из нескольких вполне логически законченных частей, которые условно можно разделить на следующие группы:
а) код главной формы, который включает описание таких операций, как
1) определение физического пути к ini-файлу;
2) чтение операций из ini-файла;
3) динамическое создание и закрытие вкладок браузера;
4) переход назад, вперёд, обновить страницу, прервать загрузку, переход на домашнюю страницу.
5) вызов форм, связанных с главной формой.
б) код форм, связанных с главной формой, в которых содержится описание такой операции, как вызов справки и помощи.
Весь код приложения располагается в 4 Unit'ах. Каждый Unit содержит код обработки событий компонентов, располагающихся на соответствующих формах (Form), то есть Unit1 соответствует Form1, Unit2 - Form2 и т.д.
3.2 Описание разработанных методов
Для разработки данного программного средства были использованы специальные методы, которые описаны ниже.
Описание методовForm1 представлено в таблице 3.2.1
Таблица 3.2.1 - Методы «Form1»
Название метода |
Характеристика метода |
|
void __fastcall CppWebBrowser1NavigateComplete2 (TObject *Sender, LPDISPATCH pDisp, Variant *URL) |
Метод служит для записи URL адресов в компоненте ComboBox. |
|
void __fastcall CppWebBrowser1BeforeNavigate2 (TObject *Sender, LPDISPATCH pDisp, Variant *URL, Variant *Flags, Variant *TargetFrameName, Variant *PostData, Variant *Headers, VARIANT_BOOL *Cancel) |
Метод служит для формирования URL адреса в ComboBox. |
|
void __fastcall make_tab() |
Функция создания новой вкладки и динамическое создание компонента CppWebBrowser. |
|
void __fastcall make_prog (TObject *Sender, long Progress, long ProgressMax) |
Используется для отображения хода загрузки web-страницы. |
|
void __fastcall ComboBox1KeyDown (TObject *Sender, WORD &Key, TShiftState Shift) |
Метод используется для загрузки введённого адреса и добавления использованных адресов в свойство Items компонента ComboBox. |
|
void __fastcall FormKeyDown (TObject *Sender, WORD &Key, TShiftState Shift) |
Используется для создания вкладки с помощью комбинации клавиш Ctrl+T. |
|
void __fastcall SpeedButton1Click (TObject *Sender) |
Переход на предыдущую страницу. |
|
void __fastcall SpeedButton5Click (TObject *Sender) |
Остановка загрузки web-страницы. |
|
void __fastcall SpeedButton4Click (TObject *Sender) |
Используется для перехода на домашнюю страницу. |
|
void __fastcall SpeedButton3Click (TObject *Sender) |
Метод используется для обновления Web - страницы. |
|
void __fastcall SpeedButton2Click (TObject *Sender) |
Переход на следующую страницу. |
|
void __fastcall FormCreate (TObject *Sender) |
В методе описано, когда все нажатия проходят через форму, а также загрузка начальной страницы «google.com». |
|
void __fastcall SpeedButton6Click (TObject *Sender) |
Метод используется для добавления новой вкладки и очистки адресной строки. Добавление использованного адреса в историю посещений. |
|
void __fastcall N1Click (TObject *Sender) |
Удаление активной вкладки. |
|
void __fastcall N5Click (TObject *Sender) |
Создание новой вкладки. |
|
void __fastcall SpeedButton7Click (TObject *Sender) |
Метод используется для разворачивания панели закладок. |
|
void __fastcall SpeedButton8Click (TObject *Sender) |
Метод используется для сворачивания панели закладок. |
|
void __fastcall SpeedButton10Click (TObject *Sender) |
Используется как закладка для перехода на страницу «http://vk.com». |
|
void __fastcall SpeedButton11Click (TObject *Sender) |
Используется как закладка для перехода на страницу «http://youtube.com». |
|
void __fastcall FormCloseQuery (TObject *Sender, bool &CanClose) |
Метод используется для записи посещённых адресов в текстовый файл. |
|
void __fastcall N10Click (TObject *Sender) |
Открывает форму «история». |
|
void __fastcall N8Click (TObject *Sender) |
Открывает форму настройки домашней страницы. |
|
void __fastcall SpeedButton12Click (TObject *Sender) |
Используется как закладка для перехода на страницу одноклассники «http://ok.ru». |
|
void __fastcall N9Click (TObject *Sender) |
Метод используется для выхода их программы. |
|
void __fastcall SpeedButton9Click (TObject *Sender) |
Метод используется для распечатки web-страницы. |
|
void __fastcall Timer1Timer (TObject *Sender) |
Используется для отображения даты и времени в окне программы. |
|
void __fastcall SpeedButton13Click (TObject *Sender); |
Используется для открытия HTML файла за ранее сохранённого на компьютере, через кнопку на панели закладок. |
|
void __fastcall SpeedButton14Click (TObject *Sender) |
Сохранение активной страницы на локальный диск через кнопку на панели закладок. |
|
void __fastcall N7Click (TObject *Sender) |
Открытие HTML страницы через пункт меню «Открыть» |
|
void __fastcall N12Click (TObject *Sender) |
Сохранение HTML страницы через пункт меню «сохранить». |
|
void __fastcall N11Click (TObject *Sender) |
Метод используется для печати HTML страницы. |
|
void __fastcall N13Click (TObject *Sender) |
Используется для поиска слов на сайте. |
|
void __fastcall CppWebBrowser1ProgressChange (TObject *Sender, long Progress, long ProgressMax) |
Отображение хода загрузки в компоненте ProgressBar. |
|
void __fastcall FormResize (TObject *Sender) |
Метод используется для изменения размера при разворачивании формы. |
|
void __fastcall FormClose (TObject *Sender, TCloseAction &Action) |
Метод используется для вызова модального окна, запроса о выходе из программы. |
|
void __fastcall N14Click (TObject *Sender) |
Используется для вызова справки. |
Описание методовForm2 представлено в таблице 3.2.2
Таблица3.2.2 - Методы «Form2»
Название метода |
Характеристика метода |
|
void __fastcall BitBtn1Click (TObject *Sender); |
Метод используется для очистки поля истории. |
Описание методовForm3 представлено в таблице 3.2.3
Таблица3.2.3 - Методы «Form3»
Название метода |
Характеристика метода |
|
void __fastcall SpeedButton1Click (TObject *Sender); |
Метод используется для открытия формы для ввода домашней страницы. |
|
void __fastcall RadioButton2Click (TObject *Sender); |
Используется для записи в ini файл состояние кнопки. |
|
void __fastcall FormCreate (TObject *Sender); |
Чтение из ini файла состояние кнопок при открытии формы. |
|
void __fastcall RadioButton3Click (TObject *Sender); |
Запись состояния кнопок в ini файл. |
Описание методовForm4 представлено в таблице 3.2.4
Таблица3.2.4 - Методы «Form4»
Название метода |
Характеристика метода |
|
void __fastcall BitBtn1Click (TObject *Sender); |
Метод используется для записи введённого адреса в строку Label. |
|
void __fastcall BitBtn2Click (TObject *Sender); |
Используется для очистки поля для ввода и закрытия формы для указания домашней страниы. |
Описание методовForm5 представлено в таблице 3.2.5
Таблица3.2.5 - Методы «Form5»
void __fastcall Label5Click (TObject *Sender) |
Метод используется для открытия веб сайта разработчика и закрытия формы о программе. |
4. Описание применения программы
4.1 Требования к аппаратно-программному обеспечению
Открываем приложение «My Browser» двойным щелчком мыши Нажимая левую клавишу мыши в поле адреса, и вводим адрес сайта и нажимаем клавишу Enter, если страница загрузилась плохо, то жмём на кнопку с вращающимися стрелками, для обновления страницы. Если надо использовать готовые сайты нажимаем кнопку с именем «Закладки» и открываем из файла готовые сайты. Если надо сохранить или удалить сайт жмём на соотвествующие кнопки. Наименование программного продукта: «My Browser». Основные функции программы являются: переход на страницу, адрес которой пользователь ввёл в поле адреса.
Аппаратные ресурсы: для разработки
Процессор: AMD E-450;
Установленная память: 4.0 ГБ;
Разрешение экрана: 1366 х 768;
Windows 98, 2000, XP, Vista, 7,8.
Минимальные требования к техническим характеристикам для нормального функционирования:
объем оперативной памяти: 265 Mb;
объем внешней памяти: 156 Mb;
требования к мониторам: разрешение не менее 800 х 600.
4.2 Руководство пользователя
Для того чтобы работать в сети нужно подключение к интернету иначе будут выданы ошибки в соответствии с ниже указанными рисунками.
Рисунок 4.2.1
Рисунок 4.2.2
Рисунок 4.2.3
При наличии интернет соединения в главном окне браузера загрузится поисковая система Google.com как показано на рисунке 4.2.4.
Рисунок 4.2.4
1. Что бы добавить новую вкладку нажмите клавишу со знаком «+» и введите необходимый вам адрес в адресную строку.
2. Если вам необходимо перейти на предыдущую страницу нажмите клавишу назад (стрелка влево).
3. Для перехода на следующую вкладку нажмите клавишу вперёд (стрелка вправо).
4. Если страница была загружена плохо, то есть не отображается текс или изображения и т.д. нажмите клавишу обновить (крутящиеся стрелки).
5. Что бы прервать загрузку страницы необходимо нажать клавишу стоп (красный крестик).
6. Для перехода на домашнюю страницу необходимо нажать клавишу с рисунком домика.
В настройках домашней страницы, которые можно вызвать с помощью комбинации клавиш Ctrl+S либо нажав пункт меню Свойства-Настройка домашней страницы, можно задать любой сайт, который вам необходимо для домашней страницы. После нажатия указанных клавиш откроется окно в соответствии с рисунком 4.2.5.
Рисунок 4.2.5
7. Для того что бы открывать указанную страницу нужно установить курсор на кнопку «Открыть определённую страницу» и указать свою домашнюю страницу нажав клавишу «Задать страницу» и откроется окно как на рисунке 4.2.6.
Рисунок 4.2.6
Введите в поле нужный вам адрес и нажмите клавишу «Ок».
8. Что бы открыть страницу с локально диска нажмите комбинацию клавиш Ctrl +E либо через пункт меню «Свойство-Открыть». Откроется окно как показано на рисунке 4.2.7.
Рисунок 4.2.7
Нажав кнопку Обзор откроется диалоговое окно для открытия HTML файла с локального диска. Выбрав файл нажмите клавишу «открыть» и далее клавишу «ок» как показано на рисунке 4.2.8.
Рисунок 4.2.8
9. Для того что бы сохранить web-страницу на локальный диск необходимо нажать клавишу «Сохранить» либо нажать комбинацию клавиш Ctrl+L. После чего откроется диалоговое окно для выбора места куда нужно сохранить Web-страницу.
Рисунок 4.2.9
Выбрав место для сохранения нажмите Сохранить.
10. В браузере есть такая возможность как поиск слов на сайте. Что бы использовать эту возможность перейдите в пункт меню «Свойства-Поиск слов на сайте» или вызвать окно поиска с помощью комбинации клавиш Ctrl+I в появившемся окне введите слово которое необходимо найти. Поиск не заставит себя ждать.
Рисунок 4.2.10
11. Для того что бы распечатать Web-страницу необходимо нажать комбинацию клавиш Ctrl+P или выбрать «Печать» в пункте меню «Свойства».
Рисунок 4.2.12
Выбрав все необходимы настройки для печати нажмите клавишу «Печать».
12. Для просмотра посещаемых сайтов нажмите в меню «Свойства» пункт «История» после чего откроется история посещений как показано на рисунке 4.2.13.
Рисунок 4.2.13
После нажатия клавиши «Очистить историю» будет выдано сообщение о подтверждении удаления.
Рисунок 4.2.14
При нажатии Yes поле будет очищено, при нажатии No удаление будет отменено.
13. Для того что бы выйти из программы нажмите Ctrl+Alt+X или через пункт меню «Свойства-Выход из программы».
14. Что бы просмотреть информацию о программе нажмите пункт меню «О программе» после чего откроется окно в соответствии с рисунком 4.2.16.
Рисунок 4.2.15
Что бы узнать подробнее о разработчике веб-браузера нажмите на ссылку в нижней части экрана. После чего откроется веб-страница разработчика.
15. Если что-то в процессе работы с браузером в чём-то возникли проблемы с программой можно ознакомиться с помощью справки, которая открывается с помощью клавиши F1.
Приятного использования!
Заключение
В ходе разработки программного средства, было создано приложение (программа) «Web-browser», позволяющее просматривать Web-страницы, производить их обработку, осуществлять переход от одной страницы к другой. Установить браузер на свой компьютер не составит труда даже не очень опытному пользователю. В нем есть всё, что может потребоваться: удобный интерфейс, поиск, полезные дополнения, позволяющие быстро получать нужную информацию и работать с закладками, а также многое другое, которое в доступной форме позволяет пользователю окунуться в мир глобальной сети интернет.
В результате разработки, получен полноценный браузер, с помощью которого можно беспрепятственно посещать различные Интернет ресурсы. Плюсом написания браузера на Borland C++ является то, что основной упор делается на максимальном использовании кода. Это позволяет разработчикам строить приложения весьма быстро из заранее подготовленных объектов, а также дает им возможность создавать свои собственные объекты для среды Borland C++. Никаких ограничений по типам объектов, которые могут создавать разработчики, не существует. Создание браузера очень эффективным в образовательном плане, так как при его написании возникал ряд трудностей, преодолевая которые развиваются необходимые качества для программиста, такие как упорство, логика, умение находить оптимальное решение проблемы. Дизайн и внешний облик браузера и функционал целиком и полностью зависит от разработчика, поэтому реализация данного проекта позволяет развивать творческое мышление и повысить мотивацию к обучению, овладеть методами научного познания.
В данной программе вся информация размещена на главной форме. Программа легко воспринимается визуально. Интерфейс построен так, что пользователю не составит большого труда разобраться в данной программе. Каждая кнопка, имеет надпись, которая соответствует ее назначению.
В ходе создания программного средства были проведены тестирования, в ходе которых были выявлены ошибки и недостатки, такие как ввод адреса сайтов и не корректный поиск, но в итоге они были выявлены исправлены.
Список используемых источников
1. ГОСТ 19.404-79 ЕСПД. Пояснительная записка. Требования к содержанию и оформлению. - М.: Изд-во стандартов, 1982.
2. ГОСТ 2.104-68 ЕСКД. Основные надписи. - М.: Изд-во стандартов, 1982.
3. ГОСТ 2.105-95 ЕСКД. Общие требования к текстовым документам. - М.: Изд-во стандартов, 1995. ГОСТ 19.103-77 ЕСПД. Обозначения программ и программных документов. - М.: Изд-во стандартов, 1982.
4. Г.В. Галисеев, «Программирование в среде C++ Builder. Самоучитель», М., 2004 год.
5. В.В. Фаронов, «C++ Builder учебный курс», издатель С.В. Малгачёва, 2001 год.
6. В.В. Шупрута «C++ Builder. Учимся программировать» Справочная система C++ Builder.
Приложение
(Листинг)
#include <vcl.h>
#pragma hdrstop
#include «Unit1.h»
#include «Unit2.h»
#include «Unit3.h»
#include «Unit4.h»
#include «Unit5.h»
#include «Unit6.h»
#include «dir.h»
#include <shellapi.h>
#include <stdio.h>
// -
#pragma package (smart_init)
#pragma link «SHDocVw_OCX»
#pragma resource «*.dfm»
TForm1 *Form1;
TIniFile *Ini = new TIniFile («C:/options.ini»);
TStringList* slLog;
TTabSheet* newtab;
TCppWebBrowser* newbrowser[50];
int num=0;
int FindNext (struct ffblk *sr);
// -
__fastcall TForm1:TForm1 (TComponent* Owner)
: TForm(Owner)
{
}
// -
void __fastcall TForm1: CppWebBrowser1NavigateComplete2 (TObject *Sender,
LPDISPATCH pDisp, Variant *URL)
{
ComboBox1->Text=*URL;
ComboBox1->Items->Add (newbrowser[num]->LocationURL);
}
// -
void __fastcall TForm1: CppWebBrowser1BeforeNavigate2 (TObject *Sender, LPDISPATCH pDisp,
Variant *URL, Variant *Flags, Variant *TargetFrameName, Variant *PostData,
Variant *Headers, VARIANT_BOOL *Cancel)
{
ComboBox1->Text =newbrowser[num]->LocationURL;
}
// -
void __fastcall TForm1:make_tab() // создаёт новую пустую вкладку
{
newtab = new TTabSheet(this);
newtab->PageControl = PageControl1;
newtab->Name = AnsiString («TabSheet»)+IntToStr (PageControl1->PageCount+1);
newtab->Caption = «Новая вкладка»;
newbrowser[num] = new TCppWebBrowser(PageControl1);
newbrowser[num]->TOleControl: Parent = newtab;
newbrowser[num]->TOleControl: Name = AnsiString («CppWebBrowser»)+IntToStr (PageControl1->PageCount)+1;
newbrowser[num]->TOleControl: Align = alClient;
newbrowser[num]->OnProgressChange = make_prog;
newbrowser[num]->OnNavigateComplete2 = make_info;
PageControl1->ActivePage=newtab;
num++;
}
// -
void __fastcall TForm1:make_info (TObject *Sender, LPDISPATCH pDisp, tagVARIANT *URL)
{
ComboBox1->Text = URL->bstrVal;
ComboBox1->Items->Add (ComboBox1->Text);
}
void __fastcall TForm1:make_prog (TObject *Sender, long Progress, long ProgressMax)
{
ProgressBar1->Max=ProgressMax;
ProgressBar1->Position=Progress;
ProgressBar1->Visible=Progress;
}
// -
void __fastcall TForm1: ComboBox1KeyDown (TObject *Sender, WORD &Key, TShiftState Shift)
{
if (Key==VK_RETURN)
{
newbrowser [PageControl1->ActivePageIndex]->Navigate (StringToOleStr(ComboBox1->Text));
ComboBox1->Items->Add (ComboBox1->Text); // Добавляем использованные адреса
Form2->Memo1->Lines->Add (ComboBox1->Text); // запись посещённых адресов в историю
newtab->Caption=ComboBox1->Text;
}
}
// -
void __fastcall TForm1: FormKeyDown (TObject *Sender, WORD &Key, TShiftState Shift)
{
if((Key=='T')&&(Shift==TShiftState() << ssCtrl)) // создание нов. вкладки с помощью Ctrl+T
make_tab();
}
// -
void __fastcall TForm1: SpeedButton1Click (TObject *Sender)
{
newbrowser [PageControl1->ActivePageIndex]->GoBack(); // переход назад
}
// -
void __fastcall TForm1: SpeedButton5Click (TObject *Sender)
{
newbrowser [PageControl1->ActivePageIndex]->Stop(); // остановить загрузку
}
// -
void __fastcall TForm1: SpeedButton4Click (TObject *Sender)
{
newbrowser [PageControl1->ActivePageIndex]->Navigate (StringToOleStr(Form4->Label2->Caption)); // переход на заданную дом. страницу
newtab->Caption=Form4->Label2->Caption;
{
if (Form3->RadioButton2->Checked)
{
newbrowser [PageControl1->ActivePageIndex]->GoHome(); // переход на домашнюю страницу по умалчанию
newtab->Caption= «Yandex»;
}
}
Form4->Label2->Caption=Ini->ReadString («Label», «Label2», Form4->Label2->Caption);
}
// -
void __fastcall TForm1: SpeedButton3Click (TObject *Sender)
{
newbrowser [PageControl1->ActivePageIndex]->Refresh(); // обновление страницы
}
// -
void __fastcall TForm1: SpeedButton2Click (TObject *Sender)
{
newbrowser [PageControl1->ActivePageIndex]->GoForward(); // переход вперёд
}
// -
// -
void __fastcall TForm1: FormCreate (TObject *Sender)
{
Form1->KeyPreview=true; // включаем режим, когда все нажатия проходят через форму
PageControl1->Align = alClient;
SpeedButton8->Visible=false;
make_tab();
{
newbrowser [PageControl1->ActivePageIndex]->Navigate (L «http://www. Google.com»);
newtab->Caption= «Google»;
}
}
void __fastcall TForm1: SpeedButton6Click (TObject *Sender)
{
make_tab();
ComboBox1->Clear();
ComboBox1->Items=Form2->Memo1->Lines;
}
// -
void __fastcall TForm1:N1Click (TObject *Sender)
{
delete PageControl1->ActivePage; // удаление активной вкладки
}
// -
void __fastcall TForm1:N5Click (TObject *Sender)
{
make_tab(); // создание новой вкладки
}
// -
void __fastcall TForm1: SpeedButton7Click (TObject *Sender)
{
CoolBar2->Height=50; // развернуть панель закладок
SpeedButton7->Visible=false;
SpeedButton8->Visible=true;
}
// -
void __fastcall TForm1: SpeedButton8Click (TObject *Sender)
{
CoolBar2->Height=0; // свернуть панель закладок
SpeedButton7->Visible=true;
SpeedButton8->Visible=false;
}
// -
void __fastcall TForm1: SpeedButton10Click (TObject *Sender)
{
make_tab();
newtab->Caption=» Vkontakte»;
ComboBox1->Text= «http://vk.com»;
ComboBox1->OnChange;
}
// -
void __fastcall TForm1: SpeedButton11Click (TObject *Sender)
{
make_tab();
newtab->Caption= «YouTube»;
ComboBox1->Text= «http://youtube.com»;
ComboBox1->OnChange;
}
// -
void __fastcall TForm1: FormCloseQuery (TObject *Sender, bool &CanClose)
{
Form2->Memo1->Lines->SaveToFile («historyURL.txt»); // сохраняет посещённые адреса в текстовый документ
}
// -
void __fastcall TForm1:N10Click (TObject *Sender)
{
Form2->Show(); // открывает форму истории
}
// -
void __fastcall TForm1:N8Click (TObject *Sender)
{
Form3->Show(); // форму настроек браузера
}
// -
void __fastcall TForm1: SpeedButton12Click (TObject *Sender)
{
make_tab();
newtab->Caption= «Одноклассники»;
ComboBox1->Text= «http://ok.ru»;
ComboBox1->OnChange;
}
// -
void __fastcall TForm1:N9Click (TObject *Sender)
{
Close();
}
// -
void __fastcall TForm1: SpeedButton9Click (TObject *Sender)
{
newbrowser [PageControl1->ActivePageIndex]->ExecWB (OLECMDID_PRINT, OLECMDEXECOPT_DODEFAULT); // Печатаем содержимое TWebBrowser;
}
// -
void __fastcall TForm1: Timer1Timer (TObject *Sender)
{
Form1->Caption = «My Browser «+DateTimeToStr (Now());
}
// -
void __fastcall TForm1: SpeedButton13Click (TObject *Sender)
{
newbrowser [PageControl1->ActivePageIndex]->ExecWB (OLECMDID_OPEN, OLECMDEXECOPT_DODEFAULT);
} // открытие HTML-страниц
// -
void __fastcall TForm1: SpeedButton14Click (TObject *Sender)
{
newbrowser [PageControl1->ActivePageIndex]->ExecWB (OLECMDID_SAVEAS, OLECMDEXECOPT_DODEFAULT);
} // сохранение ативной страницы на локальный диск
// -
void __fastcall TForm1:N7Click (TObject *Sender)
{
newbrowser [PageControl1->ActivePageIndex]->ExecWB (OLECMDID_OPEN, OLECMDEXECOPT_DODEFAULT);
} // открытие HTML-страницы
// -
void __fastcall TForm1:N12Click (TObject *Sender)
{
newbrowser [PageControl1->ActivePageIndex]->ExecWB (OLECMDID_SAVEAS, OLECMDEXECOPT_DODEFAULT);
} // сохранение HTML-страцы на локальный диск
// -
void __fastcall TForm1:N11Click (TObject *Sender)
{
newbrowser [PageControl1->ActivePageIndex]->ExecWB (OLECMDID_PRINT, OLECMDEXECOPT_DODEFAULT);
} // печать активной веб-страницы
// -
void __fastcall TForm1:N13Click (TObject *Sender)
{
newbrowser [PageControl1->ActivePageIndex]->ExecWB (OLECMDID_FIND, OLECMDEXECOPT_DODEFAULT);
} // поиск слов на сайте
// -
void __fastcall TForm1: CppWebBrowser1ProgressChange (TObject *Sender, long Progress,
long ProgressMax)
{
ProgressBar1->Max=ProgressMax;
ProgressBar1->Position=Progress;
}
// -
void __fastcall TForm1: CppWebBrowser1StatusTextChange (TObject *Sender, BSTR Text)
{
StatusBar1->Panels->Items[0]->Text=Text;
}
// -
void __fastcall TForm1: FormResize (TObject *Sender)
{
newbrowser [PageControl1->ActivePageIndex]->Width=Form1->Width-28;
newbrowser [PageControl1->ActivePageIndex]->Height=Form1->Height-130;
newbrowser [PageControl1->ActivePageIndex]->Width=newbrowser [PageControl1->ActivePageIndex]->Width;
ProgressBar1->Top=newbrowser [PageControl1->ActivePageIndex]->Height+57;
ProgressBar1->Left=8;
SpeedButton7->Left=Form1->Width-58;
SpeedButton8->Left=Form1->Width-58;
SpeedButton9->Left=Form1->Width-145;
SpeedButton13->Left=Form1->Width-100;
SpeedButton14->Left=Form1->Width-58;
ComboBox1->Width=Form1->Width-375;
}
// -
void __fastcall TForm1:N15Click (TObject *Sender)
{
Form5->Show();
}
// -
void __fastcall TForm1:N2Click (TObject *Sender)
{
Form5->Show();
}
// -
void __fastcall TForm1: FormClose (TObject *Sender, TCloseAction &Action)
{
Action=caNone;
if (MessageDlg («Покинуть программу?», mtWarning, TMsgDlgButtons() << mbYes <<mbNo, 0) == mrYes)
{
Action=caHide;
}
else
{
Action=caNone;
}
}
// -
void __fastcall TForm1:N14Click (TObject *Sender)
{
ShellExecute (Handle, L «open», L «help.chm», NULL, NULL, SW_RESTORE);
}
// -
#include <vcl.h>
#pragma hdrstop
#include «Unit2.h»
// -
#pragma package (smart_init)
#pragma resource «*.dfm»
TForm2 *Form2;
TIniFile *Ini = new TIniFile («C:/options.ini»);
// -
__fastcall TForm2:TForm2 (TComponent* Owner)
: TForm(Owner)
{
}
void __fastcall TForm2: BitBtn1Click (TObject *Sender)
{
if (MessageDlg («Вы действительно хотите очистить историю?», mtWarning, TMsgDlgButtons()<< mbYes <<mbNo, 0) == mrYes)
{
Memo1->Clear();
}}
// -
#include <vcl.h>
#pragma hdrstop
#include «Unit3.h»
#include «Unit4.h»
// -
#pragma package (smart_init)
#pragma resource «*.dfm»
TForm3 *Form3;
TIniFile *Ini = new TIniFile («C:/options.ini»);
TStringList* slLog;
// -
__fastcall TForm3:TForm3 (TComponent* Owner)
: TForm(Owner)
{
}
// -
void __fastcall TForm3: SpeedButton1Click (TObject *Sender)
{
Form4->Show();
if (SpeedButton1->OnClick)
{
RadioButton3->Checked;
}
Ini->WriteBool («RadioButton», «RadioButton2», RadioButton2->Checked);
Ini->WriteBool («RadioButton», «RadioButton3», RadioButton3->Checked);
}
// -
void __fastcall TForm3: RadioButton2Click (TObject *Sender)
{
Ini->WriteBool («RadioButton», «RadioButton2», RadioButton2->Checked);
Ini->WriteBool («RadioButton», «RadioButton3», RadioButton3->Checked);
}
// -
void __fastcall TForm3: FormCreate (TObject *Sender)
{
RadioButton2->Checked=Ini->ReadBool («RadioButton», «RadioButton2», RadioButton2->Checked);
RadioButton3->Checked=Ini->ReadBool («RadioButton», «RadioButton3», RadioButton3->Checked);
}
// -
void __fastcall TForm3: RadioButton3Click (TObject *Sender)
{
Ini->WriteBool («RadioButton», «RadioButton2», RadioButton2->Checked);
Ini->WriteBool («RadioButton», «RadioButton3», RadioButton3->Checked);
}
// -
#include <vcl.h>
#pragma hdrstop
#include «Unit4.h»
#include «Unit1.h»
// -
#pragma package (smart_init)
#pragma resource «*.dfm»
TForm4 *Form4;
TIniFile *Ini = new TIniFile («C:/options.ini»);
// -
__fastcall TForm4:TForm4 (TComponent* Owner)
: TForm(Owner)
{
}
// -
void __fastcall TForm4: BitBtn2Click (TObject *Sender)
{
Edit1->Clear();
Form4->Hide();
}
// -
void __fastcall TForm4: BitBtn1Click (TObject *Sender)
{
Label2->Visible=true;
Label2->Caption=Edit1->Text;
Ini->WriteString («Label», «Label2», Label2->Caption);
Form4->Hide();
}
// -
#include <vcl.h>
#pragma hdrstop
#include «Unit5.h»
#include «Unit1.h»
// -
#pragma package (smart_init)
#pragma resource «*.dfm»
TForm5 *Form5;
int seconds2= 0;
// -
__fastcall TForm5:TForm5 (TComponent* Owner)
: TForm(Owner)
{
}
// -
void __fastcall TForm5: Label5Click (TObject *Sender)
{
Form1->Show();
Form1->make_tab();
Form1->ComboBox1->Text= «http://vk.com/vladosik_sw»;
Form1->ComboBox1->OnChange;
Form5->Hide();
}
// -
Размещено на Allbest.ru
Подобные документы
Требования к программному изделию и параметрам технических средств. Описание пользовательского интерфейса для автоматизированной системы учёта товаров на оптовом складе. Обоснование выбора языков программирования, организации входных и выходных данных.
дипломная работа [3,4 M], добавлен 02.04.2013Выбор состава технических и программных средств разработки системы. Описание входных и выходных данных. Выбор модели базы данных. Разработка подсистемы наполнения базы данных, формирования отчетов. Разработка интерфейса пользователя, тестирование системы.
курсовая работа [3,7 M], добавлен 04.12.2014Формирование входных и выходных данных, SQL–скрипт генерации таблиц базы данных. Создание интерфейса программного приложения и проектирование форм базы данных. Требования к аппаратно–программному обеспечению. Инструкции по установке и эксплуатации.
курсовая работа [1,6 M], добавлен 08.02.2013Описание входной и выходной информации. Требования к комплексу технических средств и к интерфейсу конечного пользователя. Разработка форм представления входных и выходных данных. Проектирование программных модулей. Руководство пользователя и программиста.
курсовая работа [421,6 K], добавлен 27.06.2015Общая характеристика и описание математической модели. Выбор и обоснование среды программирования, анализ входных и выходных данных. Структурное проектирование приложений и интерфейса пользователя. Реализация и оценка защитного программирования.
курсовая работа [564,9 K], добавлен 26.09.2014Понятие банка и базы данных, их назначение. Создание базы данных "Учет нарушений ПДД" с удобным пользовательским интерфейсом. Требования к функциональным характеристикам. Условия эксплуатации и программные требования. Описание входных и выходных данных.
курсовая работа [2,9 M], добавлен 22.09.2012Написание программы для работы со списком документов, разработка функционала. Требования к аппаратному и программному обеспечению. Описание интерфейса пользователя. Структура программы и описание данных. Процедура тестирования и его результаты.
курсовая работа [1,5 M], добавлен 26.08.2012Системный анализ предметной области. Требования к программе и программному изделию, к функциональным характеристикам, к надежности, составу и параметрам технических средств. Обоснование выбора средств выбора для хранения и обработки базы данных.
реферат [403,8 K], добавлен 02.02.2014Определение требований к программному обеспечению. Ознакомление с процессом проектирования интерфейса пользователя. Рассмотрение результатов обзора существующих информационных систем. Обоснование необходимости разработки программного обеспечения.
дипломная работа [1,1 M], добавлен 05.07.2017Общее описание и структура программы, ее компоненты и функции, сферы практического применения. Требования к функциональным возможностям. Характеристика логической структуры, используемые технические средства. Исследование входных и выходных данных.
курсовая работа [94,7 K], добавлен 30.01.2016