Браузер для работы в глобальных сетях

Автор работы: Пользователь скрыл имя, 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

Файлы: 1 файл

Курсовой проект по ОАиП.docx

— 3.16 Мб (Скачать файл)

При запуске Rusota может не только автоматически открывать ваш любимый сайт, но и показывать просто пустую страницу. Для этого в списке действий «При запуске Rusora» выберите «Пустая».

Блокирование  всплывающих окон

Хорошие сайты, заботящиеся о своих  посетителях, вряд ли будут пугать всплывающими неизвестно откуда окнами с предложением сыграть в онлайн казино или скачать фильм для взрослых. Поэтому всплывающие окна нужно отключить через меню «Опции» – «Свойства обозревателя» – вкладка «Конфиденциальность» – «Блокирование всплывающих окон» и поставить галочку напротив «Включить блокирование всплывающих окон».

Просмотр  HTML-кода страниц

Как и любой уважаемый браузер  Rusora, позволяет просматривать исходный код веб-страницы.Для этого необходимо открыть нужную веб-страницу и выберать меню «Вид» – «Просмотр HTML-кода».

Настройка поиска

В Rusora чтобы найти что-либо в любой поисковой системе, на странице, нужно ввести фразу для поиска в соответствующую строку и выбрать, где искать. Все используемые поисковые ресурсы доступны в выпадающем меню с поисковыми системами в правой части окна браузера.

Блокирование  сайтов

Rusora умеет блокировать доступ к указанным сайтам. Таким образом, пользователь сможет оградить себя и своих домочадцев от посещения неблагонадёжных интернет ресурсов. Для этого необходимо в меню «Опции» – «Свойство обозревателя». Перейдите на вкладку «Содержание», и в разделе «Ограничение доступа» необходимо нажать кнопку «Включить», далее во вкладке «Разрешённые веб-узлы» вводить необходимые узлы для блокировки и разрешения.

Очистка кэша

Во время работы в интернете  Rusora сохраняет копии страниц и картинок в кэше. Настройки кэша доступны в меню «Опции» – «Свойства обозревателя» – вкладка «Общие» – раздел «История просмотра». Выберите «Удалить» в открывшемся окне выбираем необходимые пункты и для подтверждения необходимо нажать «Удалить». Максимальный объем дискового места, отводимого под кэш в списке «Кэш на диске». Рекомендуется выбрать 2-5 Мб.

Вот, пожалуй, и всё основное по настройке и работе в браузере Rusora. Как видно со стороны, в нём всё очень продумано и просто, пара часиков работы и покажется, что использовалась Rusora всю жизнь.

ЗАКЛЮЧЕНИЕ

Целью курсового проекта было создание мощного и функционального веб-браузера Rusora – это и удалось осуществить благодаря новым технологиям и внедрённых в программу специальных модулей по оптимизации как работы там и быстроты реакции.

Среди преимуществ браузера Rusora – безопасность и конфиденциальность пользователя, быстрая скорость загрузки страниц, настройки, которые значительно ускоряют и упрощают работу в сети, а также возможность удаления HTTP-Cookies.

Rusora очень хорош и привлекателен, поскольку он поддерживает работу во всех популярных операционных системах Windows, FreeBSD, Linux, Mac OS. Если устройство подключено к сети, пользователь может использовать браузер с минимальными усилиями. Он отображает страницы наилучшим образом на дисплее любого размера. Благодаря инновациям типа  Screen Rendering отрисовка страниц всегда превосходна. С Rusora Интернет действительно везде - он становится легко доступным через все имеющиеся у вас устройства. Такое слияние с реальностью не требует приобретения новых навыков пользователями.

Лидируя в скорости и защищённости, Rusora сегодня является наиболее развитым и мощным браузером. Браузер тестировался на маломощном компьютере, чтобы убедиться, что не только аппаратные возможности - залог высокой производительности.

