private void  除ToolStripMenuItem1_Click(object sender, EventArgs e)
        {
            ListViewItem current_item = new ListViewItem();

            if (listView1.SelectedItems.Count != 0)
            {
                current_item = listView1.SelectedItems[0];
            }
            else
            {
                MessageBox.Show("Please select a item");
                return;
            }

            File current_file = directory.getFile(getPointer(current_item));
            FCB  current_fcb  = directory.getFCB(current_file);

            //List<int> indexs = current_file.readTable();
            int indexs = current_file.readTable();

            Overall_bitMap.withdraw(indexs);

            current_fcb.remove();
            directory.removeFile(current_fcb);

            UpdateView();
        }
예제 #2
0
        private void  除ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            //如果选中文件个数不只一个,则选中的文件为第一个,否则提示用户选中一个文件
            ListViewItem current_item = new ListViewItem();

            if (listView1.SelectedItems.Count != 0)
            {
                current_item = listView1.SelectedItems[0];
            }
            else
            {
                MessageBox.Show("Please select a item");
                return;
            }

            //通过内存指针找到该文件
            File current_file = catalog.getFile(getPointer(current_item));

            //获得该文件的PCB
            FCB current_fcb = catalog.getFCB(current_file);

            //获得当前文件的所有内存块
            List <int> indexs = current_file.indexPointer.readTable();

            //将所有内存块均置为可用的状态
            bitMap.withdraw(indexs);

            current_fcb.remove();
            UpdateListView();
            UpdateTreeView();
            catalog.removeFile(current_fcb);

            UpdateListView();
            UpdateTreeView();
        }