Автор работы: Пользователь скрыл имя, 04 Декабря 2013 в 23:12, курсовая работа
Данное приложение осуществляет реализацию удаленного запуска к программного модуля.
Приложение создано в инструментальной среде разработки приложений Delphi 7.0, реализующей современные подходы к программированию: объект- но-ориентированный подход и визуальные средства быстрой разработки приложений. Гипертекстовый документ разработан с использованием языка XHTML.
Программа должна работать в сети и осуществлять удаленный запуск программного модуля (сложение чисел). Эти возможности были реализованы в среде программирования Borland Delphi 7 с помощью Indy компонентов. Был разработан протокол взаимодействия хостов серверной и клиентской частей, который представлен в приложении В.
В соответствие с заданием был разработан гипертекстовый документ, содержащий краткое описание разделов пояснительной записки. Для просмотра документа необходимо открыть в браузере файл Index.html
После открытия на экране появляется главная страница (Рисунок Г.1). При нажатии на ссылку «Разделы записки» отобразится страница, содержащая титульный лист (Рисунок Г.2).
Перейдя по ссылке «Введение», пользователь увидит содержание пункта «Введение» пояснительной записки (Рисунок Г.З).
Для просмотра пункта «Техническое задание» следует нажать на ссылку «Техническое задание» (Рисунок Г.4).
Для просмотра пункта «Описание модулей» следует нажать на ссылку «Описание модулей » (Рисунок Г.5).
При нажатии на ссылку «Описание приложения» отобразятся все подпункты пункта «Описание приложения» (Рисунок Г.6); для просмотра их содержания следует щелкнуть по ним кнопкой мыши.
При нажатии на ссылку «Описание гипертекстового документа» отобразятся все подпункты пункта «Описание гипертекстового документа» (Рисунок Г.7); для просмотра их содержания следует щелкнуть по ним кнопкой мыши.
Для просмотра пункта «Программа и методика испытаний» следует нажать на ссылку «Программа и методика испытаний» (Рисунок Г.8).
При нажатии на ссылку
«Описание применения»
Перейдя по ссылке «Заключение», пользователь увидит содержание пункта «Заключение» пояснительной записки (Рисунок Г.10).
Входными данными являются запросы клиентов. Выходными данными являются ответы сервера на запросы клиентов.
Заключение
В результате проведенной
работы была разработана система
с сетевым интерфейсом для удал
За время работы над курсовым проектом был значительно повышен уровень практических навыков программирования в среде Delphi, освоен процесс разработки клиент-серверных приложений с использованием Indy-компонентов.
В результате разработки приложения был создан Html-документ, содержащий следующие страницы: титульный лист, оглавление, все пункты пояснительной записки к курсовому проекту на тему «Система для удаленного запуска программных модулей» с использованием таблиц стилей и Java-скриптов.
Список использованных источников
Приложение А
(обязательное)
Листинг программы
unit Client;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ComCtrls, ExtCtrls, IdBaseComponent, IdComponent,
IdTCPConnection, IdTCPClient, IdTCPServer , IdStack;
type
TfmClient = class(TForm)
Panel1: TPanel;
buConnect: TButton;
buDiscnct: TButton;
buSend: TButton;
StatusBar1: TStatusBar;
lbLog: TListBox;
TcpClient: TIdTCPClient;
edt1: TEdit;
edt2: TEdit;
lbl1: TLabel;
procedure TcpClientDisconnected(Sender: TObject);
procedure TcpClientConnected(Sender: TObject);
procedure buSendClick(Sender: TObject);
procedure buDiscnctClick(Sender: TObject);
procedure buConnectClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
fmClient: TfmClient;
implementation
uses IdIOHandlerSocket;
var
Server: String;
{$R *.dfm}
procedure TfmClient.buConnectClick(
begin
try
if InputQuery('Имя компьютера или адрес','Адрес или имя:',Server) then
if Length(Server) > 0 then
with TcpClient do
begin
Connect;
end;
buConnect.Enabled := False;
buDiscnct.Enabled := True;
except
on E: Exception do
ShowMessage('Сервер не работает');
end;
end;
procedure TfmClient.buDiscnctClick(
var
LString: string;
begin
try
if TcpClient.Connected then
begin
TcpClient.WriteLn('QUIT');
LString := TcpClient.ReadLn;
lbLog.Items.Add('Сервер ответил -> ' + LString);
TcpClient.Disconnect;
end;
except
on E: Exception do
TcpClient.Disconnect;
end;
buConnect.Enabled := True;
buDiscnct.Enabled := False;
StatusBar1.Panels[0].Text := '';
end;
procedure TfmClient.buSendClick(Sender: TObject);
var
LString: string;
begin
TcpClient.WriteLn('Text');
TcpClient.WriteLn(edt1.Text);
TcpClient.WriteLn(edt2.Text);
LString := TcpClient.ReadLn;
lbLog.Items.Add('Сервер ответил -> ' + LString);
end;
procedure TfmClient.TcpClientConnected(
var
LString : String;
begin
buSend.Enabled := True;
lbLog.Clear;
LString := TCPClient.ReadLn;
lbLog.Items.Add('Соединен с сервером');
lbLog.Items.Add('Сервер ответил -> ' + LString);
StatusBar1.Panels[0].Text := 'Соединен с: '+TcpClient.Socket.Binding.
LString := IntToStr(TcpClient.Socket.
lbLog.Items.Add('Фактический номер порта '+LString);
end;
procedure TfmClient.
begin
lbLog.Items.Add('Отсоединен от сервера.');
end;
end.
unit Server;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls, IdBaseComponent, IdComponent, IdTCPServer,
ComCtrls, IdStack;
type
TfmServer = class(TForm)
Panel1: TPanel;
buStart: TButton;
buStop: TButton;
StatusBar1: TStatusBar;
lbLog: TListBox;
TcpServer: TIdTCPServer;
procedure TcpServerConnect(AThread: TIdPeerThread);
procedure TcpServerchQuitCommand(
procedure TcpServerchTextCommand(
procedure buStopClick(Sender: TObject);
procedure buStartClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
fmServer: TfmServer;
implementation
{$R *.dfm}
procedure TfmServer.buStartClick(Sender: TObject);
begin
buStop.Enabled := True;
buStart.Enabled := False;
TcpServer.Active := True;
StatusBar1.Panels[0].Text := 'Слушаю...';
lbLog.Items.Append('Сервер начал работать');
lbLog.Items.Append('Имя хоста: '+TcpServer.LocalName);
StatusBar1.Panels[1].Text := 'Имя хоста: '+TcpServer.LocalName;
lbLog.Items.Append('Адрес сервера: '+GStack.LocalAddress);
lbLog.Items.Append('Сервер использует номер порта
'+IntToStr(TcpServer.
end;
procedure TfmServer.buStopClick(Sender: TObject);
begin
TcpServer.Active := False;
StatusBar1.Panels[0].Text := '';
lbLog.Items.Append('Сервер остановлен');
buStop.Enabled := False;
buStart.Enabled := True;
end;
procedure TfmServer.
begin
lbLog.Items.Append('Клиент '+
ASender.Thread.Connection.
ASender.Thread.Connection.
ASender.Thread.Connection.
end;
procedure TfmServer.
var
Msg1,msg2: string;
rez:Integer;
begin
Msg1 := ASender.Thread.Connection.
Msg2:= ASender.Thread.Connection.
lbLog.Items.Add('Клиент с адресом:' +' '+ ASender.Thread.Connection.
rez:=StrToInt(Msg1)+StrToInt(
lbLog.Items.Add('Результат: ' + IntToStr(rez));
ASender.Thread.Connection.
end;
procedure TfmServer.TcpServerConnect(
begin
lbLog.Items.Append('
AThread.Connection.Socket.
end;
end.
Приложение Б
(обязательное)
Экранные формы
Рисунок Б.1 Запуск сервера
Рисунок Б.2 Запуск клиента
Рисунок Б.3 Ввод IP-адреса
Рисунок Б.4 Подключение клиента (сервер)
Рисунок Б.5 Подключение клиента (клиент)
Рисунок Б.6 Ввод чисел для сложения
Рисунок Б.7 Вычисление сервером результата сложения
Рисунок Б.8 Получение результата на клиенте
Рисунок Б.9 Отключение клиента от сервера
Рисунок Б.10 Отключение клиента
Приложение В
(обязательное)
Листинг гипертекстового документа
<!DOCTYPE html PUBLIC "-//W3C//DTD
XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/
<html xmlns="http://www.w3.org/1999/
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
<title>Пояснительная записка</title>
<link href="css/cssmain.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="header">
Гиппертекстовый документ к пояснительной записке на курсовое проектирование
</div>
<div class="content" >
<img src="1.png" width="600" height="300" alt="Удаленный запуск" align="middle" border="0" />
</div>
<div id="navAlpha">
<h3>Система для удаленного
запуска программных модулей</
<h3>Выполнила ст-ка гр. 09ВО1</h3>
<h3>Ситникова А.Р.</h3>
<a href="01.html">Разделы записки</a>
</div>
</body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD
XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/
<html xmlns="http://www.w3.org/1999/
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
<title>Пояснительная записка</title>
<link href="css/cssmain.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="header">
Гиппертекстовый документ к пояснительной записке на курсовое проектирование
</div>
<div class="content" >
<div style="text-align: center;">
Пензенский
техники<br />Кафедра «Информационно-
<h3>«СИСТЕМА ДЛЯ
УДАЛЕННОГО ЗАПУСКА
<p style="text-align: center;">Пояснительная записка к курсовому проекту по дисциплине<br />
"Программирование в компьютерных сетях"</p>
<div><p style="text-align: right;"><br /><br /><br /><br /><br /><br />Выполнила:
студентка группы 09ВО1:<br />_______________Ситникова А.Р.<br />Проверил: преподаватель<br />________________
Еременко А. В. </p> </div>
<p style="text-align: center;"><br /><br />2013</p>
</div>
<div id="navAlpha">
<h2>Разделы записки</h2>
<a href="01.html">Титульный лист</a><br />
<a href="02.html">Содержание</a><
<a href="03.html">Введение</a><br />
<a href="04.html">1.Техническое задание</a><br />
<a href="05.html">2.Описание модулей программы</a><br />
<a href="06.html">3.Описание программы</a><br />
<a href="07.html">4.Описание
гипертекстового документа</a><
<a href="08.html">5.Программа и методика испытаний
<a href="09.html">6.Описание применения</a><br />
<a href="10.html">Заключение</a><
<a href="index.html">На главную</a><br />
</div>
</body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD
XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/
<html xmlns="http://www.w3.org/1999/
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
<title>Техническое задание</title>
<link href="css/cssmain.css" rel="stylesheet" type="text/css" />
<script type="text/javascript">
function Otvet(targetId)
{if (document.getElementById)
{target = document.getElementById(
if (target.style.display == "none")
{ target.style.display = ""; } else
{ target.style.display = "none"; }}}
</script>
</head>
<body>
<div id="header">
Гиппертекстовый документ к пояснительной записке на курсовое проектирование
</div>
<div class="content" >
<h1>Содержание</h1>
<h4> Введение<br />
<div onclick="Otvet('ot1')">1 Техническое задание<br />
<p id="ot1" style="display: none">
<i>1.1 Основание для разработки<br />
1.2 Назначение разработки<br />
1.3 Требования к приложению<br />
1.3.1 Требования к функциональным характеристикам<br />
1.3.2 Требования к надежности<br />
1.3.3
Требования к составу и
1.3.4 Требования к информационной и программной совместимости<br />
1.4 Требования к программной документации<br />
1.5 Стадии и этапы разработки<br />
1.6 Порядок контроля и приемки<br />
</i></p></div>
<div onclick="Otvet('ot2')">2 Описание модулей программы
<p id="ot2" style="display: none">
<i>2.1 Основание для разработки<br />
</i></p></div>
<div onclick="Otvet('ot3')">3 Описание приложения<br />
<p id="ot3" style="display: none">
<i>3.1 Общие сведения<br />
3.2 Функциональное назначение<br />
3.3 Описание логической структуры<br />
3.4 Используемые технические средства<br />
3.5 Вызов и загрузка<br />
3.6 Входные данные<br />
3.7 Выходные данные<br />
</i></p></div>
Информация о работе Система для удаленного запуска программного модуля