private void changeDriveInComboBox(object sender, EventArgs e) { FileManagerCore fmC = null; ComboBox comboBox = sender as ComboBox; if (comboBox == comboBox1) { fmC = fmC1; } if (comboBox == comboBox2) { fmC = fmC2; } if (fmC != null) { try { fmC.changeDrive(comboBox.Text); } catch (Exception ex) { MessageBox.Show(ex.Message); } } }
public FormMain() { InitializeComponent(); fmC1 = new FileManagerCore(listBox1, textBoxAddress1, comboBox1); fmC2 = new FileManagerCore(listBox2, textBoxAddress2, comboBox2); }
private void listBoxDoubleClick(object sender, MouseEventArgs e) { FileManagerCore fmC = null; ListBox listBox = sender as ListBox; if (listBox == listBox1) { fmC = fmC1; } if (listBox == listBox2) { fmC = fmC2; } if (listBox.SelectedItem != null) { try { fmC.enter((FSItem)listBox.SelectedItem); } catch (Exception ex) { MessageBox.Show(ex.Message); } } }
public void readResource(string resourceFileDir) { BinaryReader reader = new BinaryReader(File.Open(resourceFileDir, FileMode.Open)); MemoryStream headerStream = FileManagerCore.ReadGameData(reader.BaseStream); BinaryReader headerReader = new BinaryReader(headerStream); long nameDataLen = headerReader.ReadInt64(); FileManagerCore.byteBoundaryWork(headerReader.BaseStream, false); for (long i = 0; i < nameDataLen; ++i) { short id = headerReader.ReadInt16(); long offset = headerReader.ReadInt64(); long size = headerReader.ReadInt64(); byte[] data = new byte[size]; FileManagerCore.readBytes(data, offset, reader.BaseStream); nameData.Add(id, Encoding.UTF8.GetString(data)); FileManagerCore.byteBoundaryWork(headerReader.BaseStream, false); } long directoryDataLen = headerReader.ReadInt64(); FileManagerCore.byteBoundaryWork(headerReader.BaseStream, false); for (long i = 0; i < directoryDataLen; ++i) { short id = headerReader.ReadInt16(); short parentID = headerReader.ReadInt16(); short nameID = headerReader.ReadInt16(); ResDirectory dir = new ResDirectory(id, nameData[nameID]); directoryData.Add(id, dir); if (directoryData.ContainsKey(parentID)) { directoryData[parentID].addChildDir(dir); } else { baseDir = dir; } FileManagerCore.byteBoundaryWork(headerReader.BaseStream, false); } long fileDataLen = headerReader.ReadInt64(); FileManagerCore.byteBoundaryWork(headerReader.BaseStream, false); for (long i = 0; i < fileDataLen; ++i) { short id = headerReader.ReadInt16(); short parentID = headerReader.ReadInt16(); short nameID = headerReader.ReadInt16(); long offset = headerReader.ReadInt64(); long size = headerReader.ReadInt64(); byte[] data = new byte[size]; FileManagerCore.readBytes(data, offset, reader.BaseStream); ResFile file = new ResFile(id, nameData[nameID], data); directoryData[parentID].addChildFile(file); FileManagerCore.byteBoundaryWork(headerReader.BaseStream, false); } }