Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Курсовая ПО тп.doc
Скачиваний:
35
Добавлен:
07.09.2019
Размер:
2.42 Mб
Скачать

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)

{

}

}

}

52