Разработка приложения "Передачи данных по сети"

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

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык русский
Дата добавления 18.08.2014
Размер файла 81,7 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

КУРСОВОЙ ПРОЕКТ

Разработка приложения "Передачи данных по сети"

Содержание

Введение

1. Постановка задачи

1.1 Описание предметной области

1.2 Актуальность решаемой задачи

1.3 Характеристика решаемой задачи

2. Проектирование программного модуля

2.1 Сбор исходных материалов

2.2 Описание входных и выходных данных

2.3 Описание схемы программы

2.4 Выбор программного обеспечения

3. Реализация программного модуля

3.1 Описание типов данных

3.2 Описание структуры разрабатываемого проекта

3.3 Проектирование и реализация интерфейса программы

3.4 Тестирование программного модуля

3.5 Разработка справочной системы

4. Энерго и ресурсосбережение

Заключение

Список используемых источников

Приложение

Введение

В данное время часто используются компьютеры объединённые в единую сеть.Чаще всего для передачи данных по сети используются съёмные носители,что замедляет процесс выполнения каких-либо задач.Эта проблема подталкнула написать программу передачи данных по сети.Теперь не нужно использовать съёмные накопители для передачи данных на другие компьютеры в сети,теперь достаточно установить приложение Network 1.0 и передавать файлы не теряя лишнего времени.

1. Постановка задачи

1.1 Описание предметной области

программный модуль интерфейс справочный

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

Подобного рода программы очень актуальны в настоящее время, т.к. становится все больше пользователей овладеть в полной мере автомобилем.

1.2 Актуальность решаемой задачи

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

1.3 Характеристика решаемой задачи

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

Данная программа предназначена для Передачи данных по сети. Программа актуальна в любой сфере деятельности, где используются компьютеры объеденённые в сеть.

Реализация данного проекта происходила объектно-ориентированной среде программирования Delphi 7.

2. Проектирование программного модуля

2.1 Сбор необходимых материалов

Для создания данной программы была изучена различная научная литература по программированию, а именно "Программирование в Delphi 7" и "Приемы программирования в Delphi 7.0. на основе VCL" Архангельский А.Я., "Самоучитель Delphi", Дмитрий Кузан и Владимир Шапоров.,"Программирование Win32 API в Delphi".

2.2 Описание входных и выходных данных

Входными данными являются файл выбранный пользователем.

Выходными данными являются принятый файл, справкат.

2.3 Описание схемы программы

Программа представлена в виде формы, на которой находятся кнопки и другие компоненты Delphi.

Для создания программы были созданы информационные модели. Схемы работы алгоритмов программы представлены на рисунках 1, 2.

2.4 Выбор программного обеспечения

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

- Быстрота разработки приложения.

- Высокая производительность разработанного приложения.

- Hизкие требования разработанного приложения к ресурсам компьютера.

- Возможность разработки новых компонентов и инструментов собственными средствами Delphi.

- Удачная проработка иерархии объектов

- Доступно огромное количество визуальных компонентов сторонних разработчиков

3. Реализация программного модуля

3.1 Описание типов данных

В программе используются следующие типы данных: string, integer,byte, Boolean,.

Тип integer предназначен для хранения целых чисел в диапазоне от -2 147 483 648… до +2 147 483 647.

Тип string - это строковый тип. При работе с этим типом память выделяется по мере надобности (динамически) и ограничена имеющейся в распоряжении программы доступной памятью.

Тип Byte является наименьшей формой целого числа, занимая 8 битов (1 байт) памяти. Он поддерживает только положительные целых числа от 0 до 255.

Переменные типа Boolean которые могут принимать два возможных значения, иногда называемых правдой (true) и ложью (false). Присутствует в подавляющем большинстве языков программирования как самостоятельная сущность или реализуется через численный тип. В подавляющем большинстве языков за истину полагается единица, за ложь -- ноль.

3.2 Описание структуры разрабатываемого проекта

Весь проект разработан на объектно-ориентированном языке Delphi7.

