Разработка приложения – клиента электронной почты

Общие сведения о работе программы в среде программирования Microsoft Visual Studio 2008, на языке программирования C++. Ее функциональное назначение. Инсталляция и выполнение программы. Разработанные меню и интерфейсы. Алгоритм программного обеспечения.

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

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

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

6

AСТРAХAНСКИЙ ГОСУДAРСТВEННЫЙ УНИВEРСИТEТ

Кaфeдрa

информaционных систeм

и тeхнологий

Курсовaя рaботa по дисциплинe

«Объeктно-ориeнтировaнноe прогрaммировaниe»

нa тeму:

“Разработка приложения - клиента электронной почты”

Выполнили: студeнты группы ЗИ-31

Егоров Д.С.

Арушанов С.С.

Курсовaя рaботa допущeнa к зaщитe

Руководитeль: aсс. Пaвлов A.A.

Курсовaя рaботa выполнeнa с оцeнкой ___________

Пaвлов A.A.___________

Aстрaхaнь - 2009 г.

СОДЕРЖАНИЕ

  • ВВЕДЕНИЕ
  • 1. ТЕХНИЧЕСКОЕ ЗАДАНИЕ
  • 2. РАБОЧИЙ ПРОЕКТ
    • 2.1. Общие сведения о работе программы
    • 2.2. Функциональное назначение
    • 2.3. Инсталляция и выполнение программы
    • 2.4. Общий алгоритм программного обеспечения
    • 2.5. Разработанные меню и интерфейсы
    • 2.6. Описание основных классов и методов приложения
  • 3. ПРОГРАММА И МЕТОДИКА ИСПЫТАНИЙ
  • ЗАКЛЮЧЕНИЕ
  • СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ
  • ПРИЛОЖЕНИЕ 1

ВВЕДЕНИЕ

Язык С++, разработанный Microsoft имеет массу преимуществ перед другими языками типа С, С++, Java: простота, объектная ориентированность, типовая защищенность, «сборка мусора», поддержка совместимости версий и многое другое. Данные возможности позволяют быстро и легко разрабатывать приложения. При создании С++ его авторы учитывали достижения многих других языков программирования: C++, С, Java, Visual Basic и т.д. Надо заметить, что поскольку С++ разрабатывался что называется «с нуля», у его авторов была возможность не переносить в него все неудачные особенности любого из предшествующих языков. Особенно это касается проблемы совместимости с предыдущими версиями. В результате получился действительно простой, удобный и современный язык, который по мощности не уступает C++, но существенно повышает продуктивность разработок. Ввиду высокой объектной ориентированности, язык С++ великолепно подходит для быстрого конструирования различных компонентов -- от высокоуровневой бизнес-логики до системных приложений, использующих низкоуровневый код. Также следует отметить, что С++ является и Web-ориентированным -- с помощью простых встроенных конструкций языка ваши компоненты легко превратятся в Web-сервисы, к которым можно будет обращаться из Интернета, используя любой язык на любой операционной системе. Дополнительные возможности и преимущества С++ перед другими языками приносит использование современных Web-технологий, таких как: XML (Extensible Markup Language) и SOAP (Simple Object Access Protocol). Удобные методы для разработки Web-приложений позволяют программистам, владеющим навыками объектно-ориентированного программирования, легко освоиться в разработке Web-сервисов.

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

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

Разработка приложения-клиента электронной почты.

В ходе разработки клиентского приложения электронной почты, необходимо разработать и реализовать с использование двух основных протоколов передачи электронной почты POP3 и SMTP:

· методы приема и отправки сообщений;

· интуитивно понятный интерфейс, обеспечивающий удобную работу с приложением;

· сохранение почтовых сообщений на локальном диске компьютера;

· реализовать алгоритмы построения списка сообщений;

· при выборе сообщения обеспечить отображение темы сообщения, отправителя и адресата письма, а также текст самого сообщения;

· дополнительно необходимо реализовать возможность сворачивания приложения в трей панели задач Windows;

· проверку наличия новых сообщений по времени и смену иконки в трее при получении новых сообщений.

2. РАБОЧИЙ ПРОЕКТ

2.1. Общие сведения о работе программы

Программа разработaнa в среде программирования Microsoft Visual Studio 2008, на языке программирования C++.

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

При отправке сообщений используется протокол SMTP. В начале происходит авторизация на сервере SMTP, а после этого непосредственная передача сообщения почтовому демону.

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

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

2.3. Инсталляция и выполнение программы

Для запуска программы из среды «Microsoft Visual Studio 2008» необходимо, зайдя в «Microsoft Visual Studio 2008» запустить файл Mail client.sln.

2.4. Общий алгоритм программного обеспечения

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

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

6

Рис. 1.1. «Диаграмма работы протокола POP3»

При нажатии на кнопку написать письмо в меню «Файл», загружается окно нового письма, в котором содержатся поля: кому адресовано письмо, поле темы, поле для текста письма и кнопка для отправки письма.

При нажатии на кнопку «SendMail», происходит отправка письма, используя протокол SMTP.

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

6

Рис. 1.2. «Диаграмма работы протокола SMTP»

2.5. Разработанные меню и интерфейсы

При запуске программы на экране появляется главное окно программы с элементами управления (Рис. 2.1).

Рис. 2.1. «Главное окно»

Для настройки почтового клиента необходимо нажать на меню «Настройки». В результате, загружается окно настроек (рис. 2.2.).

Рис. 2.2. «Настройки»

Для отправки письма необходимо запустить окно «Написать письмо» (рис 2.3.), нажатием на кнопку «Написать письмо» в меню «Файл».

Рис. 2.3. окно «Написать сообщение»

2.6. Описание основных классов и методов приложения

Рис. 3.1. «Диаграмма классов»

Класс POP3

Класс POP3, также как и одноименный протокол используется для извлечения сообщений с почтового сервера. Данный класс наследуется от System.Net.Sockets.TcpClient реализованного в VS 2008.

Класс содержит несколько методов:

· ConnectPOP - используется для установки соединения с сервером;

· DisconnectPOP - закрывает соединение с сервером;

· ListMessages - получаем список сообщений с сервера;

· RetriveMessage - получение сообщения с сервера;

· DeleteMessage - удаление сообщения на сервере;

· Write - принимает сообщение на входе и записывает его в сетевой поток TCP;

· Response - метод обратный от Write.

Класс SMTP

Класс SMTP как и одноименный протокол обеспечивает отправку сообщений.

Содержит метод SendMail, который обеспечивает отправку сообщения по протоколу SMTP.

Класс Form1

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

Основные методы:

· LoadProfile - загрузка файла профиля почтового ящика;

· ReadMess - чтение сообщения из файла;

· FileCreate - сохранение почтового сообщения;

· ListMess - загрузка сообщений в элемент ListView;

· ItemsAdd - добавление новых сообщений в элемент ListView;

Класс FormSettings

Класс FormSettings обеспечивает интерфейс окна настроек почтового ящика, а также обеспечивает сохранение этих настроек в файл профиля.

Основные методы:

· LoadProfile - загрузка файла профиля почтового ящика;

· EditProfile - сохранение изменений профиля почтового ящика;

3. ПРОГРАММА И МЕТОДИКА ИСПЫТАНИЙ

Запуск программы осуществляется с помощью запуска файла Mail client.sln из среды разработки «MVS-2008».

Вверху окна расположены кнопки главного меню (рис. 3.5.1). Ниже расположено поле, в которое загружается список полученных писем. В самое нижнее поле загружается текст письма.

Результатом нажатия на меню «Получить почту», будет загрузка входящих писем в верхнее поле. Результатом нажатия на любое письмо, будет загрузка текста письма в нижнее поле. Для отправки письма нужно загрузить окно «Написать письмо» (рис 3.5.3) в меню файл. Результатом нажатия кнопки «SendMail» в окне «Написать письмо» будет отправка Эл. письма адресату. Результатом нажатия кнопки «выход» в меню «файл», будет выход из программы.

ЗАКЛЮЧЕНИЕ

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

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

1. Герберт Шилдт «Полный справочник по C++», 2004 г.

2. Лабор В.В «Создание приложений для Windows», 2003 г.

3. Агуров П.В «Разработка компонентов в MS Visual Studio», 2008 г.

4. Э.Кровчик, В.Кумар, Н.Логари, А.Мунгале, К.Нагел, Т.Паркер, Ш.Шивакумар «NET сетевое программирование для профессионалов»,2005г.

ПРИЛОЖЕНИЕ 1

Form1.cs

namespace Mail_client

{

public partial class Form1 : Form

{

private string dir;

public static int countMesStart;

public static int countMes=0;

public static string sServerName ;

public static string sUserName;

public static string sPassword;

public static string SMTPserver;

private FormSettings fset= new FormSettings();

private FormNewMess fnewmess = new FormNewMess();

public Form1()

{

InitializeComponent();

this.ShowInTaskbar = false;

dir = Directory.GetCurrentDirectory();

ItemsAdd();

LoadProfile();

}

public string LoadProfile() //загрузка файла профиля

{

FileStream fs = new FileStream(dir+"\\messages\\profile\\porfile.txt",

FileMode.Open, FileAccess.Read);

StreamReader sr = new StreamReader(fs);

string CurLine;

int i = 0;

while

( (CurLine = sr.ReadLine()) != null)

{

i++;

if(i==1)

countMes = Convert.ToInt32(CurLine);

if (i == 2)

{

sServerName = CurLine;

}

if (i == 3)

sUserName = CurLine;

if (i == 4)

sPassword = CurLine;

if (i == 4)

SMTPserver = CurLine;

}

countMesStart = countMes;

fs.Close();

sr.Close();

return CurLine;

}

public string ReadMess(string num, int c) //чтение сообщения

{

String fil="";

if (c==2 )

fil = "";

if (c == 1)

fil = ".txt";

FileStream fs = new FileStream(dir+"\\messages\\" + num + fil,

FileMode.Open, FileAccess.Read);

StreamReader sr = new StreamReader(fs);

string CurLine="";

CurLine = sr.ReadToEnd();

fs.Close();

sr.Close();

return CurLine;

}

public void Get() //получение сообщений с сервера

{ string content;

POPException.POP3 oPOP = new POPException.POP3();

oPOP.ConnectPOP(sServerName, sUserName, sPassword);

ArrayList MessageList= oPOP.ListMessages();

foreach (POPException.POP3EmailMessage POPMsg in MessageList)

{

POPException.POP3EmailMessage POPMsgContent= oPOP.RetriveMessage(POPMsg);

content= POPMsgContent.msgContent;

string filename = Theme(content);

FileCreate(filename,content);

// richTextBox2.Text += content;

ItemsAdd();

}

oPOP.DisconnectPOP();

}

public string Theme(string content) //процедура получения темы сообщения

{

string resultValue="";

char m='\r' ;

int i = content.LastIndexOf("Subject:");

i += 9;

for ( char c=content[i];content[i]!=m; i++)

{

c = content[i];

resultValue +=c;

}

return resultValue;

}

public string FromMess(string content) //получение поля ОТ

{

string resultValue = "";

char m = '\r';

int i = content.IndexOf("From:");

i+=6;

for (char c = content[i]; content[i] != m; i++)

{

c = content[i];

resultValue += c;

}

return resultValue;

}

public string ToMess(string content) //получения поля кому

{

string resultValue = "";

char m = '\r';

int i = content.IndexOf("\nTo:");

i += 4;

for (char c = content[i]; content[i] != m; i++)

{

c = content[i];

resultValue += c;

}

return resultValue;

}

public void FileCreate(string filename,string content) //процедура создания файла

{

countMes++;

FileStream myStream=File.Create(dir+"\\messages\\"+countMes+".txt");

int z = content.Length;

for ( int i=0; i < z; i++)

{

char c = content[i];

myStream.WriteByte((byte)c);

}

myStream.Close();

}

public void ListMess(string num,string theme, string from) // добавление сообщений в листвью

{

ListViewItem lvi = new ListViewItem((listView1.Items.Count + 1).ToString());

lvi.SubItems.Add(theme);

lvi.SubItems.Add(from);

listView1.Items.Add(lvi);

}

public void ItemsAdd()// Добавление новых сообщений

{string strin="";

// listBox1.Items.Clear();

listView1.Items.Clear();

//char c;

string[] contents = System.IO.Directory.GetFileSystemEntries(dir + @"\messages\");

foreach (string s in contents)

{

if ((s.IndexOf("profile") == -1))

{

for (int z = s.LastIndexOf("\\")+1; z < s.Length; z++)

{

char c = s[z];

strin += c;

}

string content=ReadMess(strin, 2);

string from = FromMess(content);

ListMess(strin,Theme(content), from);

// listBox1.Items.Add(strin);

strin = "";

}

}

}

public string ShowMes() //процедура показа выделенного сообщения

{

string resultValue = "";

if (listView1.SelectedItems.Count == 0)

return resultValue ;

string x = listView1.SelectedItems[0].Text;

string content = ReadMess(listView1.SelectedItems[0].Text, 1);

// ListMess(x,Theme(content), FromMess(content));

Them.Text = Theme(content);

From.Text = FromMess(content);

To.Text = ToMess(content);

char m = '\n';

char z = '0';

int i = content.LastIndexOf("Content-Transfer-Encoding:");

i += 9;

while (content[i] != m)

i++;

for (char c = content[i+1]; i < (content.Length); i++)

{

c = content[i];

resultValue += c;

}

return resultValue ;

}

private void listBox1_SelectedIndexChanged(object sender, EventArgs e)

{

string content = ShowMes();

richTextBox3.Text = content;

}

private void настройкиЯщикаToolStripMenuItem_Click(object sender, EventArgs e) //показ формы настройки ящмка

{

fset.ShowDialog(this);

}

private void mnuShow_Click(object sender, EventArgs e) //отображение главной формы

{

//Включаем отображения приложения на панели задач при запуске

this.ShowInTaskbar = true;

//Показываем форму

this.Show();

timer1.Enabled = false;

notifyIcon1.Icon =new Icon(dir+@"\messages\profile\Folder1.ico");

//Отключаем доступность пункта меню mnuShow

mnuShow.Enabled = false;

//Включаем доступность пункта меню mnuHide

mnuHide.Enabled = true;

//Переменной Hidden устанавливаем значение false

}

private void mnuHideToolStripMenuItem_Click(object sender, EventArgs e)//сворачивание главной формы в трей

{

this.ShowInTaskbar = false;

this.Hide();

mnuShow.Enabled = true;

mnuHide.Enabled = false;

timer1.Enabled = true;

}

private void notifyIcon1_DoubleClick(object sender, EventArgs e) //открытие формы по щелчку на иконке в трее

{

mnuShow_Click(this, new EventArgs());

}

private void Form1_FormClosing(object sender, FormClosingEventArgs e) //закрытие главной формы

{

if (e.CloseReason == CloseReason.UserClosing)

{

e.Cancel = true;

this.Hide();

mnuShow.Enabled = true;

mnuHide.Enabled = false;

timer1.Enabled = true;

}

}

private void выходToolStripMenuItem_Click(object sender, EventArgs e) // процедура выхода из программы

{

notifyIcon1.Visible = false;

this.ShowInTaskbar = false;

this.Hide();

listView1.Items.Clear();

Application.Exit();

}

private void написатьПисьмоToolStripMenuItem_Click(object sender, EventArgs e)//показ формы Нового сообщения

{

fnewmess.ShowDialog(this);

private void timer1_Tick(object sender, EventArgs e) //таймер отвечает за проверку сообщений по времени

{

Get();

if (countMesStart < countMes)

{

notifyIcon1.Icon = new Icon(dir + @"\messages\profile\NotePad.ico");

}

}

private void listView1_ItemActivate(object sender, EventArgs e)//изменение выброного сообщения

{

string content = ShowMes();

richTextBox3.Text = content;

}

private void получитьПочтуToolStripMenuItem_Click(object sender, EventArgs e)

{

Get();

}

private void Form1_Deactivate(object sender, EventArgs e)

{

if (WindowState == FormWindowState.Minimized)

{

this.ShowInTaskbar = false;

this.Hide();

mnuShow.Enabled = true;

mnuHide.Enabled = false;

timer1.Enabled = true;

}

}

private void Form1_Activated(object sender, EventArgs e)

{

if (WindowState == FormWindowState.Normal)

{

this.ShowInTaskbar = true;

//Показываем форму

this.Show();

timer1.Enabled = false;

mnuShow.Enabled = false;

mnuHide.Enabled = true;

notifyIcon1.Icon = new Icon(dir + @"\messages\profile\Folder1.ico");

}

}

}

}

Program.cs

namespace Mail_client

{

namespace POPException

{

public class POPException : System.ApplicationException

{

public POPException(string str)

: base(str)

{

}

}

static class Program

{

static Form1 frm = null;

public static Form1 MainForm { get { return frm; } }

/// <summary>

/// The main entry point for the application.

/// </summary>

[STAThread]

static void Main()

{

Application.EnableVisualStyles();

Application.SetCompatibleTextRenderingDefault(false);

Application.Run(frm = new Form1());

}

}

public class POP3EmailMessage //класс описывающий emailMessage

{

public long msgNumber;

public long msgSize;

public bool msgReceived;

public string msgContent;

}

public class SMTP

{

public void SendMail(string sSMTPServer, string sFrom, string sTo, string sSubject, string sBody)//класс SMTP отвечающий за отправку сообщений

{

SmtpClient client = new SmtpClient(sSMTPServer, 25);

client.Credentials = new NetworkCredential(Form1.sUserName, Form1.sPassword);

MailMessage message = new MailMessage(Form1.sUserName, sTo, sSubject, sBody);

client.Send(message);

}

}

public class POP3 : System.Net.Sockets.TcpClient // Класс POP3 отвечающий за доставку смс сообщений

{

public void ConnectPOP(string sServerName, string sUserName, string sPassword) // соединение с POP сервером

{

string sMessages;

string sResult;

//вызываем метод connect класса TcpClient

Connect(sServerName, 110);

sResult = Response();

//проверка ответа

if (sResult.Substring(0, 3) != "+OK")

throw new POPException(sResult);

//отправляем имя пользователя

sMessages = "USER " + sUserName + "\r\n";

Write(sMessages);

sResult = Response();

//проверка ответа

if (sResult.Substring(0, 3) != "+OK")

throw new POPException(sResult);

//отправляем пароль

sMessages = "PASS " + sPassword + "\r\n";

Write(sMessages);

sResult = Response();

//проверка ответа

if (sResult.Substring(0, 3) != "+OK")

throw new POPException(sResult);

}

public void DisconnectPOP() //отсоединение от POP сервера

{

string sMessage;

string sResult;

sMessage = "QUIT\r\n";

Write(sMessage);

sResult = Response();

//проверка ответа

if (sResult.Substring(0, 3) != "+OK")

throw new POPException(sResult);

}

public ArrayList ListMessages() //получение списка сообщений с сервера

{

string sMessage;

string sResult;

ArrayList returnValue = new ArrayList();

sMessage = "LIST\r\n";

Write(sMessage);

sResult = Response();

//проверка ответа

if (sResult.Substring(0, 3) != "+OK")

throw new POPException(sResult);

while (true)

{

sResult = Response();

if (sResult == ".\r\n")

{

// Program.MainForm.Add(returnValue);

return returnValue;

}

else

{

POP3EmailMessage oMailMessage = new POP3EmailMessage();

//Определяем разделитель

char[] sep = { ' ' };

//используем метод Split, чтобы разбить массив

string[] values = sResult.Split(sep);

//Помещаем данные в объект OMailMessage

long count=Int32.Parse(values[0]);

// ToString(count);

// Program.MainForm.Add(rv);

oMailMessage.msgNumber = Int32.Parse(values[0]);

oMailMessage.msgSize = Int32.Parse(values[1]);

oMailMessage.msgReceived = false;

returnValue.Add(oMailMessage);

continue;

}

}

}

public POP3EmailMessage RetriveMessage(POP3EmailMessage msgRETR) //доставка сообщений с POP сервера

{

string sMessage;

string sResult;

POP3EmailMessage oMailMessage = new POP3EmailMessage();

oMailMessage.msgNumber = msgRETR.msgNumber;

oMailMessage.msgSize = msgRETR.msgSize;

//для получения соответсвующего сообщения посылаем RETR

sMessage = "RETR " + msgRETR.msgNumber + "\r\n";

Write(sMessage);

sResult = Response();

if (sResult.Substring(0, 3) != "+OK")

throw new POPException(sResult);

//поскольку сообщение получено устанавливаем во флаге true

oMailMessage.msgReceived = true;

while (true)

{

sResult = Response();

if (sResult == ".\r\n")

break;

else

oMailMessage.msgContent += sResult;

}

string content = oMailMessage.msgContent;

return oMailMessage;

}

public void DeleteMessage(POP3EmailMessage msgDELE) //удаление сообщений с POP сервера

{

string sMessage;

string sResult;

sMessage = "DELE" + msgDELE.msgNumber + "\r\n";

Write(sMessage);

sResult = Response();

if (sResult.Substring(0, 3) != "+OK")

throw new POPException(sResult);

}

private void Write(string sMessage)

{//используется для перекодирования данных

System.Text.ASCIIEncoding oEncodeData = new System.Text.ASCIIEncoding();

//теперь пересылаем сообщение в буфер для отправки в сетевой поток TCP

byte[] WriteBuffer = new byte[1024];

WriteBuffer = oEncodeData.GetBytes(sMessage);

//выводим содержимое буффера в поток TCP

NetworkStream NetStream = GetStream();

NetStream.Write(WriteBuffer, 0, WriteBuffer.Length);

}

private string Response() //перекодировка сообщений

{

System.Text.ASCIIEncoding oEncodedData = new System.Text.ASCIIEncoding();

byte[] ServerBuffer = new Byte[1024];

NetworkStream NetStream = GetStream();

int count = 0;

while (true)

{

byte[] buff = new Byte[2];

int bytes = NetStream.Read(buff, 0, 1);

if (bytes == 1)

{

ServerBuffer[count] = buff[0];

count++;

if (buff[0] == '\n')

break;

}

else break;

}

string ReturnValue = oEncodedData.GetString(ServerBuffer, 0, count);

return ReturnValue;

}

}

}

}

FormSettings.cs

namespace Mail_client

{

public partial class FormSettings : Form

{

private string dir1;

public FormSettings()

{

InitializeComponent();

dir1=Directory.GetCurrentDirectory();

LoadProfile();

}

public string LoadProfile() //считывание файла профиля

{

FileStream fs = new FileStream(dir1+ "\\messages\\profile\\porfile.txt",

FileMode.Open, FileAccess.Read);

StreamReader sr = new StreamReader(fs);

string CurLine;

int i = 0;

while

((CurLine = sr.ReadLine()) != null)

{

i++;

if (i == 1)

{

Form1.countMes = Convert.ToInt32(CurLine);

}

if (i == 2)

{

POP3.Text = CurLine;

Form1.sServerName = CurLine;

}

if (i == 3)

{

UserName.Text = CurLine;

Form1.sUserName = CurLine;

}

if (i == 4)

{

Pass.Text = CurLine;

Form1.sPassword = CurLine;

}

if (i == 5)

{

SMTP.Text = CurLine;

Form1.SMTPserver = CurLine;

}

}

fs.Close();

sr.Close();

return CurLine;

}

public void EditProfile() // изменение профиля почтового ящика

{

StreamWriter sw = new StreamWriter(dir1+ "\\messages\\profile\\porfile.txt"); //сохраняем данные почтового ящика

{

sw.WriteLine(Form1.countMes.ToString());

sw.WriteLine(POP3.Text);

sw.WriteLine(UserName.Text);

sw.WriteLine(Pass.Text);

sw.WriteLine(SMTP.Text);

}

// FileStream myStream = File.Create("F:\\messages\\profile\\porfile.txt");

string str = Form1.countMes.ToString();

sw.Close();

}

private void Cancel_Click(object sender, EventArgs e) //отмена

{

this.Hide();

}

private void FormSettings_FormClosing(object sender, FormClosingEventArgs e) //при закрытии формы

{ //отменятся все изменения и форма скрывается

e.Cancel = true;

this.Hide();

}

private void Save_Click_1(object sender, EventArgs e) //сохранение профиля

{

EditProfile();

}

private void Ok_Click(object sender, EventArgs e) //при нажатии клавиши Ок сохраняется профиль

{//и форма сворачивается

EditProfile();

this.Hide();

}

}

}


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

  • Создание программы, реализующей игру "Линии". Среда разработки программы, описание ее общего вида. Основные алгоритмы программы. Реализация программы в среде разработки Microsoft Visual Studio 2008 на языке объектно-ориентированного программирования С++.

    курсовая работа [639,0 K], добавлен 16.03.2012

  • Техника создания графики при помощи API функций, экспортируемых библиотекой GDI32.DLL. Разработка на языке программирования С++ в среде программирования Microsoft Visual C++ программы для отображения часов реального времени в цифровом и аналоговом виде.

    курсовая работа [2,8 M], добавлен 27.01.2010

  • Создание программы с использованием принципов объектно-ориентированного программирования на языке высокого уровня С# средствами Microsoft Visual Studio 2010. Построение алгоритма реализации. Определение математического аппарата, применение его в задаче.

    курсовая работа [500,4 K], добавлен 13.01.2015

  • Разработка на языке программирования C# в среде Microsoft Visual Studio 2010 на базе Microsoft NET Framework 4 (4.5) программного средства, реализующего компилятор модельного языка программирования. Лексический, синтаксический и семантический анализатор.

    курсовая работа [1,3 M], добавлен 24.06.2013

  • Разработка учебного транслятора на языке программирования C# в среде объектно-ориентированного программирования Visual Studio 2012. Выделение лексем и построение цепочки символов на этапе синтаксического анализа. Функциональное тестирование программы.

