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

Автор: Пользователь скрыл имя, 04 Февраля 2015 в 14:35, курсовая работа

Краткое описание

Цель работы: разработать приложение для ОС Windows на языке C# с графическим интерфейсом пользователя (GUI). Научиться использовать среду разработки Microsoft Visual C# Еxprеss Еdition 2010 для построения Windows-приложений.

Файлы: 1 файл

it2.docx

— 167.01 Кб (Скачать)

this->labelpassword->Name = L"labelpassword";

this->labelpassword->Size = System::Drawing::Size(63, 16);

this->labelpassword->TabIndex = 2;

this->labelpassword->Text = L"Пароль";

//

// smtptxt

//

this->smtptxt->DropDownStyle = System::Windows::Forms::ComboBoxStyle::Simple;

this->smtptxt->FormattingEnabled = true;

this->smtptxt->Location = System::Drawing::Point(86, 47);

this->smtptxt->Name = L"smtptxt";

this->smtptxt->Size = System::Drawing::Size(135, 21);

this->smtptxt->TabIndex = 2;

//

// login

//

this->login->DropDownStyle = System::Windows::Forms::ComboBoxStyle::Simple;

this->login->FormattingEnabled = true;

this->login->Location = System::Drawing::Point(285, 47);

this->login->Name = L"login";

this->login->Size = System::Drawing::Size(173, 21);

this->login->TabIndex = 3;

//

// password

//

this->password->DropDownStyle = System::Windows::Forms::ComboBoxStyle::Simple;

this->password->FormattingEnabled = true;

this->password->ImeMode = System::Windows::Forms::ImeMode::NoControl;

this->password->Location = System::Drawing::Point(556, 48);

this->password->Name = L"password";

this->password->Size = System::Drawing::Size(183, 21);

this->password->TabIndex = 4;

//

// labelmail

//

this->labelmail->AutoSize = true;

this->labelmail->Font = (gcnew System::Drawing::Font(L"Microsoft Sans Serif", 9.75F, System::Drawing::FontStyle::Bold, System::Drawing::GraphicsUnit::Point,

static_cast<System::Byte>(204)));

this->labelmail->Location = System::Drawing::Point(383, 12);

this->labelmail->Name = L"labelmail";

this->labelmail->Size = System::Drawing::Size(167, 16);

this->labelmail->TabIndex = 2;

this->labelmail->Text = L"Отправитель ( e-mail)";

//

// email

//

this->email->DropDownStyle = System::Windows::Forms::ComboBoxStyle::Simple;

this->email->FormattingEnabled = true;

this->email->Location = System::Drawing::Point(556, 12);

this->email->Name = L"email";

this->email->Size = System::Drawing::Size(183, 21);

this->email->TabIndex = 1;

//

// labelmessage

//

this->labelmessage->Font = (gcnew System::Drawing::Font(L"Microsoft Sans Serif", 10, System::Drawing::FontStyle::Bold, System::Drawing::GraphicsUnit::Point,

static_cast<System::Byte>(204)));

this->labelmessage->Location = System::Drawing::Point(5, 360);

this->labelmessage->Name = L"labelmessage";

this->labelmessage->Size = System::Drawing::Size(735, 22);

this->labelmessage->TabIndex = 0;

this->labelmessage->Text = L"Сообщение:";

//

// textmessage

//

this->textmessage->Location = System::Drawing::Point(8, 385);

this->textmessage->MinimumSize = System::Drawing::Size(50, 50);

this->textmessage->Multiline = true;

this->textmessage->Name = L"textmessage";

this->textmessage->Size = System::Drawing::Size(731, 60);

this->textmessage->TabIndex = 7;

//

// sendmail

//

this->sendmail->Font = (gcnew System::Drawing::Font(L"Microsoft Sans Serif", 9.75F, System::Drawing::FontStyle::Bold, System::Drawing::GraphicsUnit::Point,

static_cast<System::Byte>(204)));

this->sendmail->Location = System::Drawing::Point(547, 451);

this->sendmail->Name = L"sendmail";

this->sendmail->Size = System::Drawing::Size(193, 23);

this->sendmail->TabIndex = 8;

this->sendmail->Text = L"Отправить";

this->sendmail->UseVisualStyleBackColor = true;

this->sendmail->Click += gcnew System::EventHandler(this, &Form1::sendmail_Click);

//

// ButtonSave

//

