Ejemplo n.º 1
0
        private void NewFile_Button_Click(object sender, RoutedEventArgs e)
        {
            FileAdd fileAddWindow = new FileAdd();

            fileAddWindow.ShowDialog();

            string name = fileAddWindow._newFileName;

            //窗体直接关闭
            if (name == null)
            {
                return;
            }

            //命名含有非法字符检测
            if (name.Contains(" ") || name == "")
            {
                System.Windows.MessageBox.Show("含有非法字符");
                return;
            }

            //重名检测
            if (FindFCBName(name) != null)
            {
                System.Windows.MessageBox.Show("“" + name + "”已存在");
                return;
            }

            string newFileName    = fileAddWindow._newFileName;
            string newFileContent = fileAddWindow._newFileContent;
            int    size           = newFileContent.Count() / BLOCK_CONTENT_LENGTH + 1;

            FCB newFile = new FCB(Type.File, newFileName, size, ++FCBID);

            newFile.father = currentDirectory;
            currentDirectory.fileSon.Add(newFile);
            UpdateAncestorSize(newFile, size);

            disk.AddNewFCB(newFile);
            disk.AddNewFileContent(newFile, newFileContent);

            UpdateCurrentDir();
            UpdateFCBList();
        }