Рефераты. Проектирование и разработка сетевых броузеров на основе теоретико-графовых моделей

    procedure Statusbar2Click(Sender: TObject);

    procedure ToolButton2Click(Sender: TObject);

    procedure ToolButton3Click(Sender: TObject);

    procedure ToolButton4Click(Sender: TObject);

    procedure ToolButton9Click(Sender: TObject);

  private

    HistoryIndex: Integer;

    HistoryList: TStringList;

    UpdateCombo: Boolean;

    procedure FindAddress;

    procedure HomePageRequest(var message: tmessage); message CM_HOMEPAGEREQUEST;

  end;

var

  MainForm: TMainForm;

implementation

uses DocSrc, About, SMTP, FTP, NNTP, CHAT;

{$R *.DFM}

procedure TMainForm.Exit1Click(Sender: TObject);

begin

  Close;

end;

procedure TMainForm.FindAddress;

begin

  HTML1.RequestDoc(URLs.Text);

end;

procedure TMainForm.About1Click(Sender: TObject);

begin

  ShowAboutBox;

end;

procedure TMainForm.DocumentSource1Click(Sender: TObject);

begin

  with DocSourceFrm do

  begin

    Show;

    Memo1.Lines.Clear;

    Memo1.Lines.Add(AdjustLineBreaks(HTML1.SourceText));

    Memo1.SelStart := 0;

    SendMessage(Memo1.Handle, EM_ScrollCaret, 0, 0);

  end;

end;

procedure TMainForm.StopBtnClick(Sender: TObject);

begin

  HTML1.Cancel('Cancel');

  HTML1EndRetrieval(nil);

end;

procedure TMainForm.HTML1BeginRetrieval(Sender: TObject);

begin

  { Turn the stop button dark red }

  StopBtn.ImageIndex := 4;

  { Play the avi from the first frame indefinitely }

  Animate1.Active := True;

end;

procedure TMainForm.HTML1EndRetrieval(Sender: TObject);

begin

  { Turn the stop button grey }

  StopBtn.ImageIndex := 2;

  { Stop the avi and show the first frame }

  Animate1.Active := False;

end;

procedure TMainForm.URLsKeyDown(Sender: TObject; var Key: Word;

  Shift: TShiftState);

begin

  if Key = VK_Return then

  begin

    UpdateCombo := True;

    FindAddress;

  end;

end;

procedure TMainForm.URLsClick(Sender: TObject);

begin

  UpdateCombo := True;

  FindAddress;

end;

procedure TMainForm.LinksClick(Sender: TObject);

begin

  if (Sender as TToolButton).Hint = '' then Exit;

  URLs.Text := (Sender as TToolButton).Hint;

  FindAddress;

end;

procedure TMainForm.RefreshBtnClick(Sender: TObject);

begin

  FindAddress;

end;

procedure TMainForm.BackBtnClick(Sender: TObject);

begin

  URLs.Text := HistoryList[HistoryIndex - 1];

  FindAddress;

end;

procedure TMainForm.ForwardBtnClick(Sender: TObject);

begin

  URLs.Text := HistoryList[HistoryIndex + 1];

  FindAddress;

end;

procedure TMainForm.HTML1DoRequestDoc(Sender: TObject;

  const URL: WideString; const Element: HTMLElement;

  const DocInput: DocInput; var EnableDefault: WordBool);

var

  NewIndex: Integer;

begin

  NewIndex := HistoryList.IndexOf(URL);

  if NewIndex = -1 then

  begin

    { Remove entries in HistoryList between last address and current address }

    if (HistoryIndex >= 0) and (HistoryIndex < HistoryList.Count - 1) then

      while HistoryList.Count > HistoryIndex do

        HistoryList.Delete(HistoryIndex);

    HistoryIndex := HistoryList.Add(URL);

  end

  else

    HistoryIndex := NewIndex;

  if HistoryList.Count > 0 then

  begin

    ForwardBtn.Enabled := HistoryIndex < HistoryList.Count - 1;

    BackBtn.Enabled := HistoryIndex > 0;

  end

  else

  begin

    ForwardBtn.Enabled := False;

    BackBtn.Enabled := False;

  end;

  if UpdateCombo then

  begin

    UpdateCombo := False;

    NewIndex := URLs.Items.IndexOf(URL);

    if NewIndex = -1 then

      URLs.Items.Insert(0, URL)

    else

      URLs.Items.Move(NewIndex, 0);

  end;

  URLs.Text := URL;

  Statusbar1.Panels[0].Text := URL;

end;

