Разработка программы "Локальный сетевой чат"

Тип работы:
Дипломная
Предмет:
Программирование


Узнать стоимость

Детальная информация о работе

Выдержка из работы

СОДЕРЖАНИЕ

  • ВВЕДЕНИЕ
  • 1. ТЕХНИЧЕСКОЕ ЗАДАНИЕ
    • 1.1 Введение
    • 1.2 Основания для разработки
    • 1.3 Назначение разработки
    • 1.4 Требования к программе или программному изделию
  • 2. ОПИСАНИЕ ПРОГРАММЫ
    • 2.1 Общие сведения
    • 2.2 Назначение и область применения
    • 2.3 Функциональное назначение
    • 2.4 Описание логической структуры
    • 2.5 Используемые технические и программные средства
    • 2.6 Вызов и загрузка
    • 2.7 Входные данные
    • 2.8 Выходные данные
  • 3. РУКОВОДСТВО ПОЛЬЗОВАТЕЛЯ
    • 3.1 Общие сведения о программе
    • 3.2 Условия выполнения программы
    • 3.3 Характеристика программы
    • 3.4 Настройка программы
    • 3.5 Обращение и выполнение программы
  • ЗАКЛЮЧЕНИЕ
  • СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ

ВВЕДЕНИЕ

С развитием информационных технологий стали возможными глобальные коммуникации. Историческим «докомпьютерным» предшественником чатов, несомненно, был телефон. Ни почта, ни телеграф не позволяли общаться в реальном времени, и не были доступны в домашней обстановке. Изобретение и распространение телефона по планете вызвало настоящую революцию в средствах и способах общения. Возможность поговорить с собеседником на другой стороне Земли казалась настоящим чудом.

Во второй половине XX века начали бурно развиваться компьютеры. Однако долгое время они были большими и слишком дорогими, что препятствовало тому, чтобы расходовать драгоценное машинное время на забавы с обменом сообщениями вместо расчётов атомных бомб. К тому же до конца 60-х годов они не были связаны друг с другом. Предок Интернета, сеть ARPANET, в 1969 году насчитывала только четыре связанных друг с другом научных компьютера. Чуть позже, в 1971 году, была придумана электронная почта, которая стала необычайно популярна ввиду своего удобства. Постепенно появились новые службы сообщений, такие, как списки почтовой рассылки, новостные группы и доски объявлений. Однако в то время сеть ARPANET ещё не могла легко взаимодействовать с другими сетями, построенными на других технических стандартах, что затрудняло её распространение. Но, тем не менее, эта проблема вскоре была решена после перехода сетей на протокол обмена данными TCP/IP, который успешно применяется до сих пор. Именно в 1983 году термин «Интернет» закрепился за сетью ARPANET.

Программы для обмена текстовыми строками, несмотря на простоту самой идеи, появились не сразу. Примерно в 1974 году для мэйнфрейма PLATO был разработана программа Talkomatic, потенциально позволявшая общаться между тысячей терминалов системы. В 1980-x появилась система Freelancing' Round table. Однако по-настоящему популярным стал разработанный в 1988 году протокол, названный Internet Relay Chat (IRC), что примерно можно перевести как ретранслируемый интернет-разговор. Где-то в это же время появилось и распространилось само понятие «чат». Общение в IRC быстро стало популярным из-за простоты процесса и дружественности среды. В 1991 году во время операции «Буря в пустыне» была организована IRC-трансляция новостей -- сообщения со всего мира собирались в одном месте и в режиме реального времени передавались в IRC. Есть сведения, что подобным образом IRC использовался и во время путча в СССР, когда пользователи из Москвы моментально сообщали всему миру о происходящем на улицах. Для клиентов IRC написано множество ботов, например, Eggdrop, автоматизирующие многие рутинные операции. Самым известным из клиентов IRC стал mIRC; благодаря простой и эффективной системе команд для него было написано множество скриптов, которые также позволяют выполнять широкий спектр действий. Боты и mIRC-боты используются для различных игр в каналах -- «Мафия», «Викторина» и других.

Со временем, помимо обычных текстовых чатов, были придуманы видео-, а также голосовые чаты. Видеочаты -- это обмен текстовыми сообщениями плюс транслирование изображений с веб-камер. Поначалу это были не видео-, а скорее, фоточаты: из-за низкой пропускной способности каналов отправлялся не видеопоток, а картинка с некоторыми интервалами, что однако, давало возможность достаточно оперативно наблюдать смену эмоций у собеседника и было значительным прорывом. Позднее, конечно, стал транслироваться видеопоток, хотя и с низким разрешением. Веб-камеры являются простыми и дешёвыми, хотя обратная сторона этого -- низкое разрешение видео и его плохое качество. Изображение получается с плохой цветопередачей, зашумлённое. Однако для целей общения такого качества более чем достаточно.

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

1. ТЕХНИЧЕСКОЕ ЗАДАНИЕ

1. 1 Введение

Чат -- средство обмена сообщениями по компьютерной сети в режиме реального времени, а также программное обеспечение, позволяющее организовывать такое общение. Характерной особенностью является коммуникация именно в реальном времени или близкая к этому, что отличает чат от форумов и других «медленных» средств. То есть, если на форуме можно написать вопрос и ждать, пока кто-нибудь посчитает нужным на него ответить (в то же время, можно получить и несколько ответов сразу от разных пользователей), то в чате общение происходит только с теми, кто присутствует в нём в настоящий момент, а результаты обмена сообщениями могут и не сохраняться.

Под словом чат обычно понимается групповое общение, хотя к ним можно отнести и обмен текстом «один на один» посредством программ мгновенного обмена сообщениями, например, XMPP, ICQ или даже SMS.

1.2 Основания для разработки

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

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

1.3 Назначение разработки

Основной целью создания сетевого чата — является мгновенный обмен сообщениями. Использование данного программного продукта поможет сократить время выполнения какой-либо работы или просто хорошо провести время общаюсь в кругу друзей.

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

Перечень подлежащих разработке в дипломном проекте вопросов:

— Сетевой чат должен обеспечивать мгновенный обмен сообщениями, быть полезным в использовании и потреблять наименьшее количество ресурсов персонального компьютера;

— Программа должна отображать список подключенных пользователей, обеспечивать стабильный поток обмена информацией, иметь настройки приватности и;

— Программный продукт должен иметь дружественный интерфейс, не требующий специальной подготовки пользователей, должен способствовать более эффективному распределению и экономии времени;

1.4 Требования к программе или программному изделию

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

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

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

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

2. ОПИСАНИЕ ПРОГРАММЫ

2. 1 Общие сведения

Программа имеет название «Сетевой чат», предназначена как для домашнего использования, так и для использования на малом производстве. Разработана для людей плохо знающих ПК, программный продукт не требует никаких инструктажей по использованию и понятен на интуитивном уровне.

2.2 Назначение и область применения

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

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

2.3 Функциональное назначение

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

Сетевой чат позволяет выполнять следующие основные задачи:

1. Получать сведение о пользователях использующих программу одновременно;

2. Просматривать всю отправленную информацию между пользователями с момента выхода в сеть (подключение к серверу приложения);

3. Обеспечивать конфиденциальный обмен информацией;

4. Иметь доступный и понятный на интуитивным уровне интерфейс;

5. Иметь дополнительные развлекательные возможности;

Таким образом, «Сетевой чат» позволяет значительно снизить затраты на время в сравнении с традиционными формами обмена информацией.

В Локальном чата осуществляются следующие функции:

— Обмен сообщениями между всеми пользователями чата одновременно;

— Отсылать конфиденциальные сообщения конкретному пользователю;

— Изменять рабочий интерфейс;

— Использовать встроенный проигрыватель аудиозаписей.

2.4 Описание логической структуры

На основе выше написанного можно выделить основные этапы разработки программного продукта:

1. Этап проектирования интерфейса программы;