    курсовая работа [406,8 K], добавлен 07.08.2013

  • Разработка игры "Угадай персонажа", ее суть и содержание. Запоминание новых персонажей и вопросов, коррекция базы данных. Использование языка программирования С++ и среды разработки Microsoft Visual Studio 2010. Алгоритмы и методы, структура программы.

    курсовая работа [571,9 K], добавлен 14.07.2012

  • Создание приложения Windows Forms в среде Microsoft Visual Studio 2008. Разработка программы "Курсовой" для организации работы по учёту курсовых работ в учебных заведениях с возможностью добавления, удаления, редактирования и поиска информации.

    курсовая работа [2,2 M], добавлен 28.06.2011

  • Обзор существующего программного обеспечения. Структура и отличительные особенности формата MP3. Сокеты TCP/IP, клиент-сервер. Язык программирования Visual Basic.net в среде разработки Visual Studio 2008. Разработка приложения "MP3_Catalogizator".

    дипломная работа [2,1 M], добавлен 09.02.2015

  • Изучение принципов построения линейных алгоритмов и простых расчетных программ на языке программирования C. Разработка программы расчета математических выражений на основе вводимых данных. Создание консольных приложений в среде Microsoft Visual Studio.

    лабораторная работа [254,4 K], добавлен 23.11.2014

  • Microsoft Visual C++ и среда программирования Microsoft Developer Studio 6.0. Решение интеллектуальной задачи на компьютере. Построение алгоритма кодирования на Visual C++. Алгоритм решения задачи. Описание программы "Sort". Инструкции пользователя.

    курсовая работа [46,0 K], добавлен 27.11.2007

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