this->ButtonSave->Font = (gcnew System::Drawing::Font(L"Microsoft Sans Serif", 9.75F, System::Drawing::FontStyle::Bold, System::Drawing::GraphicsUnit::Point,

static_cast<System::Byte>(204)));

this->ButtonSave->Location = System::Drawing::Point(362, 451);

this->ButtonSave->Name = L"ButtonSave";

this->ButtonSave->Size = System::Drawing::Size(178, 23);

this->ButtonSave->TabIndex = 9;

this->ButtonSave->Text = L"Сохранить";

this->ButtonSave->UseVisualStyleBackColor = true;

this->ButtonSave->Click += gcnew System::EventHandler(this, &Form1::ButtonSave_Click);

//

// labeltextsubject

//

this->labeltextsubject->AutoSize = true;

this->labeltextsubject->Font = (gcnew System::Drawing::Font(L"Microsoft Sans Serif", 9.75F, System::Drawing::FontStyle::Bold, System::Drawing::GraphicsUnit::Point,

static_cast<System::Byte>(204)));

this->labeltextsubject->Location = System::Drawing::Point(5, 338);

this->labeltextsubject->Name = L"labeltextsubject";

this->labeltextsubject->Size = System::Drawing::Size(103, 16);

this->labeltextsubject->TabIndex = 2;

this->labeltextsubject->Text = L"Тема письма";

//

// textsubject

//

this->textsubject->DropDownStyle = System::Windows::Forms::ComboBoxStyle::Simple;

this->textsubject->FormattingEnabled = true;

this->textsubject->Location = System::Drawing::Point(114, 338);

this->textsubject->Name = L"textsubject";

this->textsubject->Size = System::Drawing::Size(625, 21);

this->textsubject->TabIndex = 6;

//

// Form1

//

this->AutoScaleDimensions = System::Drawing::SizeF(6, 13);

this->AutoScaleMode = System::Windows::Forms::AutoScaleMode::Font;

this->ClientSize = System::Drawing::Size(752, 486);

this->Controls->Add(this->ButtonSave);

this->Controls->Add(this->sendmail);

this->Controls->Add(this->textmessage);

this->Controls->Add(this->password);

this->Controls->Add(this->login);

this->Controls->Add(this->textsubject);

this->Controls->Add(this->smtptxt);

this->Controls->Add(this->email);

this->Controls->Add(this->labelpassword);

this->Controls->Add(this->labellogin);

this->Controls->Add(this->labeltextsubject);

this->Controls->Add(this->labelsmtp);

this->Controls->Add(this->labelmail);

this->Controls->Add(this->dataGridViewmails);

this->Controls->Add(this->labelmessage);

this->Controls->Add(this->labeladdr);

this->Name = L"Form1";

this->Text = L"Курсовая работа. Вариант 26-28.";

this->Load += gcnew System::EventHandler(this, &Form1::Form1_Load);

(cli::safe_cast<System::ComponentModel::ISupportInitialize^  >(this->dataGridViewmails))->EndInit();

this->ResumeLayout(false);

this->PerformLayout();

 

}

#pragma endregion

 

// -------------------------------------------------------------------------------------------------

// ------ Программа организации  e-mail рассылки по базе данных

// --- Данные вводятся в  табличную часть и сохраняются  по кнопке "Сохранить" XML-файле (tabl.xml)

// --- Для отмеченных строк  осуществляется e-mail рассылка по кнопке "Отправить"

// *** ВНИМАНИЕ!!! Проверка корректности  ввода данных в таблицу не  проводится!!!

 

DataTable ^ ТаблицаДанных; // таблица с адресами и доплнительной информацией

DataSet ^ НаборДанных;  // база-данных (хранилище)

 

 

// ==========================================================================================

// === Осуществляет отправку  по адресу "To" сообщения с темой "Subject" и содержимым "Body"

// === содержимое может быть  в формате HTML

private: System::Void SendMail(String^ To, String^ Subject, String^ Body) {

MailMessage^ mail = gcnew MailMessage();

mail->To->Add(To);

mail->From = gcnew MailAddress(this->email->Text);

mail->Subject = Subject;

mail->Body = Body;

mail->IsBodyHtml = true;

 // Configure the SMTP client

SmtpClient^ smtp = gcnew SmtpClient();

smtp->Host = this->smtptxt->Text;

smtp->Credentials = gcnew NetworkCredential(this->login->Text, this->password->Text);

smtp->EnableSsl = true;

 // Send the email

smtp->Send(mail);

}

 

// ================================================================================

// === Обработчик события  нажатия на кнопку "Сохранить"

// === Сохраняет таблицу  в файл "tabl.xml"

private: System::Void ButtonSave_Click(System::Object^  sender, System::EventArgs^  e) {

 // Сохранить файл tabl.xml

 ТаблицаДанных->TableName = "Адреса e-mail";

 НаборДанных->WriteXml("tabl.xml");

}

 

// ================================================================================

// === Обработчик загрузки (открытия) формы

// === Загружает таблицу  из файла "tabl.xml" или создает пустую таблицу

private: System::Void Form1_Load(System::Object^  sender, System::EventArgs^  e) {

 ТаблицаДанных = gcnew DataTable();

 НаборДанных = gcnew DataSet();

 if (IO::File::Exists("tabl.xml") == false)

{

 // Если xml-файла нет;

dataGridViewmails->DataSource = ТаблицаДанных;

 // Заполнение "шапки" таблицы

 ТаблицаДанных->Columns->Add("E-mail");

 ТаблицаДанных->Columns->Add("Компания");

 ТаблицаДанных->Columns->Add("Сфера деятельности");

 ТаблицаДанных->Columns->Add("Телефон");

 ТаблицаДанных->Columns->Add("Имя");

 ТаблицаДанных->Columns->Add("Комментарий");

 // Добавить ТаблицуДанных в НаборДанных

 НаборДанных->Tables->Add(ТаблицаДанных);

}

 else // если xml-файл существует

{

 НаборДанных->ReadXml("tabl.xml");

 dataGridViewmails->DataMember = "Адреса e-mail";

 dataGridViewmails->DataSource = НаборДанных;

}

}

 

// ================================================================================

// === Обработчик события  нажатия на кнопку "Отправить"

// === Отправляет отмеченным  получателям сообщения из поля "textmessage" ("Сообщение")

// === с темой из поля "textsubject" ("Тема письма")

private: System::Void sendmail_Click(System::Object^  sender, System::EventArgs^  e) {

int n,i;

n = dataGridViewmails->Rows->Count;

for (i=0; i<n-1; i++ ) {

if (dataGridViewmails[0, i]->Value) {

String ^ To = dataGridViewmails[1, i]->Value->ToString();

String ^ Subject = this->textsubject->Text;

String ^ Body = this->textmessage->Text;

SendMail(To, Subject, Body);

}

}

}

};

}

 

 

 

Рисунок 1 - Конструктор

 

 

 

Рисунок 2 – ReadMe.txt – обзор проекта

 

 

Рисунок 3 – работающая программа

 

 

 

Рисунок 4 – результат после нажатия кнопки «Отправить»

 

 

Рисунок 5 - результат после нажатия кнопки «Сохранить»

 

Вывод: я разработала и отладила приложение для ОС Windows на языке C++ с графическим интерфейсом пользователя (GUI). Приложение для отправки писем на электронную почту, а так же для сохранения дополнительной информации о получателе (компания, сфера деятельности телефон…).

 

 

 

 

 

 

 

 

Список литературы:

 

1. Подбельский В. В. Программирование  на языке Си / В. В. Подбельский, С. С. Фомин. - М.: Финансы и статистика, 2001 г. – 600 с.

2. Березин Б. И. Начальный курс  С и С++ / Б. И. Березин, С. Б. Березин. - М.: Диалог-МИФИ, 2001 г. – 288 с.

3. Мартынов Н. Н. (все серии для  начинающих) (C/C++ и т.д.)

4. Керниган Б., Ритчи Д. Язык программирования  Си. / Пер. с англ.. - М.: Финанасы и  статистика, 1985. – 279 с.

5. Дейтел Х.М., Дейтел П.Ж. Как  программировать на C/C++.

6. Герберт Шилдт. С++: Базовый курс, 3 издание.: Пер. с анг. М.: Издательский  дом «Вильямс», 2010. – 624 с.: ил. – Парал. тит. англ., ISBN 978-5-8459-0768-4 (рус);

7. C/C++. Программирование на языке высокого уровня / Т. А. Павловская. — СПб.: Питер,2003.—461 с: ил. ISBN 5-94723-568-4

 

 

         

Университет машиностроения

Лист

           

Изм

Лист

№ докум.

Подп.

Дата


 

 


Информация о работе Разработка функциональной возможности добавления сопровождающей информации