2. Этап написание программного кода;

3. Этап доработки, внесения изменений;

4. Этап формирования конечного продукта.

На первом этапе проектирования создается общий интерфейс программного продукта и создается его функциональная поддержка.

Этап задания обучающего материала включает в себя:

— Создание определенного макета программы;

— Создание интерфейса управления;

— Разработка оформления.

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

— Ввод текстовой информации и ее изменение до отправки;

— Быстродействие и удобство пользования интерфейсом.

Этап написания программного кода:

— Выбор и анализ методов написания алгоритма выполнения программы;

— Написание основных процедур;

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

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

Самым проблемным модулем в данной программе является модуль чтения команд с сервера. В этом модуле описываются процедуры и функции отвечающие за выполнение пред написанных алгоритмов при той или оной команде. Именно она является самой сложной процедурой. Выглядит она следующим образом:

procedure TForm1. ClientSocket1Read (Sender: TObject;

Socket: TCustomWinSocket);

var s, f, t: string;

begin

s := Socket. ReceiveText;

if Copy (s, 1,2) = '/' then begin

Delete (s, 1,2);

form2. ListBox1. Items. Clear;

while Pos ('; ', s) > 0 do begin

Form2. ListBox1. Items. Add (Copy (s, 1, Pos (';', s)-1));

Delete (s, 1, Pos ('; ', s));

end;

Exit;

end;

if Copy (s, 1,2) = '/*' then begin

Delete (s, 1,2);

form2. Memo1. Lines. Insert (0,Copy (s, 1, Pos (';', s)-1)+'> '+

Copy (s, Pos ('; ', s)+1,Length (s)-Pos (';', s)));

PlaySound ('сообщение. wav', 0, SND_ASYNC);

Exit;

end;

if Copy (s, 1,2) = '//' then begin

Socket. SendText ('//'+nickname);

PlaySound ('список. wav', 0, SND_ASYNC);

Exit;

end;

if Copy (s, 1,2) = '/-' then begin

Delete (s, 1,2);

t := Copy (s, 1, Pos ('; ', s)-1);

Delete (s, 1, Pos ('; ', s));

f := Copy (s, 1, Pos ('; ', s)-1);

Delete (s, 1, Pos ('; ', s));

if (t= nickname) or (f = nickname) then

form2. Memo1. Lines. Insert (0,f+' (приватное сообщение) > '+s);

PlaySound ('сообщение. wav', 0, SND_ASYNC);

Exit;

end;

end;

Как уже было сказано, данная процедура отвечает за правильность выполнения программы. Она принимает команду от сервера, обрабатывает ее и следует по заложенной в ней инструкциий.

Отправка сообщений на сервер происходит по следующей процедуре:

procedure TForm2. Button1Click (Sender: TObject);

var s: string;

begin

if (CheckBox1. Checked) and (ListBox1. ItemIndex < 0) then begin