Так же Rusora предлагает прозрачные решения без скрытых затрат и неожиданных проблем, свойственных непрофессионалам. Продукт от лаборатории Rusora одобрен многими операторами и портирован на множество платформ.

Сфера применения браузера безгранична, использование программы возможно в различных сферах:

  • в офисах и на предприятиях;
  • в учебных заведениях;
  • в личных целях;
  • в предпринимательской деятельности;
  • в организационной сфере.

Средой разработки является Delphi, которая имеет ряд преимуществ перед другими конструкторами программ:

  • интегрированная среда разработки для визуального программирования;
  • встроенная поддержка сенсорного управления и управления при помощи жестов;
  • платформа DataSnap для многозвенной архитектуры с поддержкой JSON, REST, HTTP, COM и XML;
  • отладка многопоточных приложений;
  • встроенный инструментарий для профилирования производительности и автоматизации построения проекта;
  • генерация исполняемых модулей для Windows 2000, XP, Vista и Windows 7 на основе единых исходных текстов программы.

В конечном итоге все  цели, которые были поставлены перед  разработкой веб-браузера 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/viewtopic.php?t=10756 – Самый полный сборник книг по Delphi.

 

 

 

ПРИЛОЖЕНИЕ  «ЛИСТИНГ ПРОГРАММЫ»

Форма №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(Sender: TObject; Progress,

      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(Sender: TObject;

      const Text: WideString);

    procedure Exit1Click(Sender: TObject);

    procedure WebBrowser1CommandStateChange(Sender: TObject;

      Command: Integer; Enable: WordBool);

    procedure FormResize(Sender: TObject);

    procedure WebBrowser1DownloadComplete(Sender: TObject);

    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(ASender: TObject;

      const pDisp: IDispatch; var URL: OleVariant);

    procedure ToolbtnBlackClick(Sender: TObject);

    procedure ToolbtnBlackSearchClick(Sender: TObject);

    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(Sender: TObject);

begin

 WB_SaveHTMLCode(Webbrowser1, 'test.dat');

      Form5.show;

      end;

 

    // Обновить страницу  кода Html

 procedure TfrmMyBrowser.HTML2Click(Sender: TObject);

 var

   sl: TStringList;

 begin form5.Memo1.Clear;

  sl := TStringList.Create;

   try

     sl.LoadFromFile('test.dat');

Form5.Memo1.SetSelText(PChar(sl.Text));

  finally

     sl.Free;

 end;

 end;

 

// Печать

procedure TfrmMyBrowser.Print1Click(Sender: TObject);

begin

Printdialog1.Execute ;

end;

 

// Предварительный просмотр

procedure TfrmMyBrowser.PrintPreview1Click(Sender: TObject);

begin

  WB_ShowPrintPreview(GetCurrentWB);

end;

 

  // Настройка страницы

procedure TfrmMyBrowser.PageSetup1Click(Sender: TObject);

begin

  WB_ShowPageSetup(GetCurrentWB);

end;

 

  // Показать диалог свойств

procedure TfrmMyBrowser.Properties1Click(Sender: TObject);

begin

  WB_ShowPropertiesDialog(GetCurrentWB);

end;

 

    // Вывод справки по нажатию кнопки

  procedure TfrmMyBrowser.RusoraBrowser1Click(Sender: TObject);

begin

ShellExecute (frmMyBrowser.Handle, nil, 'UserGuide.chm', nil, nil, SW_show);  // вызов справка

end;

 

    // Поддержка скинов  в выпадающем меню

procedure TfrmMyBrowser.ComboBox1Change(Sender: TObject);

begin

     sSkinManager1.SkinName := sComboBox1.Text;

end;

 

// Вставить в Webbrowser

procedure TfrmMyBrowser.Paste1Click(Sender: TObject);

begin

  WB_Paste(GetCurrentWB);

Информация о работе Браузер для работы в глобальных сетях