Данный проект состоит из файлов:

Сервер:

Unit(1), Unit (1).dfm, Unit (1).dcu, Unit (1).pas., Unit (1).ddp, project1.cfg, project1.dof, project1.dpr, project1.res, NewProject.chm.

Клиент: Unit(1), Unit (1).dfm, Unit (1).dcu, Unit (1).pas., Unit (1).ddp, project1.cfg, project1.dof, project1.dpr, project1.res, NewProject.chm.

Программа хранится на CD-R диске в папке "Курсовой проект Лазаренко". В ней находится файл Network_Server 1.0 и Network_Client 1.0. После установки данного файла запускаем программу через Exe-файл.

Весь программный код представлен в приложении.

3.3 Проектирование и реализация интерфейса программы

При разработки данного проекта были использованы различные компоненты Delphi7.

1. MainMenu - этот компонент используется для отображения главного меню.

2. Label - этот компонент представляет собой метку, специально предназначенную для отображения текста.

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

4. Button - это компонент нажатия, проще сказать кнопка, позволяет при нажатии

выполнить необходимую функцию.

5. Open Dialog - это компонент для обзора файлов.

6. Xpman - компонент для придания кнопкам более красивой формы.

7. ServerSocket - компонент для создания многопотокового сервера

8. ClientSocket - компонент для приёма потоков сервера

9. ProgressBar - Его назначение -показать пользователю, что приложение работает, а не зависло.

10. StatusBar - компонент добавляет значок в строке состояния системы и уведомление в окно уведомления.

3.4 Тестирование программного модуля

Тестирование проводилось с целью проверки работоспособности программы.

Тестирование программы проводилось на ПК со следующими характеристиками:

· процессор AMD Athlon 2 x2 processor P340 (2.2 GHz);

· оперативная память 2,00 ГБ;

· винчестер 320 Гб;

· видеокарта ATI Mobility Radeon HD 5470 512MBVRAM;

· мышь;

· клавиатура;

· 15,6" HD LED LCD;

· DVD - ROM;

Программа корректно работает на операционных системах семейства Windows.

3.5 Разработка справочной системы

Разработка справочной системы производилась с помощью программы Help and Manual. Это позволило создать справочную систему по данной программе, которая включает все интересующие пользователя вопросы по данной программе, а также создана инструкция по использованию данного приложения.

4. Энерго и ресурсосбережения

n = /(8-tрп),(1)

где - время работы компьютера, ч;

Тпк =118 ч.;

tрп - суммарное время регламентированных перерывов, в течение

рабочего дня, ч;

tрп = 60 мин = 1 час.

Для нахождения суммарной продолжительности регламентированных перерывов в течение всего времени разработки программного модуля

,(2)

где - суммарная продолжительность регламентированных перерывов в течение всего времени разработки программного модуля.

ч.

Экономия электроэнергии рассчитывается по формуле

,(3)

где - потребляемая мощность ПК, кВт;

= 0,24 кВт;

- потребляемая мощность компьютера в ждущем режиме;

= 0,07 кВт.

руб.

Использование мер по энерго- и ресурсосбережению, при разработке программного модуля, позволило сэкономить денежные средства в размере 560 рублей.

Заключение

В результате выполнения данной работы был воплощен в жизнь проект по созданию программы "Передачи данных по сети".

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

Данная программа ориентирована для внедрения в школьные учебные заведения, а также в ССУЗЫ и ВУЗЫ и предприятия где необходима пересылка данных по сети. Данная программа значительно снизит затраты времени на передачу файлов между компьютерами.

Список используемых источников

1. Архангельский А.Я. Программирование Delphi7/.- М.: ООО Бином - пресс, 2003 г.- 1152с.: ил.

2. Архангельский А.Я. Программирование в Delphi для Windows. Версии 2006, 2007, Turbo Delphi/, - М.: ООО "Бином-Пресс", 2010 г. - 1248 с.: ил.

3. Фаронов В.В. Delphi 7.0 - программирование на языке высокого уровня/: Учебник для вузов - СПб.: Питер, 2006 г. - 640с.: ил.

