コード例 #1
0
        private void mnuImportInstance_Click(object sender, RoutedEventArgs e)
        {
            DatabasePackedFile packageFile = (DatabasePackedFile)packageDataGrid.SelectedItem;
            OpenFileDialog     fileDialog  = new OpenFileDialog();

            fileDialog.Filter = "Exported Files (SCP_*)|SCP_*|All Files (*.*)|*.*";
            if (fileDialog.ShowDialog().GetValueOrDefault(false))
            {
                FileInfo fi = new FileInfo(fileDialog.FileName);
                uint     typeId = 0; uint GroupContainer = 0; uint instanceId = 0;
                try
                {
                    string[] fileNameParts = Path.GetFileNameWithoutExtension(fileDialog.FileName).Split('_');
                    string[] tgi           = fileNameParts[fileNameParts.Length - 1].Split('-');
                    typeId         = Convert.ToUInt32(tgi[0].Substring(2), 16);
                    GroupContainer = Convert.ToUInt32(tgi[1].Substring(2), 16);
                    instanceId     = Convert.ToUInt32(tgi[2].Substring(2), 16);
                }
                catch { }
                ViewEditKeyProperty viewEditKey = new ViewEditKeyProperty(typeId, GroupContainer, instanceId);
                if (viewEditKey.ShowDialog().GetValueOrDefault(false))
                {
                    typeId         = viewEditKey.TypeId;
                    GroupContainer = viewEditKey.GroupContainer;
                    instanceId     = viewEditKey.InstanceId;
                }
                DatabaseIndex createdIndex      = null;
                using (FileStream stream = fi.OpenRead())
                {
                    byte[] data = new byte[stream.Length];
                    stream.Read(data, 0, data.Length);
                    createdIndex = packageFile.InsertSubFile(data, typeId, GroupContainer, instanceId);
                }
                if (createdIndex != null)
                {
                    tabControl1.SelectedIndex      = 0;
                    dataGridInstances.SelectedItem = createdIndex;
                    dataGridInstances.ScrollIntoView(createdIndex);
                }
            }
        }