procedure TMainForm.FormKeyDown(Sender: TObject; var Key: Word;

  Shift: TShiftState);

begin

  if Shift = [ssAlt] then

    if (Key = VK_RIGHT) and ForwardBtn.Enabled then

      ForwardBtn.Click

    else if (Key = VK_LEFT) and BackBtn.Enabled then

      BackBtn.Click;

end;

procedure TMainForm.Toolbar3Click(Sender: TObject);

begin

  with Sender as TMenuItem do

  begin

    Checked := not Checked;

    Coolbar1.Visible := Checked;

  end;

end;

procedure TMainForm.Statusbar2Click(Sender: TObject);

begin

  with Sender as TMenuItem do

  begin

    Checked := not Checked;

    StatusBar1.Visible := Checked;

  end;

end;

procedure TMainForm.HomePageRequest(var Message: TMessage);

begin

  URLs.Text := 'http://www.altavista.com';

  UpdateCombo := True;

  FindAddress;

end;

procedure TMainForm.FormCreate(Sender: TObject);

begin

  HistoryIndex := -1;

  HistoryList := TStringList.Create;

  { Load the animation from the AVI file in the startup directory.  An

    alternative to this would be to create a .RES file including the cool.avi

    as an AVI resource and use the ResName or ResId properties of Animate1 to

    point to it. }

  Animate1.FileName := ExtractFilePath(Application.ExeName) + 'cool.avi';

  { Find the home page - needs to be posted because HTML control hasn't been

    registered yet. }

  PostMessage(Handle, CM_HOMEPAGEREQUEST, 0, 0);

end;

procedure TMainForm.FormDestroy(Sender: TObject);

begin

  HistoryList.Free;

end;

procedure TMainForm.ToolButton2Click(Sender: TObject);

begin

  TMail.create(Application).showmodal;

end;

procedure TMainForm.ToolButton3Click(Sender: TObject);

begin

  TMyFtp.create(Application).showmodal;

end;

procedure TMainForm.ToolButton4Click(Sender: TObject);

begin

  TNewsForm.create(Application).showmodal;

end;

procedure TMainForm.ToolButton9Click(Sender: TObject);

begin

  TChatForm.create(Application).showmodal;

end;

end.

файл chat.pas

unit chat;

interface

uses

  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,

  Menus, StdCtrls, Buttons, ScktComp, ExtCtrls, ComCtrls;

type

  TChatForm = class(TForm)

    MainMenu1: TMainMenu;

    File1: TMenuItem;

    Exit1: TMenuItem;

    FileConnectItem: TMenuItem;

    FileListenItem: TMenuItem;

    StatusBar1: TStatusBar;

    Bevel1: TBevel;

    Panel1: TPanel;

    Memo1: TMemo;

    Memo2: TMemo;

    N1: TMenuItem;

    SpeedButton1: TSpeedButton;

    Disconnect1: TMenuItem;

    ServerSocket: TServerSocket;

    ClientSocket: TClientSocket;

    procedure FileListenItemClick(Sender: TObject);

    procedure FileConnectItemClick(Sender: TObject);

    procedure Exit1Click(Sender: TObject);

    procedure Memo1KeyDown(Sender: TObject; var Key: Word;

      Shift: TShiftState);

    procedure FormCreate(Sender: TObject);

    procedure ServerSocketError(Sender: TObject; Number: Smallint;

      var Description: string; Scode: Integer; const Source,

      HelpFile: string; HelpContext: Integer; var CancelDisplay: Wordbool);

    procedure Disconnect1Click(Sender: TObject);

    procedure ClientSocketConnect(Sender: TObject;

      Socket: TCustomWinSocket);

    procedure ClientSocketRead(Sender: TObject; Socket: TCustomWinSocket);

    procedure ServerSocketClientRead(Sender: TObject;

      Socket: TCustomWinSocket);

    procedure ServerSocketAccept(Sender: TObject;

      Socket: TCustomWinSocket);

    procedure ServerSocketClientConnect(Sender: TObject;

      Socket: TCustomWinSocket);

    procedure ClientSocketDisconnect(Sender: TObject;

      Socket: TCustomWinSocket);

    procedure ClientSocketError(Sender: TObject; Socket: TCustomWinSocket;

      ErrorEvent: TErrorEvent; var ErrorCode: Integer);

    procedure ServerSocketClientDisconnect(Sender: TObject;

      Socket: TCustomWinSocket);

  protected

    IsServer: Boolean;

  end;

var

  ChatForm: TChatForm;

  Server: String;

implementation

Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17



2012 © Все права защищены
При использовании материалов активная ссылка на источник обязательна.