📄 file.cs
字号:
}
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]);
for (int x = 0; x < 128; x++)
{
disk_.buffer1[x] = Convert.ToByte(0);
}
for (int x = 0; x < filebuffer.Length; x++)
{
disk_.buffer1[x] = Convert.ToByte(filebuffer[x]);
}
disk_.writeblock1(f);
}
}
}
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]);
for (int x = 0; x < 128; x++)
{
disk_.buffer1[x] = Convert.ToByte(0);
}
for (int x = 0; x < filebuffer.Length; x++)
{
disk_.buffer1[x] = Convert.ToByte(filebuffer[x]);
}
disk_.writeblock1(f);
}
}
}
}
public void readfile(string filefullname, ref 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;
}
}
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_.readblock1(f);
for (int x = 0; x < 128&&disk_.buffer1[i]!='\0'; x++)
{
filebuffer += Convert.ToString(Convert.ToChar(disk_.buffer1[x]));
}
}
}
}
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_.readblock1(f);
for (int x = 0; x < 128 && disk_.buffer1[i] != '\0'; x++)
{
filebuffer += Convert.ToString(Convert.ToChar(disk_.buffer1[x]));
}
}
}
}
}
//public bool copyfile()//复制文件
//{
//}
//public bool movefile()//移动文件
//{
//}
public void readcmd(string cmd)
{
if (cmd.Length == 0) //指令为空
{
MessageBox.Show("指令长度不能为零!");
return;
}
string[] command;
command = cmd.Split('-');
if (command.Length == 1)
{
if (command[0] == "formatc")
{
formatc();
}
else if (command[0] == "formatd")
{
formatd();
}
else
{
MessageBox.Show("指令错误!");
return;
}
}
else if (command.Length == 3)
{
if (command[0] == "copy")
{
string[] pathfrom;
string[] pathto;
pathfrom = command[1].Split('\\');
pathto = command[2].Split('\\');
if (pathfrom[0] == pathto[0])
{
#region 同盘
string filename = "";
string extname = "";
splitfilename(pathfrom[pathfrom.Length-1], ref filename, ref extname);
int mubiaoweizhi = -1;
if (pathfrom[0] == "C")
{
disk_.diskfilename = disk_.diskfile[0];
}
else if (pathfrom[0] == "D")
{
disk_.diskfilename = disk_.diskfile[1];
}
else
{
disk_.diskfilename = disk_.diskfile[0];
}
int block1 = 1;
int block2 = 2;
for (int i = 0; i < pathfrom.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] == pathfrom[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] == pathfrom[i + 1])
mubiaoweizhi = m;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -