- •Курсовой проект
- •Задание
- •Студент группы ит-091 Шелковников Максим Юрьевич
- •Руководитель ___________________________ е.Н.Кордюкова
- •7) 6 Элементов типа ToolStripButton как на рисунке 13. Изображения на эти ссылки добавляем при помощи команды Set image как на рисунке 14.
- •Описано в пункте алгоритм работы программы
- •5.5 Информационное обеспечение
- •5.6 Организационное обеспечение
- •Список литературы
5.5 Информационное обеспечение
Информационное обеспечение – базы данных (информационные массивы) представлены в виде файлов.
5.6 Организационное обеспечение
Организационное обеспечение – представлено набором файлов, хранящих информацию.
5.7 Методическое обеспечение
5.7.1 Руководство пользователя
Запустите файл ехе, который находится на диск в каталоге WindowsFormsApplication1 \ bin \ Debug \ WindowsFormsApplication1.exe . Открылось окно программы. В ней мы видим список предметов, при нажатии на которые справа в окне откроется содержимое интересующего нас объекта. Для добавление, удаление, копирование файла нужно нажать в программе соответствующие кнопки. Для вызова справки выберите меню справка.
5.7.2 Руководство программиста
Описано в пункте 4.4
Заключение
В результате курсового проекта было создано приложение, позволяющее студентам получать знания по разным предметам.
Для создания курсового проекта использовался C# – новый язык программирования компании Microsoft, входящий в Visual Studio .Net (v.7).Он является одним из важнейших компонентов новой стратегической платформы Microsoft.NET, ориентированной на современные технологии Интернета. Изучая язык С#, мы закладываем фундамент своей успешной деятельности в области создания современных приложений с применением технологий компании Microsoft.
Проведя анализ теоретических сведений и создание алгоритмов решения задач, рассмотрев основные моменты создания windows приложений, мною была написана программа на языке С#, реализующая модель алгоритма обучающей программы.
Выделение и объединение лучших идей современных языков программирования делает язык C# не просто суммой их достоинств, а языком программирования нового поколения.
Список литературы
1. Фролов А.В., Фролов Г.В. Язык С# самоучитель/ ISBN 86404-176-9,2003 – 560с
2. Герберт Шилдт. C# 3.0: полное руководство = C# 3.0: The Complete Reference. — 4-е изд. — М.:Вильямс, 2009. — С. 992. — ISBN 978-5-8459-1565-
3. C# Объектно-ориентированный язык программирования: Проф. Забудский Е.И., Москва 2005
4. А.Стэкер, Т.Нортон Разработка клиентских Windows-приложений на платформе Microsoft.Net Framework./ Стэкер А., Нортон Т. – М.: Москва 2008-623с.
5. J.Bishop C# 3.0 Design Patterns./ Bishop J. – М.: O’Relay 2007-316с.
6. Дж.Бишоп, Н.Хорспул С# в кратком изложении./ Бишоп Дж., Хорспул Н. – М.: Москва 2005-467с.
7. Дж.Рихтер Программирование на платформе Microsoft .NET Framework./ Рихтер Дж. – М.: Москва 2003-512с.
8. В.В.Лабор Visual C# Создание приложений для Windows./Лабор В.В. – М.: Минск 2003-385с.
9. Электронный ресурс http://simple-cs.ru/
10. Электронный ресурс www.intuit.ru
ПРИЛОЖЕНИЕ А
Листинг программы.
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.IO;
namespace WindowsFormsApplication6
{
public partial class Form1 : Form
{
public bool flag = true, flag1 = true;
Timer timer; // системный таймер
string path, nam;
int f = 0; //для определения числа добавленных предметов (их число считывается из файла file.txt
StreamReader sr; //переменная для считывания информации из файла
public Form1()
{
InitializeComponent();
строкаСостоянияToolStripMenuItem.Checked = true; //по-умолчанию показана строка состояния
паToolStripMenuItem.Checked = true; //по-умолчанию показана панель инструментов
toolStripStatusLabel2.Text = "Дата: " + Convert.ToString(System.DateTime.Today.ToLongDateString()); //выводит информацию в строку состояния
path = Application.StartupPath; //запись пути к исполняемому файлу (без имени мамого файла) в переменную path
Createlabel(); //определяет видимость добавляемых label
}
public void Createlabel()
{
f = 0;
try
{
sr = new StreamReader(Application.StartupPath + "/file.txt");
while (sr.ReadLine() != null)
{
f++; //определение числа предметов
}
sr.Close(); // после каждой операции считывания или записи в файл, файл должен быть закрыт для сохранения изменений
sr = new StreamReader(Application.StartupPath + "/file.txt"); //открытие файла
//определение факта, есть ли добавленные предметы и их отображение на форме
if (f == 0)
{
sr.Close();
}
if (f == 1)
{
label7.Text = sr.ReadLine();
label7.Visible = true;
sr.Close();
}
if (f == 2)
{
label7.Text = sr.ReadLine();
label7.Visible = true;
label8.Text = sr.ReadLine();
label8.Visible = true;
sr.Close();
}
if (f == 3)
{
label7.Text = sr.ReadLine();
label7.Visible = true;
label8.Text = sr.ReadLine();
label8.Visible = true;
label9.Text = sr.ReadLine();
label9.Visible = true;
sr.Close();
}
if (f == 4)
{
label7.Text = sr.ReadLine();
label7.Visible = true;
label8.Text = sr.ReadLine();
label8.Visible = true;
label9.Text = sr.ReadLine();
label9.Visible = true;
label10.Text = sr.ReadLine();
label10.Visible = true;
}
if (f == 5)
{
label7.Text = sr.ReadLine();
label7.Visible = true;
label8.Text = sr.ReadLine();
label8.Visible = true;
label9.Text = sr.ReadLine();
label9.Visible = true;
label10.Text = sr.ReadLine();
label10.Visible = true;
label11.Text = sr.ReadLine();
label11.Visible = true;
}
}
catch
{
MessageBox.Show("Ошибка!!!");
}
}
private void выходToolStripMenuItem_Click(object sender, EventArgs e)
{
Close();
}
private void оПрограммеToolStripMenuItem_Click(object sender, EventArgs e)
{
AboutBox1 form = new AboutBox1();
form.ShowDialog();
}
private void Form1_Activated(object sender, EventArgs e) // что происходит при активации формы
{
try
{
timer = new Timer(); //создане объекта Timer
timer.Enabled = true;
timer.Tick += new EventHandler(timer_Tick); //обработчик события для таймера
}
catch
{
return;
}
}
void timer_Tick(object sender, EventArgs e)
{
toolStripStatusLabel1.Text = "Время: " + Convert.ToString(System.DateTime.Now.ToLongTimeString()); //обновление времени в строке состояния
}
private void Form1_Deactivate(object sender, EventArgs e) //при деактивации формы
{
timer.Stop();
}
//работа с предустановленными предметами, при этом происходит загрузка файла, находящегося в папке с исполняемым файлом в richTextBox, в случае ошибки на экран будет выведено соответствующее сообщение
private void label1_Click(object sender, EventArgs e)
{
try
{
richTextBox1.LoadFile(path + "/Теория вероятностей.rtf"); //загрузка файла в richTextBox
}
catch
{
MessageBox.Show("Ошибка загрузки файла");
}
}
private void label2_Click(object sender, EventArgs e)
{
try
{
richTextBox1.LoadFile(path + "/Дискретная математика.rtf");
}
catch
{
MessageBox.Show("Ошибка загрузки файла");
}
}
private void label3_Click(object sender, EventArgs e)
{
try
{
richTextBox1.LoadFile(path + "/Математический анализ.rtf");
}
catch
{
MessageBox.Show("Ошибка загрузки файла");
}
}
private void label5_Click(object sender, EventArgs e)
{
try
{
richTextBox1.LoadFile(path + "/Алгебра и геометрия.rtf");
}
catch
{
MessageBox.Show("Ошибка загрузки файла");
}
}
private void label6_Click(object sender, EventArgs e)
{
try
{
richTextBox1.LoadFile(path + "/Физика.rtf");
}
catch
{
MessageBox.Show("Ошибка загрузки файла");
}
}
//открытие файлов связанных с добавляемыми предметами (всего можно добавить 5 предметов)
private void label7_Click(object sender, EventArgs e)
{
try
{
StreamReader sr = new StreamReader(Application.StartupPath + "/file.txt");
nam = sr.ReadLine(); //переменная nam считывает имя предмета из файла file.txt
richTextBox1.LoadFile(Application.StartupPath + "/" + nam + ".rtf");
sr.Close();
}
catch
{
MessageBox.Show("Ошибка загрузки файла");
}
}
private void label8_Click(object sender, EventArgs e)
{
try
{
StreamReader sr = new StreamReader(Application.StartupPath + "/file.txt");
sr.ReadLine();
nam = sr.ReadLine();
richTextBox1.LoadFile(Application.StartupPath + "/" + nam + ".rtf");
sr.Close();
}
catch
{
MessageBox.Show("Ошибка загрузки файла");
}
}
private void label9_Click(object sender, EventArgs e)
{
try
{
StreamReader sr = new StreamReader(Application.StartupPath + "/file.txt");
sr.ReadLine();
sr.ReadLine();
nam = sr.ReadLine();
richTextBox1.LoadFile(Application.StartupPath + "/" + nam + ".rtf");
sr.Close();
}
catch
{
MessageBox.Show("Ошибка загрузки файла");
}
}
private void label10_Click(object sender, EventArgs e)
{
try
{
StreamReader sr = new StreamReader(Application.StartupPath + "/file.txt");
sr.ReadLine();
sr.ReadLine();
sr.ReadLine();
nam = sr.ReadLine();
richTextBox1.LoadFile(Application.StartupPath + "/" + nam + ".rtf");
sr.Close();
}
catch
{
MessageBox.Show("Ошибка загрузки файла");
}
}
private void label11_Click(object sender, EventArgs e)
{
try
{
StreamReader sr = new StreamReader(Application.StartupPath + "/file.txt");
sr.ReadLine();
sr.ReadLine();
sr.ReadLine();
sr.ReadLine();
nam = sr.ReadLine();
richTextBox1.LoadFile(Application.StartupPath + "/" + nam + ".rtf");
sr.Close();
}
catch
{
MessageBox.Show("Ошибка загрузки файла");
}
}
private void открытьToolStripMenuItem_Click(object sender, EventArgs e) //диалоговое окно открытия файла
{
try
{
OpenFileDialog openFileDialog = new OpenFileDialog(); //создание нового экземпляра
openFileDialog1.FileName = ""; // поле Имя файла
openFileDialog1.InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.Desktop); //задает первоначальную папку для отображения
openFileDialog1.Filter = "Текстовые файлы(*.rtf)|*.rtf|Все файлы (*.*)|*.*"; //задает фильтр файлов
if (openFileDialog1.ShowDialog(this) == DialogResult.OK)
{
if (openFileDialog1.FileName == "") //если файл выбран, тогда...
{
return;
}
else
{
richTextBox1.Text = openFileDialog1.SafeFileName; //SafeFileName - возвращает имя и расширение выбранного файла
richTextBox1.LoadFile(openFileDialog1.FileName);
}
}
}
catch
{
return;
}
}
private void открытьToolStripButton_Click(object sender, EventArgs e) // кнопка открыть на панели инструментов, код такой же как и для диалогового окна
{
try
{
OpenFileDialog openFileDialog = new OpenFileDialog();
openFileDialog1.FileName = "";
openFileDialog1.InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.Desktop);
openFileDialog1.Filter = "Текстовые файлы(*.rtf)|*.rtf|Все файлы (*.*)|*.*";
if (openFileDialog1.ShowDialog(this) == DialogResult.OK)
{
if (openFileDialog1.FileName == "")
{
return;
}
else
{
richTextBox1.Text = openFileDialog1.SafeFileName;
richTextBox1.LoadFile(openFileDialog1.FileName);
}
}
}
catch
{
return;
}
}
private void выделитьВсеToolStripMenuItem_Click(object sender, EventArgs e)
{
richTextBox1.SelectAll();
}
private void очиститьОкноToolStripMenuItem_Click(object sender, EventArgs e)
{
richTextBox1.Text = "";
}
private void строкаСостоянияToolStripMenuItem_Click(object sender, EventArgs e) //показывает/скрывает строку состояния
{
if (flag == true)
{
statusStrip1.Visible = false; //скрывает
строкаСостоянияToolStripMenuItem.Checked = false;
flag = false;
}
else
{
statusStrip1.Visible = true; //показывает
строкаСостоянияToolStripMenuItem.Checked = true;
flag = true;
}
}
private void паToolStripMenuItem_Click(object sender, EventArgs e) //показывает/скрывает панель инструментов
{
if (flag1 == true)
{
toolStrip1.Visible = false;
паToolStripMenuItem.Checked = false;
flag1 = false;
}
else
{
toolStrip1.Visible = true;
паToolStripMenuItem.Checked = true;
flag1 = true;
}
}
private void опрограммеToolStripButton_Click(object sender, EventArgs e)
{
AboutBox1 form = new AboutBox1();
form.ShowDialog();
}
private void масштабированиеToolStripButton_Click(object sender, EventArgs e) //масштабирование текста
{
if (richTextBox1.Text != "")
{
try
{
Form2 form = new Form2();
form.ShowDialog();
richTextBox1.ZoomFactor = (float)form.i; //ZoomFactor определяет коэффициент отображения текста
}
catch
{
MessageBox.Show("Ошибка масштабирования!!!");
}
}
else
{
return;
}
}
private void копироватьToolStripButton_Click(object sender, EventArgs e)
{
Clipboard.SetText(richTextBox1.SelectedRtf, TextDataFormat.Rtf); //копирование в буфер обмена
}
private void копироватьToolStripMenuItem_Click(object sender, EventArgs e)
{
Clipboard.SetText(richTextBox1.SelectedRtf, TextDataFormat.Rtf);
}
private void выделитьВсеToolStripMenuItem1_Click(object sender, EventArgs e)
{
richTextBox1.SelectAll();
}
private void копироватьToolStripMenuItem1_Click(object sender, EventArgs e)
{
Clipboard.SetText(richTextBox1.SelectedRtf, TextDataFormat.Rtf);
}
private void очиститьОкноToolStripMenuItem1_Click(object sender, EventArgs e)
{
richTextBox1.Text = "";
}
private void добавитьпредметtoolStripButton_Click(object sender, EventArgs e) // кнопка добавить предмет
{
f = 0;
try
{
{
Добпредмет form = new Добпредмет(); //форма, в которой вводится название предмета
form.ShowDialog();
StreamReader sr = new StreamReader(Application.StartupPath + "/file.txt"); //определение числа уже добавленных предметов
while (sr.ReadLine() != null)
{
f++; //количество уже добавленных предметов
}
sr.Close();
StreamWriter sw = new StreamWriter(Application.StartupPath + "/file.txt", true); //запись имени предмета в файл
if (f < 6)
{
if (f == 0)
{
sw.WriteLine(form.name);
sw.Close();
label7.Text = form.name; //присваивает метке имя предмета
label7.Visible = true; //делает видимой метку
File.Copy(openFileDialog1.FileName, Application.StartupPath + "/" + form.name + ".rtf"); //копирует открытый файл в папку с исполняемым файлом
}
if (f == 1)
{
sw.WriteLine(form.name);
sw.Close();
label8.Text = form.name;
label8.Visible = true;
File.Copy(openFileDialog1.FileName, Application.StartupPath + "/" + form.name + ".rtf");
}
if (f == 2)
{
sw.WriteLine(form.name);
sw.Close();
label9.Text = form.name;
label9.Visible = true;
File.Copy(openFileDialog1.FileName, Application.StartupPath + "/" + form.name + ".rtf");
}
if (f == 3)
{
sw.WriteLine(form.name);
sw.Close();
label10.Text = form.name;
label10.Visible = true;
File.Copy(openFileDialog1.FileName, Application.StartupPath + "/" + form.name + ".rtf");
}
if (f == 4)
{
sw.WriteLine(form.name);
sw.Close();
label11.Text = form.name;
label11.Visible = true;
File.Copy(openFileDialog1.FileName, Application.StartupPath + "/" + form.name + ".rtf");
}
}
else
{
MessageBox.Show("Предмет добавить нельзя (можно было добавить только 5 предметов)");
}
}
}
catch
{
MessageBox.Show("Ошибка добавления!!!");
}
}
private void добавитьПредметToolStripMenuItem_Click(object sender, EventArgs e) //дублирующая кнопка
{
try
{
{
Добпредмет form = new Добпредмет();
form.ShowDialog();
StreamReader sr = new StreamReader(Application.StartupPath + "/file.txt");
while (sr.ReadLine() != null)
{
f++;
}
sr.Close();
StreamWriter sw = new StreamWriter(Application.StartupPath + "/file.txt", true);
if (f < 6)
{
if (f == 0)
{
sw.WriteLine(form.name);
sw.Close();
label7.Text = form.name;
label7.Visible = true;
File.Copy(openFileDialog1.FileName, Application.StartupPath + "/" + form.name + ".rtf");
}
if (f == 1)
{
sw.WriteLine(form.name);
sw.Close();
label8.Text = form.name;
label8.Visible = true;
File.Copy(openFileDialog1.FileName, Application.StartupPath + "/" + form.name + ".rtf");
}
if (f == 2)
{
sw.WriteLine(form.name);
sw.Close();
label9.Text = form.name;
label9.Visible = true;
File.Copy(openFileDialog1.FileName, Application.StartupPath + "/" + form.name + ".rtf");
}
if (f == 3)
{
sw.WriteLine(form.name);
sw.Close();
label10.Text = form.name;
label10.Visible = true;
File.Copy(openFileDialog1.FileName, Application.StartupPath + "/" + form.name + ".rtf");
}
if (f == 4)
{
sw.WriteLine(form.name);
sw.Close();
label11.Text = form.name;
label11.Visible = true;
File.Copy(openFileDialog1.FileName, Application.StartupPath + "/" + form.name + ".rtf");
}
}
else
{
MessageBox.Show("Предмет добавить нельзя (можно было добавить только 5 предметов)");
}
}
}
catch
{
MessageBox.Show("Ошибка добавления!!!");
}
}
private void удалитьпредметtoolStripButton_Click(object sender, EventArgs e) //кнопка удалить предмет
{
{
try
{
string str, sd = "";
StreamReader sr = new StreamReader(Application.StartupPath + "/file.txt");
StreamWriter sw = new StreamWriter(Application.StartupPath + "/delete.txt"); //файл для записи в него имени удаляемого предмета
for (int i = 0; i < (f + 1); i++)
{
str = sr.ReadLine();
if (str != null)
{
if (str != nam)
{
sw.WriteLine(str);
}
else
{
sd = str;
}
}
}
sr.Close();
sw.Close();
//удаление файла из папки, и удаление данноого предмета из файлов
File.Delete(Application.StartupPath + "/file.txt");
File.Delete(Application.StartupPath + "/" + sd + ".rtf");
File.Copy(Application.StartupPath + "/delete.txt", Application.StartupPath + "/file.txt");
label7.Visible = false;
label8.Visible = false;
label9.Visible = false;
label10.Visible = false;
label11.Visible = false;
Createlabel();
}
catch
{
return;
}
}
}
private void удалитьПредметToolStripMenuItem_Click(object sender, EventArgs e) //дублирующая кнопка
{
try
{
string str, sd = "";
StreamReader sr = new StreamReader(Application.StartupPath + "/file.txt");
StreamWriter sw = new StreamWriter(Application.StartupPath + "/delete.txt");
for (int i = 0; i < (f + 1); i++)
{
str = sr.ReadLine();
if (str != null)
{
if (str != nam)
{
sw.WriteLine(str);
}
else
{
sd = str;
}
}
}
sr.Close();
sw.Close();
File.Delete(Application.StartupPath + "/file.txt");
File.Delete(Application.StartupPath + "/" + sd + ".rtf");
File.Copy(Application.StartupPath + "/delete.txt", Application.StartupPath + "/file.txt");
label7.Visible = false;
label8.Visible = false;
label9.Visible = false;
label10.Visible = false;
label11.Visible = false;
Createlabel();
}
catch
{
return;
}
}
private void Form1_Load(object sender, EventArgs e)
{
}
private void label4_Click(object sender, EventArgs e)
{
}
private void menuStrip1_ItemClicked(object sender, ToolStripItemClickedEventArgs e)
{
}
}
}