Ты путаешь направления и получается небольшая бяка
1 Замени
Код:
if (direction == "StoC")
bw.Write((char)'C');
else
bw.Write((char)'S');
bw.Write((char)'M');
bw.Write((char)'S');
bw.Write((char)'G');
на
Код:
bw.Write(direction.StartsWith("S") ? 'S' : 'C');
bw.Write('M');
bw.Write('S');
bw.Write('G');
можно также на
Код:
bw.Write(direction[0]);
bw.Write('M');
bw.Write('S');
bw.Write('G');
2 Также можно убрать приведение в char
3 тут
Код:
uint opcode = (uint)UInt16.Parse(data[6]);
Код:
bw.Write((uint)opcode);
Код:
bw.Write((uint)13623);
убрать приведение в uint
4
Код:
string directdata = data[8];
byte[] byteData = ParseHex(directdata);
заменить на
Код:
byte[] byteData = ParseHex(data[8]);
5 все
Код:
richTextBox1.Text +=
на
Код:
richTextBox1.AppendText
6
Код:
FileStream fs = new FileStream(f.FullName + ".pkt", FileMode.Create);
на
Код:
FileStream fs = new FileStream(file.FullName.Replace(".izi", ".pkt") , FileMode.Create);
7
Код:
patch = d.SelectedPath;
DirectoryInfo di = new DirectoryInfo(patch);
на
Код:
DirectoryInfo di = new DirectoryInfo(d.SelectedPath);