Автор: Пользователь скрыл имя, 12 Апреля 2011 в 13:33, курсовая работа
Целью данного проекта является наглядное моделирование работы файловой системы FAT16, которая использовалась в MS-DOS 3.31.
ВВЕДЕНИЕ 3
1 ПОСТАНОВКА ЗАДАЧИ 4
1.1 ТЕОРЕТИЧЕСКОЕ ВВЕДЕНИЕ 4
1.2 ПОСТАНОВКА ЗАДАЧИ 7
2 ПРОЕКТИРОВАНИЕ 8
2.1 ВЫБОР ОПЕРАЦИОННОЙ СИСТЕМЫ 8
2.2 ВЫБОР ЯЗЫКА ПРОГРАММИРОВАНИЯ 8
2.3 ВЫБОР ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ ПРОМЕЖУТОЧНОГО УРОВНЯ 8
2.4 ВЫБОР ИНСТРУМЕНТАЛЬНЫХ СРЕДСТВ 8
3 РАЗРАБОТКА 9
3.1 ВЫБОР АРХИТЕКТУРЫ СИСТЕМЫ 9
3.2 ПОСТРОЕНИЕ ДИАГРАММ ПРЕЦЕДЕНТОВ И ПОСЛЕДОВАТЕЛЬНОСТИ 9
3.3 РАЗРАБОТКА ВАРИАНТОВ ИСПОЛЬЗОВАНИЯ 11
3.4 РАЗРАБОТКА ГРАФИЧЕСКОГО ИНТЕРФЕЙСА 13
3.5 РАЗРАБОТКА АРХИТЕКТУРЫ ПРИЛОЖЕНИЯ 14
3.6 РАЗРАБОТКА АЛГОРИТМОВ РАБОТЫ ПРОГРАММЫ 16
3.6.1 Метод FileCreate_Click класса Mainform. 17
3.6.2 Метод FileDelete_Click класса Mainform. 18
4 ТЕСТИРОВАНИЕ ПРОГРАММЫ 19
4.1 ТЕСТИРУЕМЫЕ ФУНКЦИИ 19
4.2 ТЕСТИРОВАНИЕ 19
5 РУКОВОДСТВО ОПЕРАТОРА 21
5.1 НАЗНАЧЕНИЕ ПРОГРАММЫ 21
5.2 ТЕХНИЧЕСКИЕ СРЕДСТВА ДЛЯ ЗАПУСКА ПРОГРАММЫ 21
5.3 РАБОТА С ПРОГРАММОЙ 21
ВЫВОДЫ 25
ПЕРЕЧЕНЬ ССЫЛОК 26
ПРИЛОЖЕНИЕ А 27
ПРИЛОЖЕНИЕ Б 31
}
}
}
Текст файла DeleteForm.cs:
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;
namespace fat
{
public partial class DeleteForm : Form
{
public DeleteForm()
{
InitializeComponent();
}
private void OKBut_Click(object sender, EventArgs e)
{
try
{
FileSystem.ToDelete = byte.Parse(NToDelTXT.Text);
NToDelTXT.Text = "";
this.Close();
}
catch
{
MessageBox.Show("Вы ввели неверное значение(номер файла задается одним числом, без пробелов, символов подчеркивания, точек и запятых). Попробуйте еще раз.", "Ошибка!", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
private void Ld(object sender, EventArgs e)
{
if (FileSystem.NumberOfFiles != 0)
{
label1.ForeColor = Color.Black;
label1.Text = "Введите номер файла(1-" + FileSystem.NumberOfFiles + "):";
OKBut.Enabled = true;
}
else
{
label1.ForeColor = Color.Red;
label1.Text = "Файлов нет!";
OKBut.Enabled = false;
}
}
}
}
Текст
файла Cluster.cs:
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.Threading;
namespace fat
{
public partial class Cluster : Form
{
int tmpVal;
public Cluster()
{
InitializeComponent();
}
private void OK_Click(object sender, EventArgs e)
{
try
{
tmpVal = int.Parse(textBox1.Text.
Graphics
Gr = Graphics.FromImage(FileSystem.
int tmpypos = (int)(tmpVal / 60);
int tmpxpos = (int)(tmpVal % 60) - 1;
if (tmpVal % 60 == 0) tmpxpos = 0;
Pen tmp = new Pen(Brushes.Blue,2);
Gr.DrawRectangle(tmp, 40 + 20 * tmpxpos, 40 + 20 * tmpypos, 20, 20);
label1.Text = "Номер кластера";
Gr.Dispose();
this.Close();
}
catch
{
MessageBox.Show("Вы ввели неверное значение(номер кластера задается одним числом, без пробелов, символов подчеркивания, точек и запятых). Попробуйте еще раз.", "Ошибка!", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
private void ld(object sender, EventArgs e)
{
label1.Text += "(1
- " + FileSystem.NumberOfClusters.
}
}
}
Текст файла FileSystem.cs:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Drawing;
namespace fat
{
public static class FileSystem
{
public static double PartitionSize;
public static int ClusterSize;
public static int NumberOfClusters;
public static double FreeSpace;
public static Bitmap Map;
public static int[] DecimalMap;
public static char[] BinaryMap;
public static string[] FileName;
public static string[] Date;
public static int[] FileSize;
public static int[] StartCluster;
public static int[] EndCluster;
public static int[] ClustOnFile;
public static byte NumberOfFiles = 0;
public static byte Cnt = 0;
public static int pointer;
public static byte ToDelete;
public static byte[] IsDeleted;
}
}