ShowMessage ('Прежде чем оправить праватное сообщение, выбирите

адресата');

Exit;

end;

if CheckBox1. Checked then

s := '/-'+ListBox1. Items[ListBox1. ItemIndex]+';'

else

s := '/*';

s := s+nickname+'; '+Edit1. Text;

form1. ClientSocket1. Socket. SendText (s);

Edit1. Text := '';

ActiveControl := Edit1;

end;

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

procedure TForm1. ServerSocket1ClientRead (Sender: TObject;

Socket: TCustomWinSocket);

var s: string;

i: integer;

begin

s:= Socket. ReceiveText;

if Copy (s, 1,2) ='//' then

begin

Delete (s, 1,2);

ListBox1. Items. Add (s);

s := '/';

for i := 0 to ListBox1. Items. Count-1 do

s := s+ListBox1. Items[i]+';';

for i := 0 to ServerSocket1. Socket. ActiveConnections-1 do

ServerSocket1. Socket. Connections[i]. SendText (s);

Exit;

end;

if (Copy (s, 1,2) = '/*')or (Copy (s, 1,2) = '/-') then

begin

for i := 0 to ServerSocket1. Socket. ActiveConnections-1 do

ServerSocket1. Socket. Connections[i]. SendText (s);

Exit;

end;

Так же в программе как было ранее сказано присутствует проигрыватель звуковых дорожек, вот основные его функции:

Процедура воспроизведения:

procedure TfmPlayer. Play;

var i: Integer;

begin

if frmPlayeList. ListView1. Items. Count > 0 then

begin

for i := 0 to (frmPlayeList. ListView1. Items. Count — 1) do

begin

if frmPlayeList. ListView1. Items[i]. Selected then

begin

frmPlayeList. ListView1. Items[i]. Selected := True;

frmPlayeList. ListView1. Items[i]. Focused := True;

mp3FileName := frmPlayeList. ListView1. Items[i]. SubItems[2] +

frmPlayeList. ListView1. Items[i]. SubItems[0] +

frmPlayeList. ListView1. Items[i]. SubItems[3];

Break;

end;

end;

end else Exit;

if FileExists (mp3FileName) then

begin

fmPlayer. mpPlayer. SetFocus;

try

fmPlayer. mpPlayer. FileName := mp3FileName;

fmPlayer. NameTrak. Caption:=

frmPlayeList. ListView1. Items[i]. SubItems[0];

Application. Title := fmPlayer. NameTrak. Caption;

if PlayerListStr. Count > 0 then

begin

if PlayerListStr. Strings[PlayerListStr. Count — 1] < > IntToStr (i + 1) then

PlayerListStr. Add (IntToStr (i + 1));

if PlayerListStr. Count > 50 then PlayerListStr. Delete (1);

end else PlayerListStr. Add (IntToStr (i + 1));

fmPlayer. mpPlayer. Open;

fmPlayer. mpPlayer. Play;

except

Exit;

end;

end;

end;

Процедура переключения звуковой дорожки на следующую:

procedure TfmPlayer. NextFile (Priv:Boolean);

var i, n, Next: Integer;

begin

if frmPlayeList. ListView1. Items. Count > 0 then

begin

for i := 0 to (frmPlayeList. ListView1. Items. Count — 1) do

begin

if frmPlayeList. ListView1. Items[i]. Selected then

begin

if Priv and (frmPlayeList. ListView1. Items. Count > 2) then

begin

if (PlayerListStr. Count — 1) > 0 then

begin

Next := StrToInt (PlayerListStr. Strings[PlayerListStr. Count — 2]);

Next := Next — 1;

PlayerListStr. Delete (PlayerListStr. Count — 1);

end;

end

else

if Rand and ((frmPlayeList. ListView1. Items. Count — 1) > 0) then

Next := Random (frmPlayeList. ListView1. Items. Count — 1)

else

if i = (frmPlayeList. ListView1. Items. Count — 1) then

Next := 0

else

Next := i + 1;

if (Next> frmPlayeList. ListView1. Selected. Index) and ((Next —

frmPlayeList. ListView1. Selected. Index) < =

(frmPlayeList. ListView1. Items. Count — 1)) then

begin

for n := 1 to (Next — frmPlayeList. ListView1. Selected. Index) do

SendMessage (frmPlayeList. ListView1. Handle, WM_VSCROLL,

SB_LINEDOWN, 0);

end

else

if (Next< frmPlayeList. ListView1. Selected. Index) and

((frmPlayeList. ListView1. Selected. Index-Next) < =

(frmPlayeList. ListView1. Items. Count — 1)) then

begin

for n := 1 to (frmPlayeList. ListView1. Selected. Index — Next) do

SendMessage (frmPlayeList. ListView1. Handle, WM_VSCROLL,

SB_LINEUP, 0);

end

else Next := 0;

frmPlayeList. ListView1. Items[Next]. Selected := True;

frmPlayeList. ListView1. Items[Next]. Focused := True;

mp3FileName := frmPlayeList. ListView1. Items[Next]. SubItems[2] +

frmPlayeList. ListView1. Items[Next]. SubItems[0] +

frmPlayeList. ListView1. Items[Next]. SubItems[3];

Play;

Break;

end;

end;

end else Exit;

end;

2.5 Используемые технические и программные средства

Разработка программного кода производилась в среде программирования языка Delphi.

Среда программирования Delphi в настоящее время является одной из самых развитых систем визуального объектно-ориентированного программирования. Её возможности отвечают высоким требованиям и подходят для создания приложений любой сложности. Структурированность и простота Delphi делает его одним из совершенных языков программирования. На нем можно создать все, что делают на С++ избежав всех имеющихся в нем трудностей. Он позволяет с наименьшими усилиями создавать от простых приложений работающих на одном компьютере до корпоративных приложений, использующие серверные базы данных расположенные на разных платформах. Интернет приложения, коммерческие игры и много других видов программ, возможно создать на Delphi. Даже неопытный программист сможет сделать приложение для Windows профессионального вида.

С самого начала работы над новой программой Delphi создает минимально необходимый код, обеспечивающий ее нормальное функционирование в операционной системе Windows. Таким образом, простейшая программа готова сразу после выбора опции команды File | New | Application, и остается просто запустить программу. Однако до этого необходимо выполнить две важные вещи: создать собственный рабочий каталог (папку) и нужным образом настроить Delphi.

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

После ввода имен модуля и программы, на экране появится окно формы, как и следовало, ожидать — пустое, но обладающее всеми атрибутами нормального Windows-окна: оно может изменять свое положение и размеры и, закрываясь, выгружает программу из оперативной памяти ПК.

В первом приближении можно считать модулем самостоятельный раздел программы, в чем-то подобный главе в книге. Модуль создается каждый раз, когда создается новая форма (в программе может быть и, чаще, бывает не одна, а несколько — иногда несколько десятков форм и связанных с ними модулей). При компиляции программы Delphi создает файлы с расширениями pas, dfm и оси для каждого модуля: pas-файл содержит копию текста из окна кода программы, в файле с расширением dfm хранится описание содержимого окна формы, а в оси-файле — результат преобразования в машинные инструкции текста из обоих файлов. Файлы dcu создаются компилятором и дают необходимую базу для работы компоновщика, который преобразует их в единый загружаемый файл с расширением ехе.

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

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

К примеру, новый компонент имеет стандартное имя Label1, и надпись на нем повторяет это имя. Изменить эту надпись можно с помощью строки Caption окна инспектора объектов. Как только начнется ввод новой надписи, вид компонента на форме начнет меняться, динамически отражая все изменения, производимые вами в окне инспектора объектов.

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

Все видимые компоненты имеют свойства Left (Слева), Top (Сверху), Width (Ширина) и Height (Высота), числовые значения которых определяют положение левого верхнего угла компонента и его размеры в так называемых пикселях, т. е. в минимальных по размеру точках экрана, светимостью которых может управлять программа. При буксировании компонента или изменении его размеров мышью эти значения автоматически меняются и наоборот — изменение этих свойств в окне Инспектора объектов приводит к соответствующему изменению положения и размеров компонента.

Функциональность программы определяется совокупностью ее реакций на те или иные события. В связи с этим каждый компонент помимо свойств характеризуется также набором событий, на которые он может реагировать. Например, чтобы заставить Delphi самостоятельно сделать заготовку для процедуры обработчика события OnClick, необходимо дважды подряд без заметной паузы щелкнуть мышью по любому видимому компоненту. В ответ Delphi активизирует окно кода, и можно увидеть в нем такой текстовый фрагмент:

Procedure TForm1. ButtonlClick (Sender: TObject);

begin

end;

Слово procedure извещает компилятор о начале подпрограммы-процедуры. За ним следует имя процедуры TForm1. ButtonlClick. Это имя — составное: оно состоит из имени класса TForm1 и собственно имени процедуры Button1Click.

Классами в Delphi называются функционально законченные фрагменты программ, служащие образцами для создания подобных себе экземпляров. Компилятор, встроенный в Delphi, обеспечивает высокую производительность, необходимую для построения приложений в архитектуре «клиент-сервер». Этот компилятор в настоящее время является самым быстрым в мире, его скорость компиляции составляет свыше 120 тысяч строк в минуту на компьютере 486DX33. Он предлагает легкость разработки и быстрое время проверки готового программного блока, характерного для языков четвертого поколения (4GL) и в то же время обеспечивает качество кода, характерного для компилятора 3GL. Кроме того, Delphi обеспечивает быструю разработку без необходимости писать вставки на Си или ручного написания кода (хотя это возможно).

В процессе построения приложения разработчик выбирает из палитры компонент готовые компоненты как художник, делающий крупные мазки кистью. Еще до компиляции он видит результаты своей работы — после подключения к источнику данных их можно видеть отображенными на форме, можно перемещаться по данным, представлять их в том или ином виде. В этом смысле проектирование в Delphi мало чем отличается от проектирования в интерпретирующей среде, однако после выполнения компиляции мы получаем код, который исполняется в 10−20 раз быстрее, чем-то же самое, сделанное при помощи интерпретатора. Кроме того, компилятор компилятору рознь, в Delphi компиляция производится непосредственно в родной машинный код, в то время как существуют компиляторы, превращающие программу в так называемый p-код, который затем интерпретируется виртуальной p-машиной. Это не может не сказаться на фактическом быстродействии готового приложения.

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

В стандартную поставку Delphi входят основные объекты, которые образуют удачно подобранную иерархию из 270 базовых классов. Для начала — неплохо. Но если возникнет необходимость в решении какой-то специфической проблемы на Delphi, советуем, прежде чем попытаться начинать решать проблему «с нуля», просмотреть список свободно распространяемых или коммерческих компонент, разработанных третьими фирмами, количество этих фирм в настоящее время превышает число 250, хотя, возможно, я не обо всех знаю. Скептики, возможно, не поверят мне, когда я скажу, что на Delphi можно одинаково хорошо писать как приложения к корпоративным базам данных, так и, к примеру, игровые программы. Тем не менее, это так. Во многом это объясняется тем, что традиционно в среде Windows было достаточно сложно реализовывать пользовательский интерфейс. Событийная модель в Windows всегда была сложна для понимания и отладки. Но именно разработка интерфейса в Delphi является самой простой задачей для программиста.

В первую очередь Delphi предназначен для профессионалов-разработчиков корпоративных информационных систем. Может быть, здесь следует пояснить, что конкретно имеется в виду. Не секрет, что некоторые удачные продукты, предназначенные для скоростной разработки приложений (RAD — rapid application development) прекрасно работают при изготовлении достаточно простых приложений, однако, разработчик сталкивается с непредвиденными сложностями, когда пытается сделать что-то действительно сложное. Бывает, что в продукте вскрываются присущие ему ограничения только по прошествии некоторого времени.

Delphi такие ограничения не присущи. Хорошее доказательство тому — это тот факт, что сам Delphi разработан на Delphi. Можете делать выводы. Однако Delphi предназначен не только для программистов-профессионалов. Я читал в электронной конференции совершенно неожиданные для меня письма, где учителя, врачи, преподаватели ВУЗов, бизнесмены, все те, кто используют компьютер с чисто прикладной целью, рассказывали о том, что приобрели Delphi for Windows для того, чтобы быстро решить какие-то свои задачи, не привлекая для этого программистов со стороны. В большинстве случаев им это удается. Поразительный факт — журнал Visual Basic Magazine присудил свою премию Delphi for Windows.

Руководители предприятий, планирующие выделение средств на приобретение программных продуктов, должны быть уверены в том, что планируемые инвестиции окупятся. Поэтому одним из оцениваемых факторов должен быть вопрос — а легко ли найти специалиста по Delphi и сколько будет стоить его обучение, сколько времени специалист затратит на овладение продуктом. Ответ здесь получить весьма просто — любой программист на паскале способен практически сразу профессионально освоить Delphi. Специалисту, ранее использовавшему другие программные продукты, придется труднее, однако самое первое работающее приложение он сможет написать в течение первого же часа работы на Delphi. И, конечно же, открытая технология Delphi является мощным гарантом того, что инвестиции, сделанные в Delphi, будут сохранены в течение многих лет.

Внешний вид среды программирования Delphi отличается от многих других из тех, что можно увидеть в Windows. К примеру, Borland Pascal for Windows 7. 0, Borland C++ 4. 0, Word for Windows, Program Manager — это все MDI приложения и выглядят по-другому, чем Delphi. MDI (Multiple Document Interface) — определяет особый способ управления нескольких дочерних окон внутри одного большого окна.

Среда Delphi же следует другой спецификации, называемой Single Document Interface (SDI), и состоит из нескольких отдельно расположенных окон. Это было сделано из-за того, что SDI близок к той модели приложений, что используется в Windows 95.

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

2.6 Вызов и загрузка

Для вызова программы необходимо переместить папку с программой на рабочую область компьютера, для запуска необходимо в папке с программой найти файл с названием «Сервер. exe» и запустить его. После чего в появившемся окне, нажатием на кнопку с надписью «Запустить сервер» запускаем сервер. После этого можем смело запускать саму программу т. е. клиент, программа имеет название «Клиент. exe»

2. 7 Входные данные

В качестве входных данных в программе являются «Nikname» (Псевдоним), пользователей под которым он будет известен находясь в программе и виртуальный адрес компьютера, на котором запущен сервер. А так же тестовая информация вводимая самим пользователем.

2.8 Выходные данные

Выходными данными является текстовая информация, передаваемая самими пользователями, а так же их псевдонимы.

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

3. РУКОВОДСТВО ПОЛЬЗОВАТЕЛЯ

3.1 Общие сведения о программе

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

Программа должна выполняться при следующих системных требованиях:

1. Процессор Intel Pentium 1. 2GHz.

2. Оперативная память 128 Мб

3. Графическая память 128 Мб

4. Операционная система Windows XP и выше

5. Свободное место на жестком диске 10 Мб

6. Локальное соединение со скоростью 12 кбит/сек и более.

3.2 Условия выполнения программы

Для работы программы необходимо скопировать на ПК папку с программой, запустить в папке с программой сперва «Сервер. exe», а за тем «Клиент. exe».

3.3 Характеристика программы

Программа обладает такими характеристиками как:

— Мгновенный обмен сообщениями.

— Мгновенный обмен конфиденциальными сообщениями.

— Графическое изменение оформления интерфейса.

— Наименьшее использование системных ресурсов.

— Наличие встроенного аудио проигрывателя.

3.4 Настройка программы

К настройкам в программе можно отнести начальное окно, в котором задается Псевдоним пользователя и виртуальный адрес компьютера (см. Рисунок 3. 1), а так же форма изменения графического интерфейса программы (см. Рисунок 3. 2)

Рисунок 3.1 — Вход в программу

Рисунок 3.2 — Изменение интерфейса

Если пользователь выбрал одну из картинок и кликнул по ней мышью то оформление рабочей области чата будет изменяться в зависимости от картинки которую выбрал пользователь. Будь это картинка № 1 рабочая область примет оформление «космос» (см. Рисунок 3. 3), № 2 рабочая область примет оформление «лес» (см. Рисунок 3. 4), № 3 рабочая область примет оформление «волна» (см. Рисунок 3. 5).

Рисунок 3.3 — Оформление «Космос»

Рисунок 3.4 — Оформление «Лес»

Рисунок 3.5 — Оформление «Волна»

3.5 Обращение и выполнение программы

После запуска программы появляется заставка. На заставке находятся: поле куда необходимо ввести свой «Nikname» (псевдоним) и поле куда необходимо ввести виртуальный адрес компьютера на котором расположен сервер (Ip-Address) (См. рисунок 3. 6).

Рисунок 3.6 — Вход в программу

Для того что бы открыть чат необходимо ввести необходимые параметры, а именно «Nikname» (псевдоним) и «Ip-Address» (виртуальный адрес компьютера). Далее, после ввода параметров, для продолжения работы необходимо кликнуть мышью на изображении спутника. После чего откроется главное окна чата (См. Рисунок 3. 7).

+

Рисунок 3.7 — Главное окно чата

Справа отображается список контактов, слева мы видим пустую область, а ней и будут отображаться приходящие сообщения. Для того что бы отправить сообщение необходимо для этого сперва его ввести. Текст сообщения вводится в белое поле, на которое при наведение курсором всплывает подсказка о том, что туда вводится текст, это и есть окно для ввода сообщения. После ввода сообщения, для его отправки, необходимо нажать на кнопку «Send». После этого мы видим, что наше сообщение отобразилось в окне сообщений (См. Рисунок 3. 8).

Рисунок 3.8 -Отправка сообщений

Для изменения оформления интерфейса рабочей области чата, необходимо щелкнуть левой кнопкой мыши в верхний правый угол, после чего откроется окно изменения интерфейса (См. Рисунок 3. 9). Это действие аналогично тому, если бы мы выбирали необходимый теоретический раздел в левой части окна.

Рисунок 3.9 — Окно изменения интерфейса

Так же в программе предусмотрено промежуточное отключение от сервера, для того что бы отключиться от сервера, но при этом оставаться в самой программе необходимо один раз кликнуть по изображению «черной дыры» (См. Рисунок 3. 10), тогда синяя планета с наушниками окрасится в красный цвет (См. Рисунок 3. 11). Это значит, что вы отключились от сервера.

Рисунок 3. 10 — Черная дыра

Рисунок 3. 11 — Статус подключения

Как уже было сказано ранее, в программе встроен проигрыватель аудио файлов, что бы его запустить необходимо, переключиться в режим «Off-line», отключиться от сервера, и щелкнуть мышкой на изображении «Планеты с наушниками», которая после отключения от сервера окрашивается в красный цвет. После того как мы нажали на изображении планеты появляется окно плеера (См. Рисунок 3. 12).

Рисунок 3. 12 — Окно плеера.

Так же в плеере предусмотрен «плей-лист» (См. Рисунок 3. 13). Что дает нам возможность добавлять несколько композиций, которые будут поочередно проигрываться.

Рисунок 3. 13 — Окно плеера

Так же в плеере предусмотрены элементы управления, такие как полоса прокрутки, уровень звука, кнопка зацикливания и стандартные функции управления воспроизведением аудио файлов.

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

ЗАКЛЮЧЕНИЕ

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

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

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

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

СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ

1. Вейскас. Д, В26 Эффективная работа с Мicrosoft Access 97 — Спб: ЗАО «Издательство Питер», 1999.

2. Кауфельд. Дж, К45 FoxPro для «чайников». — К.: «Диалекика», 1995.

3. В. В. Бойко, В. М. Савинков, «Проектирование баз данных информационных систем», М., Финансы и статистика, 1989 г.

4. Селиджтаун М, В26 «FoxPro 2.5 Практическое пособие» — М: изд. «Москва-Пресс», 1994.

5. Гурвиц Г. А. Разработка реального приложения с использованием Microsoft Visual FoxPro 9. — Х.: Издательство ДВГУПС, 2007.

6. Каратыгин С., Тихонов А., Тихонова Л. Visual Fox Pro 6. — М.: Издательство «Бином», 2000.

7. Тихонов А., Тихонова Л. Visual Fox Pro 5. — М.: Издательство «Бином», 1997.

8. Введение в системы баз данных" К. 2000 г.

9. А. Д. Хоменко «Основы современных компьютерных технологий». М. 2000 г.

10. Информатика: компьютерная техника. Компьютерные технологии.

ПоказатьСвернуть
Заполнить форму текущей работой