public void Save(StreamInfo initialFile, int versionIndex = 0) { using (var bw = new BinaryWriter(initialFile.FileData, Encoding.ASCII, LeaveOpen)) { bw.Write(0x16161616); bw.Write((short)0x3232); } using (var bw = new BinaryWriter(FileSystem.CreateFile("meta.bin"), Encoding.ASCII, LeaveOpen)) { bw.Write(0x44332211); bw.Write((short)0x6655); } Communication.Add("string3"); }
public bool LoadFromFile(string fileName) { bool result = true; try { var fileLines = File.ReadAllLines(fileName, Encoding.Default); var categories = GetLinesByCategory(fileLines); if (categories != null) { if (categories.ContainsKey("version")) { foreach (var line in categories["version"]) { KeyValuePair <string, string> declaration; if (ParseDeclaractionLineToken(line, out declaration)) { if (declaration.Key == "Version") { Version = declaration.Value; break; } } } } else { result = false; DisplayStatusMessage("Failed to find category: version.", StatusMessageType.USER); } if (categories.ContainsKey("communication")) { foreach (var line in categories["communication"]) { KeyValuePair <string, string> declaration; if (ParseDeclaractionLineToken(line, out declaration)) { Communication.Add(declaration.Key, declaration.Value); } } } else { result = false; DisplayStatusMessage("Failed to find category: communication.", StatusMessageType.USER); } if (categories.ContainsKey("identification")) { foreach (var line in categories["identification"]) { KeyValuePair <string, string> declaration; if (ParseDeclaractionLineToken(line, out declaration)) { Identification.Add(declaration.Key, declaration.Value); } } } else { result = false; DisplayStatusMessage("Failed to find category: identification.", StatusMessageType.USER); } if (categories.ContainsKey("measurements")) { string[] measurementEntryKeys = { "VariableID", "Name", "Address", "NumBytes", "BitMask", "Units", "IsSigned", "IsInverted", "Scale", "Offset", "Description" }; var measurementEntryKeysList = new List <string>(measurementEntryKeys); foreach (var line in categories["measurements"]) { Measurements.Add(GetMeasurementEntryFromLine(line, measurementEntryKeysList)); } } else { result = false; DisplayStatusMessage("Failed to find category: measurements.", StatusMessageType.USER); } } } catch (Exception e) { DisplayStatusMessage("Encountered exception while loading file: " + e.ToString(), StatusMessageType.USER); result = false; } return(result); }