4. Бобровский С.И. Delphi 7. Учебный курс/. 200 4г.- 736 с.: ил.

5. Антоненко С.К. Правила дорожного движения, 2011 год.

Приложение

Серверная часть программы:

uses

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

Dialogs, ScktComp, StdCtrls, ComCtrls, XPMan, jpeg, ExtCtrls, Menus,ShellAPI;

type

TForm1 = class(TForm)

Button1: TButton;

Button2: TButton;

StatusBar1: TStatusBar;

Edit1: TEdit;

ServerSocket1: TServerSocket;

OpenDialog1: TOpenDialog;

ProgressBar1: TProgressBar;

XPManifest1: TXPManifest;

Image1: TImage;

MainMenu1: TMainMenu;

N1: TMenuItem;

procedure Button1Click(Sender: TObject);

procedure Button2Click(Sender: TObject);

procedure ServerSocket1ClientRead(Sender: TObject;

Socket: TCustomWinSocket);

procedure FormCreate(Sender: TObject);

procedure FormDestroy(Sender: TObject);

procedure ServerSocket1ClientConnect(Sender: TObject;

Socket: TCustomWinSocket);

procedure ServerSocket1ClientDisconnect(Sender: TObject;

Socket: TCustomWinSocket);

procedure N1Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;

MS: TMemoryStream;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);

begin

OpenDialog1.Execute;

edit1.Text:=OpenDialog1.FileName;

end;

procedure TForm1.Button2Click(Sender: TObject);

var

Size: integer;

P: ^Byte;

begin

MS := TMemoryStream.Create; // Создание буфер для файла

MS.LoadFromFile(Edit1.Text); // Загружаем файл в буфер

// Посылаем информацию о файле (команда # название # размер)

ServerSocket1.Socket.Connections[0].SendText('file#'+Edit1.Text+'#'+IntToStr(MS.Size)+'#');

MS.Position := 0; // Переводим каретку в начало файла

P := MS.Memory; // Загружаем в переменную "P" файл

Size:=ServerSocket1.Socket.Connections[0].SendBuf(P^, MS.Size); // Посылаем файл

// Выводим прогресс

ProgressBar1.Position := Size*100 div MS.Size;

StatusBar1.SimpleText := 'Отправлено '+IntToStr(Size)+' из '+IntToStr(MS.Size)+' байт'

end;

procedure TForm1.ServerSocket1ClientRead(Sender: TObject;

Socket: TCustomWinSocket);

begin

if Socket.ReceiveText = 'end' then // Если клиент принял файл, то...

begin

StatusBar1.SimpleText := 'Клиент принял файл';

MS.Free; // Убиваем буфер

end;

end;

procedure TForm1.FormCreate(Sender: TObject);

begin

ServerSocket1.Open;// открытие сокета

end;

procedure TForm1.FormDestroy(Sender: TObject);

begin

ServerSocket1.Close; // закрытие сокета

end;

procedure TForm1.ServerSocket1ClientConnect(Sender: TObject;

Socket: TCustomWinSocket);

begin

StatusBar1.SimpleText := 'Соединение установлено';

end;

procedure TForm1.ServerSocket1ClientDisconnect(Sender: TObject;

Socket: TCustomWinSocket);

begin

StatusBar1.SimpleText := 'Соединение не установлено';

end;

procedure TForm1.N1Click(Sender: TObject);

begin

ShellExecute(0, nil, PChar('NewProject.chm'), nil, nil, SW_SHOWNORMAL);

end;

end.

Клиентская часть программы:

unit Unit1;

interface

uses

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

Dialogs, ComCtrls, StdCtrls, ScktComp, jpeg, ExtCtrls, Menus,ShellAPI;

type

TForm1 = class(TForm)

ClientSocket1: TClientSocket;

StatusBar1: TStatusBar;

ProgressBar1: TProgressBar;

Image1: TImage;

Label1: TLabel;

Label2: TLabel;

