📄 file.cs
字号:
else
{
disk_.diskfilename = disk_.diskfile[0];
}
int block1 = 1;
int block2 = 2;
for (int i = 0; i < paths.Length - 2; i++)
{
disk_.readblock1(block1);
string[] name = new string[8];
for (int n = 0; n < 8; n++)
{
name[n] = Convert.ToString(Convert.ToChar(disk_.buffer1[n * 16 + 0])) + Convert.ToString(Convert.ToChar(disk_.buffer1[n * 16 + 1])) + Convert.ToString(Convert.ToChar(disk_.buffer1[n * 16 + 2])) + Convert.ToString(Convert.ToChar(disk_.buffer1[n * 16 + 3])) + Convert.ToString(Convert.ToChar(disk_.buffer1[n * 16 + 4])) + Convert.ToString(Convert.ToChar(disk_.buffer1[n * 16 + 5]));
name[n] = name[n].Trim();
}
for (int m = 0; m < 8; m++)
{
if (name[m] == paths[i + 1])
mubiaoweizhi = m;
}
if (mubiaoweizhi == -1)
{
disk_.readblock1(block2);
for (int n = 0; n < 8; n++)
{
name[n] = Convert.ToString(Convert.ToChar(disk_.buffer1[n * 16 + 0])) + Convert.ToString(Convert.ToChar(disk_.buffer1[n * 16 + 1])) + Convert.ToString(Convert.ToChar(disk_.buffer1[n * 16 + 2])) + Convert.ToString(Convert.ToChar(disk_.buffer1[n * 16 + 3])) + Convert.ToString(Convert.ToChar(disk_.buffer1[n * 16 + 4])) + Convert.ToString(Convert.ToChar(disk_.buffer1[n * 16 + 5]));
name[n] = name[n].Trim();
}
for (int m = 0; m < 8; m++)
{
if (name[m] == paths[i + 1])
mubiaoweizhi = m;
}
}
block1 = Convert.ToInt32(disk_.buffer1[mubiaoweizhi * 16 + 11]);
block2 = Convert.ToInt32(disk_.buffer1[mubiaoweizhi * 16 + 12]);
}
string[] u = new string[8];
string[] v = new string[8];
disk_.readblock1(block1);
//mubiaoweizhi = -1;
for (int i = 0; i < 8; i++)
{
if (Convert.ToInt32(disk_.buffer1[i * 16 + 15]) == 1)
{
u[i] = Convert.ToString(Convert.ToChar(disk_.buffer1[i * 16 + 0])) + Convert.ToString(Convert.ToChar(disk_.buffer1[i * 16 + 1])) + Convert.ToString(Convert.ToChar(disk_.buffer1[i * 16 + 2])) + Convert.ToString(Convert.ToChar(disk_.buffer1[i * 16 + 3])) + Convert.ToString(Convert.ToChar(disk_.buffer1[i * 16 + 4])) + Convert.ToString(Convert.ToChar(disk_.buffer1[i * 16 + 5]));
v[i] = Convert.ToString(Convert.ToChar(disk_.buffer1[i * 16 + 6])) + Convert.ToString(Convert.ToChar(disk_.buffer1[i * 16 + 7])) + Convert.ToString(Convert.ToChar(disk_.buffer1[i * 16 + 8]));
u[i]=u[i].Trim();
v[i]=v[i].Trim();
if (u[i] == filename && v[i] == extname)
{
int f = Convert.ToInt32(disk_.buffer1[i * 16 + 11]);
disk_.returnblock(f);
disk_.readblock1(block1);
for (int x = 0; x < 16; x++)
{
disk_.buffer1[i * 16 + x] = Convert.ToByte(0);
}
disk_.writeblock1(block1);
}
}
}
disk_.readblock1(block2);
//mubiaoweizhi = -1;
for (int i = 0; i < 8; i++)
{
if (Convert.ToInt32(disk_.buffer1[i * 16 + 15]) == 1)
{
u[i] = Convert.ToString(Convert.ToChar(disk_.buffer1[i * 16 + 0])) + Convert.ToString(Convert.ToChar(disk_.buffer1[i * 16 + 1])) + Convert.ToString(Convert.ToChar(disk_.buffer1[i * 16 + 2])) + Convert.ToString(Convert.ToChar(disk_.buffer1[i * 16 + 3])) + Convert.ToString(Convert.ToChar(disk_.buffer1[i * 16 + 4])) + Convert.ToString(Convert.ToChar(disk_.buffer1[i * 16 + 5]));
v[i] = Convert.ToString(Convert.ToChar(disk_.buffer1[i * 16 + 6])) + Convert.ToString(Convert.ToChar(disk_.buffer1[i * 16 + 7])) + Convert.ToString(Convert.ToChar(disk_.buffer1[i * 16 + 8]));
u[i] = u[i].Trim();
v[i] = v[i].Trim();
if (u[i] == filename && v[i] == extname)
{
int f = Convert.ToInt32(disk_.buffer1[i * 16 + 11]);
disk_.returnblock(f);
disk_.readblock1(block2);
for (int x = 0; x < 16; x++)
{
disk_.buffer1[i * 16 + x] = Convert.ToByte(0);
}
disk_.writeblock1(block2);
}
}
}
return true;
}
#region 格式化磁盘
public void formatc()//格式化c盘
{
disk_.diskfilename = disk_.diskfile[0];
disk_.initdisk();
}
public void formatd()//格式化d盘
{
disk_.diskfilename = disk_.diskfile[1];
disk_.initdisk();
}
#endregion
public bool deletedir(string dirname)//删除kong目录
{
string[] paths;
int mubiaoweizhi = -1;
paths = splitfullpath(currentdir);
if (paths[0] == "C")
{
disk_.diskfilename = disk_.diskfile[0];
}
else if (paths[0] == "D")
{
disk_.diskfilename = disk_.diskfile[1];
}
else
{
disk_.diskfilename = disk_.diskfile[0];
}
int block1 = 1;
int block2 = 2;
for (int i = 0; i < paths.Length - 2; i++)
{
disk_.readblock1(block1);
string[] name = new string[8];
for (int n = 0; n < 8; n++)
{
name[n] = Convert.ToString(Convert.ToChar(disk_.buffer1[n * 16 + 0])) + Convert.ToString(Convert.ToChar(disk_.buffer1[n * 16 + 1])) + Convert.ToString(Convert.ToChar(disk_.buffer1[n * 16 + 2])) + Convert.ToString(Convert.ToChar(disk_.buffer1[n * 16 + 3])) + Convert.ToString(Convert.ToChar(disk_.buffer1[n * 16 + 4])) + Convert.ToString(Convert.ToChar(disk_.buffer1[n * 16 + 5]));
name[n] = name[n].Trim();
}
for (int m = 0; m < 8; m++)
{
if (name[m] == paths[i + 1])
mubiaoweizhi = m;
}
if (mubiaoweizhi == -1)
{
disk_.readblock1(block2);
for (int n = 0; n < 8; n++)
{
name[n] = Convert.ToString(Convert.ToChar(disk_.buffer1[n * 16 + 0])) + Convert.ToString(Convert.ToChar(disk_.buffer1[n * 16 + 1])) + Convert.ToString(Convert.ToChar(disk_.buffer1[n * 16 + 2])) + Convert.ToString(Convert.ToChar(disk_.buffer1[n * 16 + 3])) + Convert.ToString(Convert.ToChar(disk_.buffer1[n * 16 + 4])) + Convert.ToString(Convert.ToChar(disk_.buffer1[n * 16 + 5]));
name[n] = name[n].Trim();
}
for (int m = 0; m < 8; m++)
{
if (name[m] == paths[i + 1])
mubiaoweizhi = m;
}
}
block1 = Convert.ToInt32(disk_.buffer1[mubiaoweizhi * 16 + 11]);
block2 = Convert.ToInt32(disk_.buffer1[mubiaoweizhi * 16 + 12]);
}
string[] u = new string[8];
disk_.readblock1(block1);
//mubiaoweizhi = -1;
for (int i = 0; i < 8; i++)
{
if (Convert.ToInt32(disk_.buffer1[i * 16 + 15]) == 1)
{
u[i] = Convert.ToString(Convert.ToChar(disk_.buffer1[i * 16 + 0])) + Convert.ToString(Convert.ToChar(disk_.buffer1[i * 16 + 1])) + Convert.ToString(Convert.ToChar(disk_.buffer1[i * 16 + 2])) + Convert.ToString(Convert.ToChar(disk_.buffer1[i * 16 + 3])) + Convert.ToString(Convert.ToChar(disk_.buffer1[i * 16 + 4])) + Convert.ToString(Convert.ToChar(disk_.buffer1[i * 16 + 5]));
u[i] = u[i].Trim();
if (u[i] == dirname)
{
int f = Convert.ToInt32(disk_.buffer1[i * 16 + 11]);
int g = Convert.ToInt32(disk_.buffer1[i * 16 + 12]);
disk_.returnblock(f);
disk_.returnblock(g);
disk_.readblock1(block1);
for (int x = 0; x < 16; x++)
{
disk_.buffer1[i * 16 + x] = Convert.ToByte(0);
}
disk_.writeblock1(block1);
}
}
}
disk_.readblock1(block2);
//mubiaoweizhi = -1;
for (int i = 0; i < 8; i++)
{
if (Convert.ToInt32(disk_.buffer1[i * 16 + 15]) == 1)
{
u[i] = Convert.ToString(Convert.ToChar(disk_.buffer1[i * 16 + 0])) + Convert.ToString(Convert.ToChar(disk_.buffer1[i * 16 + 1])) + Convert.ToString(Convert.ToChar(disk_.buffer1[i * 16 + 2])) + Convert.ToString(Convert.ToChar(disk_.buffer1[i * 16 + 3])) + Convert.ToString(Convert.ToChar(disk_.buffer1[i * 16 + 4])) + Convert.ToString(Convert.ToChar(disk_.buffer1[i * 16 + 5]));
u[i] = u[i].Trim();
if (u[i] == dirname)
{
int f = Convert.ToInt32(disk_.buffer1[i * 16 + 11]);
int g = Convert.ToInt32(disk_.buffer1[i * 16 + 12]);
disk_.returnblock(f);
disk_.returnblock(g);
disk_.readblock1(block2);
for (int x = 0; x < 16; x++)
{
disk_.buffer1[i * 16 + x] = Convert.ToByte(0);
}
disk_.writeblock1(block2);
}
}
}
return true;
}
public void writefile(string filefullname, string filebuffer)//写文件
{
string filename = "";
string extname = "";
splitfilename(filefullname, ref filename, ref extname);
string[] paths;
int mubiaoweizhi = -1;
paths = splitfullpath(currentdir);
if (paths[0] == "C")
{
disk_.diskfilename = disk_.diskfile[0];
}
else if (paths[0] == "D")
{
disk_.diskfilename = disk_.diskfile[1];
}
else
{
disk_.diskfilename = disk_.diskfile[0];
}
int block1 = 1;
int block2 = 2;
for (int i = 0; i < paths.Length - 1; i++)
{
disk_.readblock1(block1);
string[] name = new string[8];
for (int n = 0; n < 8; n++)
{
name[n] = Convert.ToString(Convert.ToChar(disk_.buffer1[n * 16 + 0])) + Convert.ToString(Convert.ToChar(disk_.buffer1[n * 16 + 1])) + Convert.ToString(Convert.ToChar(disk_.buffer1[n * 16 + 2])) + Convert.ToString(Convert.ToChar(disk_.buffer1[n * 16 + 3])) + Convert.ToString(Convert.ToChar(disk_.buffer1[n * 16 + 4])) + Convert.ToString(Convert.ToChar(disk_.buffer1[n * 16 + 5]));
name[n] = name[n].Trim();
}
for (int m = 0; m < 8; m++)
{
if (name[m] == paths[i + 1])
mubiaoweizhi = m;
}
if (mubiaoweizhi == -1)
{
disk_.readblock1(block2);
for (int n = 0; n < 8; n++)
{
name[n] = Convert.ToString(Convert.ToChar(disk_.buffer1[n * 16 + 0])) + Convert.ToString(Convert.ToChar(disk_.buffer1[n * 16 + 1])) + Convert.ToString(Convert.ToChar(disk_.buffer1[n * 16 + 2])) + Convert.ToString(Convert.ToChar(disk_.buffer1[n * 16 + 3])) + Convert.ToString(Convert.ToChar(disk_.buffer1[n * 16 + 4])) + Convert.ToString(Convert.ToChar(disk_.buffer1[n * 16 + 5]));
name[n] = name[n].Trim();
}
for (int m = 0; m < 8; m++)
{
if (name[m] == paths[i + 1])
mubiaoweizhi = m;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -