Автор: Пользователь скрыл имя, 24 Февраля 2013 в 13:20, курсовая работа
Целью разработки проекта «Программный симулятор формирования каталога файлов» является создание программного приложения.
Основными функциями, которого будут являться: начальное формирование каталога файлов, вывод каталога файлов, удаление файлов, дата создания которых меньше заданной, выборку файла с наибольшим количеством обращений, поиск файлов по имени, по расширению.
Пояснительная записка состоит из шести разделов, содержащих необходимую информацию по организации эксплуатации программного приложения.
В первом разделе «Постановка задачи» раскрывается организационная сущность задачи, и круг задач, которые должна выполнять программа. Описывается задача, перечисляются основные функции программы. Строится информационная модель, отражающая сущности задачи, их свойства и взаимосвязи.
}
else
MessageBox.Show("Ошибка!\n Каталог уже существует");
}
}
private void SaveTree(TreeNode nd)
{
if (nd.Nodes.Count > 0)
{
if (nd.Parent != null) //элементы нулевого уровня, без родителя, заданы жёстко => сохранять не надо
{
ClassSaveTree cs = new ClassSaveTree(nd.Text, (ClassTag)nd.Tag, nd.Level, nd.Parent.Index);
listKategor.Add(cs);
}
for (int i = 0; i < nd.Nodes.Count; ++i)
SaveTree(nd.Nodes[i]);
}
else
{
if (nd.Parent != null) //элементы нулевого уровня, без родителя, заданы жёстко => сохранять не надо
{
ClassSaveTree cs = new ClassSaveTree(nd.Text, (ClassTag)nd.Tag, nd.Level, nd.Parent.Index);
listKategor.Add(cs);
}
}
}
private void saveTreeStructure()
{
listKategor.Clear();
SaveTree(treeView1.Nodes[0]);
try
{
FileInfo fi = new FileInfo("FileStructure.xml");
System.IO.TextWriter sw = fi.CreateText();
XmlTextWriter writer = new XmlTextWriter(sw);
writer.WriteStartElement("
writer.Formatting = Formatting.Indented;
for (int i = 0; i < listKategor.Count; i++)
{
writer.WriteStartElement("
writer.WriteElementString("
writer.WriteElementString("
writer.WriteElementString("
newTag = new ClassTag();
newTag = (ClassTag)listKategor[i].tag;
writer.WriteElementString("
writer.WriteElementString("
writer.WriteElementString("
writer.WriteElementString("
writer.WriteEndElement();
}
writer.WriteEndElement();
writer.Close();
sw.Close();
}
catch
{
return;
}
}
private void createFileToolStripMenuItem_
{
form2.form1 = this;
form2.label1.Text = "Cоздать новый файл:";
form2.ShowDialog();
if (DirName != "")
{
node = treeView1.SelectedNode;
DirNameCreate = false;
for (int i = 0; i < node.Nodes.Count; i++)
{
if (node.Nodes[i].Text == DirName)
{
oldTag = new ClassTag();
oldTag = (ClassTag)node.Nodes[i].Tag;
if (Convert.ToString(oldTag.tag) == "FILE")
DirNameCreate = true;
}
}
if (!DirNameCreate)
{
oldTag = new ClassTag();
oldTag = (ClassTag)node.Tag;
if (Convert.ToString(oldTag.tag) == "DIR")
{
TreeNode NewNode = new TreeNode();
NewNode.Text = DirName;
NewNode.ImageIndex = 1;
NewNode.SelectedImageIndex = 1;
newTag = new ClassTag();
newTag.tag = "FILE";
newTag.request = 0;
newTag.date = new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day, DateTime.Now.Hour, DateTime.Now.Minute, DateTime.Now.Second);
newTag.extencion = CopyExt(DirName);
NewNode.Tag = newTag;
node.Nodes.Add(NewNode);
saveTreeStructure();
}
else
MessageBox.Show("Ошибка!\n Файл не может быть создан");
}
else
MessageBox.Show("Ошибка!\n Файл уже существует");
}
}
private string CopyExt(string temp)
{
string Ext = "";
int i,j;
if (temp.LastIndexOf(".") > 0)
{
j = 0;
for (i = temp.LastIndexOf(".") + 1; i < temp.Length; i++)
{
Ext += temp[i];
j++;
}
}
return Ext;
}
private string CopyFileName(string temp)
{
string Ext = "";
int i;
if (temp.LastIndexOf(".") > 0)
{
for (i = 0; i < temp.LastIndexOf("."); i++)
{
Ext += temp[i];
}
}
else
Ext = temp;
return Ext;
}
private void deleteDirFileToolStripMenuItem
{
node = treeView1.SelectedNode;
form3.form1 = this;
oldTag = new ClassTag();
oldTag = (ClassTag)node.Tag;
if (oldTag.tag == "DIR")
form3.label1.Text = "Вы действительно хотите удалить\nкаталог '" + node.Text + "'?";
if (oldTag.tag == "FILE")
form3.label1.Text = "Вы действительно хотите удалить\nфайл '" + node.Text + "'?";
form3.ShowDialog();
if (Del)
{
if (node.Name != "Node0")
{
node.Remove();
}
else
MessageBox.Show("Ошибка!\n Невозможно удалить");
}
saveTreeStructure();
}
private void treeView1_AfterSelect(object sender, TreeViewEventArgs e)
{
node = treeView1.SelectedNode;
newTag = new ClassTag();
newTag = (ClassTag)node.Tag;
textBox1.Text = node.Text;
textBox2.Text = newTag.tag;
maskedTextBox1.Text = Convert.ToString(newTag.date.
maskedTextBox2.Text = Convert.ToString(newTag.
saveTreeStructure();
}
private void treeView1_
{
node = treeView1.SelectedNode;
oldTag = new ClassTag();
newTag = new ClassTag();
oldTag = (ClassTag)node.Tag;
newTag.tag = oldTag.tag;
newTag.date = oldTag.date;
newTag.request = oldTag.request + 1;
newTag.extencion = oldTag.extencion;
node.Tag = newTag;
maskedTextBox2.Text = Convert.ToString(newTag.
}
private void open()
{
try
{
listKategor.Clear();
FileInfo fi = new FileInfo("FileStructure.xml");
System.IO.TextReader sw = fi.OpenText();
XmlTextReader reader = new XmlTextReader(sw);
reader.Read();
if (reader.IsStartElement("
{
reader.ReadStartElement("
while (reader.IsStartElement("File")
{
reader.ReadStartElement("File"
DirName = reader.ReadElementString("
int Level = Convert.ToInt32(reader.
int Index = Convert.ToInt32(reader.
ClassTag newTag = new ClassTag();
newTag.tag = reader.ReadElementString("
newTag.date = Convert.ToDateTime(reader.
newTag.request = Convert.ToInt32(reader.
newTag.extencion = reader.ReadElementString("
ClassSaveTree cs = new ClassSaveTree(DirName, newTag, Level, Index);
listKategor.Add(cs);
reader.ReadEndElement();
}
}
reader.Close();
sw.Close();
}
catch
{
return;
}
}
private void buildTree(int startNodenumber)
{
if (listKategor.Count == 0) return;
TreeNode nd = treeView1.Nodes[
for (int i = 0; i < listKategor.Count; ++i)
{
ClassSaveTree cs = (ClassSaveTree)listKategor[i];
while (cs.getLevel() - nd.Level != 1)
{
if (nd.Level < cs.getLevel()) nd = nd.Nodes[cs.getIndex()];
else nd = nd.Parent;
}
TreeNode newnode = new TreeNode();
newnode.Text = cs.getCaption();
newnode.Tag = cs.tag;
if(cs.tag.tag == "DIR")
{
newnode.ImageIndex = 0 ;
newnode.SelectedImageIndex = 0 ;
}
if(cs.tag.tag == "FILE")
{
newnode.ImageIndex = 1;
newnode.SelectedImageIndex = 1;
}
nd.Nodes.Add(newnode);
}
}
private void Form1_MouseClick(object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Right)
{
contextMenuStrip1.Show(this.
}
}
public void FindbyExt(TreeNode nd, string FindExt)
{
if (nd.Nodes.Count > 0)
{
if (nd.Parent != null)
{
ClassTag newTag = new ClassTag();
newTag = (ClassTag)nd.Tag;
if (newTag.extencion == FindExt)
{
treeView1.SelectedNode = nd;
treeView1.SelectedNode.
ClassSaveTree cs = new ClassSaveTree(nd.Text, (ClassTag)nd.Tag, nd.Level, nd.Parent.Index);