MainMenu1: TMainMenu;

N1: TMenuItem;

procedure FormCreate(Sender: TObject);

procedure FormDestroy(Sender: TObject);

procedure ClientSocket1Connect(Sender: TObject;

Socket: TCustomWinSocket);

procedure ClientSocket1Disconnect(Sender: TObject;

Socket: TCustomWinSocket);

procedure Writing(Text: string);

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

procedure N1Click(Sender: TObject);

private

{ Private declarations }

Name: string; // имя файла

Size: integer; // размер

Receive: boolean; // режим клиента

MS: TMemoryStream; // бурер

public

{ Public declarations }

end;

var

Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Writing(Text: string);

var msg:integer;

begin

if MS.Size < Size then // если принято меньше размера файла то выполняем

MS.Write(Text[1], Length(Text)); // запись в буфер

// прогресс передачи файла

ProgressBar1.Position := MS.Size*100 div Size;

StatusBar1.SimpleText := 'принято '+IntToStr(MS.Size)+' из '+IntToStr(Size);

if MS.Size = Size then // если файл принят то выполняем

begin

Receive := false; // переход клиента в норм режим

MS.Position := 0; // перевод каретки в начало буфера

MS.SaveToFile('D:/Network/'+ExtractFileName(Name));// сохраняем файл

ClientSocket1.Socket.SendText('end'); // файл принят

MS.Free; // уничтожение буфера

StatusBar1.SimpleText := 'файл принят';

msg:=MessageDlg('Открыть загруженный файл?',mtCustom,[mbYes,mbNo], 0);

if msg = mrYes then

ShellExecute(0,'open',PChar(Name),'','',SW_SHOW);

end;

end;

procedure TForm1.FormCreate(Sender: TObject);

var IP:String;

begin

InputQuery('Network','Введите IP адрес',IP);

ClientSocket1.Address:=IP; //IP

ClientSocket1.Open; // Открываем сокет

if createdir('D:\Network') = true then

showmessage('папка создана')

else

showmessage('при создании папки возникли ошибки');

Receive := false; // Режим клиента - приём команд

end;

procedure TForm1.FormDestroy(Sender: TObject);

begin

ClientSocket1.Close; // Закрываем сокет

end;

procedure TForm1.ClientSocket1Connect(Sender: TObject;

Socket: TCustomWinSocket);

begin

StatusBar1.SimpleText := 'Соединение установлено';

end;

procedure TForm1.ClientSocket1Disconnect(Sender: TObject;

Socket: TCustomWinSocket);

begin

StatusBar1.SimpleText := 'Соединение не установлено';

end;

procedure TForm1.ClientSocket1Read(Sender: TObject;

Socket: TCustomWinSocket);

var

Rtext: string; // принятый текст

begin

Rtext := Socket.ReceiveText;

if Receive then // если клиен в режиме приёма файла то

Writing(RText) // запись в буфер

else // если клиен не в режиме приёма файла то

begin

if Copy(Rtext, 0, Pos('#', Rtext) -1) = 'file' then // если это файл то

begin

MS := TMemoryStream.Create; // создание буфера

Delete(Rtext, 1, Pos('#', Rtext)); // определение имя

Name := Copy(Rtext, 0, Pos('#', Rtext) -1); // определение имя

Delete(Rtext, 1, Pos('#', Rtext)); // определение размер

Size := StrToInt(Copy(Rtext, 0, Pos('#', Rtext) -1));// вывод размера

Delete(Rtext, 1, Pos('#', Rtext)); // удаление разделителя

Label1.Caption := 'размер файла: '+IntToStr(Size)+' байт';

Label2.Caption := 'имя файла: '+Name;

Receive := true; // режим приёма файла

Writing(RText); // запись в буфер

end;

end;

end;

procedure TForm1.N1Click(Sender: TObject);

begin

ShellExecute(0, nil, PChar('NewProject.chm'), nil, nil, SW_SHOWNORMAL);

end;

end.

Размещено на Allbest.ru


Подобные документы

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.