public static void Write(System.IO.Stream stream, UsedToSaveProgramSet programSet)
            {
                IFormatter formatter = new BinaryFormatter();

                formatter.Serialize(stream, VERSION);
                formatter.Serialize(stream, programSet);
            }
            public static UsedToSaveProgramSet Read(System.IO.Stream stream)
            {
                IFormatter formatter = new BinaryFormatter();
                int        version   = (Int32)formatter.Deserialize(stream);

                UsedToSaveProgramSet programSet = (UsedToSaveProgramSet)formatter.Deserialize(stream);

                return(programSet);
            }
            public static UsedToSaveProgramSetv2 Read(System.IO.Stream stream)
            {
                IFormatter formatter = new BinaryFormatter();
                int        version   = (Int32)formatter.Deserialize(stream);

                if (version == 1)
                {
                    //This is a version 1 file Convert it to a Version 2 file
                    UsedToSaveProgramSet   prgramsetv1 = (UsedToSaveProgramSet)formatter.Deserialize(stream);
                    List <KeyMap>          TempKeys    = new List <KeyMap>();
                    String[]               TempMacros  = new String[kMaxKeys];
                    UsedToSaveProgramSetv2 programset  = new UsedToSaveProgramSetv2(TempKeys);

                    for (int i = 0; i < kMaxKeys; i++)
                    {
                        //process each of the keys
                        int offset = (i) * 3;

                        KeyMap NewKey = new KeyMap();
                        NewKey.Dx1Key = (byte)(i + 1);
                        offset++;
                        NewKey.Type   = prgramsetv1.keyMap[offset++];
                        NewKey.Action = prgramsetv1.keyMap[offset++];
                        if (NewKey.Action == (byte)0)
                        {
                            NewKey.Description = "Unassigned";
                        }
                        else
                        {
                            NewKey.Description = "Keycode-" + NewKey.Action.ToString();
                        }
                        programset.keyMaps.Add(NewKey);
                    }

                    TempMacros = prgramsetv1.macroMap;

                    for (int i = 0; i < kMaxKeys; i++)
                    {
                        //Process each of the Macros into the corresponding key
                        if (TempMacros[i] != null)
                        {
                            programset.keyMaps[i].MacroName = TempMacros[i];
                        }
                    }



                    return(programset);
                }

                UsedToSaveProgramSetv2 programSet = (UsedToSaveProgramSetv2)formatter.Deserialize(stream);

                return(programSet);
            }
示例#4
0
 public static void Write(System.IO.Stream stream, UsedToSaveProgramSet programSet)
 {
     IFormatter formatter = new BinaryFormatter();
     formatter.Serialize(stream, VERSION);
     formatter.Serialize(stream, programSet);
 }