Автор работы: Пользователь скрыл имя, 29 Мая 2012 в 17:25, курсовая работа
Главной целью, которая была поставлена, это создание браузера не похожего на другие с использованием новых технологий по сокращению потребления оперативной памяти, маленьким размером дистрибутива, всего лишь около 7 MB, так же предусмотрена повышенная забота о безопасности, качественная блокировка всплывающих (pop-up) окон.
Введение 3
1. ПОСТАНОВКА ЗАДАЧИ 3
1.1. Назначение и функции программы 3
1.2. Информационная база задачи 3
1.2.1. Входная информация 3
1.2.2. Выходная информация 3
1.3. Система меню 3
1.3.1. Пункты меню Файл 3
1.3.2. Пункты меню Правка 3
1.3.3. Пункты меню Вид 3
1.3.4. Пункты меню Опции 3
1.3.5. Пункты меню Сервис 3
1.4 Система помощи 3
1.5 Контрольные примеры 3
1.6 Алгоритм программы 1
2. ОПИСАНИЕ ПРОГРАММЫ 3
2.1. Форма №1 3
2.2. Форма №2 3
2.3. Форма №3 3
2.4. Форма №4 3
2.6. Системные требования 3
3. ОПИСАНИЕ ПРИМЕНЕНИЯ 3
ЗАКЛЮЧЕНИЕ 3
СПИСОК ИСПОЛЬЗУЕМОЙ ЛИТЕРАТУРЫ 3
При запуске Rusota может не только автоматически открывать ваш любимый сайт, но и показывать просто пустую страницу. Для этого в списке действий «При запуске Rusora» выберите «Пустая».
Блокирование всплывающих окон
Хорошие сайты, заботящиеся о своих посетителях, вряд ли будут пугать всплывающими неизвестно откуда окнами с предложением сыграть в онлайн казино или скачать фильм для взрослых. Поэтому всплывающие окна нужно отключить через меню «Опции» – «Свойства обозревателя» – вкладка «Конфиденциальность» – «Блокирование всплывающих окон» и поставить галочку напротив «Включить блокирование всплывающих окон».
Просмотр HTML-кода страниц
Как и любой уважаемый браузер Rusora, позволяет просматривать исходный код веб-страницы.Для этого необходимо открыть нужную веб-страницу и выберать меню «Вид» – «Просмотр HTML-кода».
Настройка поиска
В Rusora чтобы найти что-либо в любой поисковой системе, на странице, нужно ввести фразу для поиска в соответствующую строку и выбрать, где искать. Все используемые поисковые ресурсы доступны в выпадающем меню с поисковыми системами в правой части окна браузера.
Блокирование сайтов
Rusora умеет блокировать доступ к указанным сайтам. Таким образом, пользователь сможет оградить себя и своих домочадцев от посещения неблагонадёжных интернет ресурсов. Для этого необходимо в меню «Опции» – «Свойство обозревателя». Перейдите на вкладку «Содержание», и в разделе «Ограничение доступа» необходимо нажать кнопку «Включить», далее во вкладке «Разрешённые веб-узлы» вводить необходимые узлы для блокировки и разрешения.
Очистка кэша
Во время работы в интернете Rusora сохраняет копии страниц и картинок в кэше. Настройки кэша доступны в меню «Опции» – «Свойства обозревателя» – вкладка «Общие» – раздел «История просмотра». Выберите «Удалить» в открывшемся окне выбираем необходимые пункты и для подтверждения необходимо нажать «Удалить». Максимальный объем дискового места, отводимого под кэш в списке «Кэш на диске». Рекомендуется выбрать 2-5 Мб.
Вот, пожалуй, и всё основное по настройке и работе в браузере Rusora. Как видно со стороны, в нём всё очень продумано и просто, пара часиков работы и покажется, что использовалась Rusora всю жизнь.
ЗАКЛЮЧЕНИЕ
Целью курсового проекта было создание
мощного и функционального веб-
Среди преимуществ браузера Rusora – безопасность и конфиденциальность пользователя, быстрая скорость загрузки страниц, настройки, которые значительно ускоряют и упрощают работу в сети, а также возможность удаления HTTP-Cookies.
Rusora очень хорош и привлекателен, поскольку он поддерживает работу во всех популярных операционных системах Windows, FreeBSD, Linux, Mac OS. Если устройство подключено к сети, пользователь может использовать браузер с минимальными усилиями. Он отображает страницы наилучшим образом на дисплее любого размера. Благодаря инновациям типа Screen Rendering отрисовка страниц всегда превосходна. С Rusora Интернет действительно везде - он становится легко доступным через все имеющиеся у вас устройства. Такое слияние с реальностью не требует приобретения новых навыков пользователями.
Лидируя в скорости и защищённости, Rusora сегодня является наиболее развитым и мощным браузером. Браузер тестировался на маломощном компьютере, чтобы убедиться, что не только аппаратные возможности - залог высокой производительности.
Так же Rusora предлагает прозрачные решения без скрытых затрат и неожиданных проблем, свойственных непрофессионалам. Продукт от лаборатории Rusora одобрен многими операторами и портирован на множество платформ.
Сфера применения браузера безгранична,
использование программы
Средой разработки является Delphi, которая имеет ряд преимуществ перед другими конструкторами программ:
В конечном итоге все цели, которые были поставлены перед разработкой веб-браузера Rusora были выполнены.
СПИСОК ИСПОЛЬЗУЕМОЙ ЛИТЕРАТУРЫ
Основная:
1. Баженова Е. Delphi 7 Самоучитель программиста. – СПБ.: Москва, 2003. - 412 с.: ил.
2. Вирт Н. Алгоритмы и структуры данных. Пер. с англ. - М.: Мир, 1989. - 360 с., ил.
3. Гринзоу Лу. Философия программирования для Windows 200/XP / Пер. с англ. - СПб.: Символ-Плюс, 2003. - 640 с., ил.
4. Егоров Е.А . Декции по программированию на Deiphi 7.- СПБ.:Москва, 2008. - 492 с.: ил.
5. Зелковиц М., Шоу А., Гэннон Дж. Принципы разработки программного обеспечения / Пер. с англ. - М.: Мир, 1982. - 386 с., ил.
6. Культин Н.Б. Основы программирования в Delphi 7. - СПб.: БХВ-Петербург, 2008. - 480 с.: ил.
7. Курочкина В. М. Язык компьютера. Пер. с англ, под ред. и с предисл.. - М.: Мир, 1989. - 240 с., ил.
8. Мик Б. Практическое руководство по программированию. Пер. с англ. Б. Мик, П. Хит, Н. Рашби и др.; - М.: Радио и связь, 1986. - 168 с., ил.
9. Фаронов В.В. Delphi. Программирование на языке высокого уровня: Учебник для вузов - СПб.: Питер, 2010. - 640 с.: ил.
10. Фокс Дж. Программное обеспечение и его разработка. Пер. с англ. - М.: Мир, 1985. - 368 с., ил.
Интернет:
1. http://book.libertorrent.com/
ПРИЛОЖЕНИЕ «ЛИСТИНГ ПРОГРАММЫ»
Форма №1
unit Unit1;
{$I versions.inc}
interface
uses
Windows, Messages, SysUtils, {$IFDEF DELPHI6UP}Variants, {$ENDIF}AppEvnts,
Dialogs, ExtDlgs, Graphics, Menus, ExtCtrls, ImgList, Controls, StdCtrls, ComCtrls,
OleCtrls, SHDocVw, ToolWin, Buttons, WBFuncs, Classes, Forms,
HistoryMenu, FavMenu, ActiveX, unit2, unit3, XPMan, sBitBtn, sLabel,
sComboBox, sEdit, sSkinProvider, sSkinManager, sPanel, jpeg, sButton;
type
TWebbrowser = class(TMyBrowser)
private
FNavForward: Boolean;
FNavBack: Boolean;
FTitle: string;
public
end;
type
TStatusBar = class(ComCtrls.TStatusBar)
public
constructor Create(AOwner: TComponent); override;
end;
type
TfrmMyBrowser = class(TForm)
MainMenu1: TMainMenu;
File1: TMenuItem;
PrintPreview1: TMenuItem;
PageSetup1: TMenuItem;
Properties1: TMenuItem;
N1: TMenuItem;
Edit2: TMenuItem;
Copy1: TMenuItem;
Paste1: TMenuItem;
Cut1: TMenuItem;
N2: TMenuItem;
Search1: TMenuItem;
N3: TMenuItem;
Exit1: TMenuItem;
SelectAll1: TMenuItem;
N4: TMenuItem;
Extras1: TMenuItem;
SaveAs1: TMenuItem;
N5: TMenuItem;
NewTabBlank: TMenuItem;
OfflineMode1: TMenuItem;
OpenDialog1: TOpenDialog;
Open1: TMenuItem;
InternetOptions1: TMenuItem;
CharacterSet1: TMenuItem;
N9: TMenuItem;
PCPopup: TPopupMenu;
CloseTab1: TMenuItem;
DuplicateTab1: TMenuItem;
Splitter1: TSplitter;
View1: TMenuItem;
OpenPictureDialog1: TOpenPictureDialog;
SaveDialog1: TSaveDialog;
Zoom1: TMenuItem;
Largest1: TMenuItem;
Large1: TMenuItem;
Medium1: TMenuItem;
Small1: TMenuItem;
Smallest1: TMenuItem;
N7: TMenuItem;
ApplicationEvents1: TApplicationEvents;
N8: TMenuItem;
N10: TMenuItem;
XPManifest1: TXPManifest;
ToolBar1: TToolBar;
ToolbtnBack: TsBitBtn;
ToolbtnForward: TsBitBtn;
ToolbtnStop: TsBitBtn;
ToolbtnRefresh: TsBitBtn;
ToolbtnHome: TsBitBtn;
ToolbtnBlackSearch: TsBitBtn;
sEdit1: TsEdit;
sComboBox1: TsComboBox;
ComboBox1: TsComboBox;
sBitBtn6: TsBitBtn;
edSearch: TsEdit;
sBitBtn1: TsBitBtn;
edURL: TsEdit;
Panel8: TPanel;
PageControl: TPageControl;
TabSheet1: TTabSheet;
WebBrowser1: TWebBrowser;
ProgressBar1: TProgressBar;
PrintDialog1: TPrintDialog;
Print1: TMenuItem;
sSkinManager1: TsSkinManager;
sSkinProvider1: TsSkinProvider;
Panel1: TsPanel;
sLabelFX2: TsLabelFX;
sLabelFX1: TsLabelFX;
N11: TMenuItem;
RusoraBrowser1: TMenuItem;
N12: TMenuItem;
PopupMenu1: TPopupMenu;
N13: TMenuItem;
sBitBtn2: TsBitBtn;
sBitBtn3: TsBitBtn;
G1: TMenuItem;
N14: TMenuItem;
N15: TMenuItem;
N16: TMenuItem;
HTML1: TMenuItem;
N17: TMenuItem;
N18: TMenuItem;
N19: TMenuItem;
TrayIcon1: TTrayIcon;
N20: TMenuItem;
N21: TMenuItem;
StatusBar1: TStatusBar;
HTML2: TMenuItem;
procedure FormCreate(Sender: TObject);
procedure WebBrowser1ProgressChange(
ProgressMax: Integer);
procedure WebBrowser1TitleChange(Sender: TObject;
const Text: WideString);
procedure Print1Click(Sender: TObject);
procedure PrintPreview1Click(Sender: TObject);
procedure PageSetup1Click(Sender: TObject);
procedure Properties1Click(Sender: TObject);
procedure Paste1Click(Sender: TObject);
procedure Cut1Click(Sender: TObject);
procedure Search1Click(Sender: TObject);
procedure ToolBtnForwardClick(Sender: TObject);
procedure ToolBtnStopClick(Sender: TObject);
procedure ToolBtnHomeClick(Sender: TObject);
procedure File1Click(Sender: TObject);
procedure WebBrowser1StatusTextChange(
const Text: WideString);
procedure Exit1Click(Sender: TObject);
procedure WebBrowser1CommandStateChange(
Command: Integer; Enable: WordBool);
procedure FormResize(Sender: TObject);
procedure WebBrowser1DownloadComplete(
procedure SelectAll1Click(Sender: TObject);
procedure StatusBar1DrawPanel(StatusBar: TStatusBar;
Panel: TStatusPanel; const Rect: TRect);
procedure FormShow(Sender: TObject);
procedure edURLKeyPress(Sender: TObject; var Key: Char);
procedure WebBrowser1NewWindow2(Sender: TObject; var ppDisp: IDispatch;
var Cancel: WordBool);
procedure NewTabBlankClick(Sender: TObject);
procedure OfflineMode1Click(Sender: TObject);
procedure Open1Click(Sender: TObject);
procedure InternetOptions1Click(Sender: TObject);
procedure edSearchKeyPress(Sender: TObject; var Key: Char);
procedure PageControlChanging(Sender: TObject;
var AllowChange: Boolean);
procedure PageControlMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure CloseTab1Click(Sender: TObject);
procedure DuplicateTab1Click(Sender: TObject);
procedure Zoom1Click(Sender: TObject);
procedure Smallest1Click(Sender: TObject);
procedure ToolBtnRefreshClick(Sender: TObject);
procedure urkishWindows1Click(Sender: TObject);
procedure SaveAs1Click(Sender: TObject);
procedure ApplicationEvents1Message(var Msg: tagMSG;
var Handled: Boolean);
procedure edURLDblClick(Sender: TObject);
procedure N8Click(Sender: TObject);
procedure N10Click(Sender: TObject);
procedure WebBrowser1NavigateComplete2(
const pDisp: IDispatch; var URL: OleVariant);
procedure ToolbtnBlackClick(Sender: TObject);
procedure ToolbtnBlackSearchClick(
procedure sBitBtn1Click(Sender: TObject);
procedure sBitBtn6Click(Sender: TObject);
procedure ComboBox1Change(Sender: TObject);
procedure RusoraBrowser1Click(Sender: TObject);
procedure sBitBtn2Click(Sender: TObject);
procedure sBitBtn3Click(Sender: TObject);
procedure HTML1Click(Sender: TObject);
procedure N11Click(Sender: TObject);
procedure N17Click(Sender: TObject);
procedure N18Click(Sender: TObject);
procedure N19Click(Sender: TObject);
procedure N14Click(Sender: TObject);
procedure N15Click(Sender: TObject);
procedure N20Click(Sender: TObject);
procedure N21Click(Sender: TObject);
procedure TrayIcon1DblClick(Sender: TObject);
procedure HTML2Click(Sender: TObject);
procedure N13Click(Sender: TObject);
private
FPrevBrowser: TWebbrowser;
function DrawZoneIcon(WB: TWebbrowser): TIcon;
function CreateTabBrowser(sURL, sCaption: string): TTabSheet;
procedure SetWBMenuEnabled(WB: TWebbrowser; Sender: TMenuItem);
public
function GetCurrentWB: TWebbrowser;
end;
const
APP_CAPTION = 'Rusora 2012 Full Version™ ';
var
frmMyBrowser: TfrmMyBrowser;
Loading : boolean;
NewBGName : string;
implementation
uses
ShellAPI, MSHTML, UrlMon, CommCtrl, WinInet, ComObj, Unit4, sSkinProps,
FileCtrl, sStyleSimply, sConst, sMaskData, sVclUtils,unit5;
{$R *.dfm}
// Сохранить HTML-код
function WB_SaveHTMLCode(WebBrowser: TWebBrowser; const FileName: TFileName): Boolean;
var
ps: IPersistStreamInit;
fs: TFileStream;
sa: IStream;
begin
ps := WebBrowser.Document as IPersistStreamInit;
fs := TFileStream.Create(FileName, fmCreate);
try
sa := TStreamAdapter.Create(fs, soReference) as IStream;
Result := Succeeded(ps.Save(sa, True));
finally
fs.Free;
end;
end;
// Показывает HTML-код открытой страницы
function WB_GetHTMLCode(WebBrowser: TWebBrowser; ACode: TStrings): Boolean;
var
ps: IPersistStreamInit;
ss: TStringStream;
sa: IStream;
s: string;
begin
ps := WebBrowser.Document as IPersistStreamInit;
s := '';
ss := TStringStream.Create(s);
try
sa := TStreamAdapter.Create(ss, soReference) as IStream;
Result := Succeeded(ps.Save(sa, True));
if Result then ACode.Add(ss.Datastring);
finally
ss.Free;
end;
end;
// Показать HTML-код
procedure TfrmMyBrowser.HTML1Click(
begin
WB_SaveHTMLCode(Webbrowser1, 'test.dat');
Form5.show;
end;
// Обновить страницу кода Html
procedure TfrmMyBrowser.HTML2Click(
var
sl: TStringList;
begin form5.Memo1.Clear;
sl := TStringList.Create;
try
sl.LoadFromFile('test.dat');
Form5.Memo1.SetSelText(PChar(
finally
sl.Free;
end;
end;
// Печать
procedure TfrmMyBrowser.Print1Click(
begin
Printdialog1.Execute ;
end;
// Предварительный просмотр
procedure TfrmMyBrowser.
begin
WB_ShowPrintPreview(
end;
// Настройка страницы
procedure TfrmMyBrowser.PageSetup1Click(
begin
WB_ShowPageSetup(GetCurrentWB)
end;
// Показать диалог свойств
procedure TfrmMyBrowser.
begin
WB_ShowPropertiesDialog(
end;
// Вывод справки по нажатию кнопки
procedure TfrmMyBrowser.
begin
ShellExecute (frmMyBrowser.Handle, nil, 'UserGuide.chm', nil, nil, SW_show); // вызов справка
end;
// Поддержка скинов в выпадающем меню
procedure TfrmMyBrowser.ComboBox1Change(
begin
sSkinManager1.SkinName := sComboBox1.Text;
end;
// Вставить в Webbrowser
procedure TfrmMyBrowser.Paste1Click(
begin
WB_Paste(GetCurrentWB);