Автор: Пользователь скрыл имя, 04 Февраля 2015 в 14:35, курсовая работа
Цель работы: разработать приложение для ОС Windows на языке C# с графическим интерфейсом пользователя (GUI). Научиться использовать среду разработки Microsoft Visual C# Еxprеss Еdition 2010 для построения Windows-приложений.
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::
this->smtptxt->
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::
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::
this->password->
this->password->ImeMode = System::Windows::Forms::
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"
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)";
//
//
this->email->DropDownStyle = System::Windows::Forms::
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"
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"
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->
this->sendmail->Click += gcnew System::EventHandler(this, &Form1::sendmail_Click);
//
// ButtonSave
//
this->ButtonSave->Font = (gcnew System::Drawing::Font(L"
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->
this->ButtonSave->Click += gcnew System::EventHandler(this, &Form1::ButtonSave_Click);
//
// labeltextsubject
//
this->labeltextsubject->
this->labeltextsubject->Font = (gcnew System::Drawing::Font(L"
static_cast<System::Byte>(204)
this->labeltextsubject->
this->labeltextsubject->Name = L"labeltextsubject";
this->labeltextsubject->Size = System::Drawing::Size(103, 16);
this->labeltextsubject->
this->labeltextsubject->Text = L"Тема письма";
//
// textsubject
//
this->textsubject->
this->textsubject->
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::
this->ClientSize = System::Drawing::Size(752, 486);
this->Controls->Add(this->
this->Controls->Add(this->
this->Controls->Add(this->
this->Controls->Add(this->
this->Controls->Add(this->
this->Controls->Add(this->
this->Controls->Add(this->
this->Controls->Add(this->
this->Controls->Add(this->
this->Controls->Add(this->
this->Controls->Add(this->
this->Controls->Add(this->
this->Controls->Add(this->
this->Controls->Add(this->
this->Controls->Add(this->
this->Controls->Add(this->
this->Name = L"Form1";
this->Text = L"Курсовая работа. Вариант 26-28.";
this->Load += gcnew System::EventHandler(this, &Form1::Form1_Load);
(cli::safe_cast<System::
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-
smtp->EnableSsl = true;
// Send the email
smtp->Send(mail);
}
// ==============================
// === Обработчик события нажатия на кнопку "Сохранить"
// === Сохраняет таблицу в файл "tabl.xml"
private: System::Void ButtonSave_Click(System::
// Сохранить файл tabl.xml
ТаблицаДанных->TableName = "Адреса e-mail";
НаборДанных->WriteXml("tabl.
}
// ==============================
// === Обработчик загрузки (открытия) формы
// === Загружает таблицу из файла "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("
ТаблицаДанных->Columns->Add("
ТаблицаДанных->Columns->Add("
ТаблицаДанных->Columns->Add("
ТаблицаДанных->Columns->Add("
ТаблицаДанных->Columns->Add("
// Добавить ТаблицуДанных в НаборДанных
НаборДанных->Tables->Add(
}
else // если xml-файл существует
{
НаборДанных->ReadXml("tabl.
dataGridViewmails->DataMember = "Адреса e-mail";
dataGridViewmails->DataSource = НаборДанных;
}
}
// ==============================
// === Обработчик события нажатия на кнопку "Отправить"
// === Отправляет отмеченным получателям сообщения из поля "textmessage" ("Сообщение")
// === с темой из поля "textsubject" ("Тема письма")
private: System::Void sendmail_Click(System::Object^
int n,i;
n = dataGridViewmails->Rows->
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
Университет машиностроения |
Лист | |||||
Изм |
Лист |
№ докум. |
Подп. |
Дата |
Информация о работе Разработка функциональной возможности добавления сопровождающей информации