コード例 #1
0
        private void SelectROMButton_Click(object sender, EventArgs e)
        {
            if (this.BackupList.SelectedIndex < 0 || this.BackupList.SelectedIndex >= this.FindBackup.Files.Count)
            {
                return;
            }
            FindBackup.FileInfo ng_rom_info;
            FindBackup.FileInfo ok_rom_info;
            if (this.BackupList.SelectedIndex < 1)
            {
                //R.ShowOK("直前のバックアップだと、現在のROMとの2点DIFFだけとなり、精度が落ちます。");

                ng_rom_info          = new FindBackup.FileInfo();
                ng_rom_info.FilePath = Program.ROM.Filename;
                ng_rom_info.Date     = File.GetLastWriteTime(Program.ROM.Filename);
                if (!CheckOrignalROMIfUPS(ng_rom_info))
                {
                    return;
                }

                ok_rom_info = this.FindBackup.Files[this.BackupList.SelectedIndex];
                if (!CheckOrignalROMIfUPS(ok_rom_info))
                {
                    return;
                }
            }
            else
            {
                ng_rom_info = this.FindBackup.Files[this.BackupList.SelectedIndex - 1];
                if (!CheckOrignalROMIfUPS(ng_rom_info))
                {
                    return;
                }

                ok_rom_info = this.FindBackup.Files[this.BackupList.SelectedIndex];
                if (!CheckOrignalROMIfUPS(ok_rom_info))
                {
                    return;
                }
            }


            ToolDiffDebugSelectMethodPopup q = (ToolDiffDebugSelectMethodPopup)InputFormRef.JumpFormLow <ToolDiffDebugSelectMethodPopup>();

            q.Init(ng_rom_info.FilePath, ok_rom_info.FilePath);
            q.ShowDialog();
            if (q.DialogResult != System.Windows.Forms.DialogResult.Yes)
            {//ユーザーキャンセル.
                return;
            }
            ToolThreeMargeForm.DiffDebugMethod method = q.GetMethod();

            ToolThreeMargeForm f;

            using (InputFormRef.AutoPleaseWait wait = new InputFormRef.AutoPleaseWait(this))
            {
                byte[] ng_rom = MainFormUtil.OpenROMToByte(ng_rom_info.FilePath, this.OrignalFilename.Text);
                byte[] ok_rom = MainFormUtil.OpenROMToByte(ok_rom_info.FilePath, this.OrignalFilename.Text);

                if (ng_rom.Length <= 0)
                {
                    return;
                }
                if (ok_rom.Length <= 0)
                {
                    return;
                }

                f = (ToolThreeMargeForm)InputFormRef.JumpFormLow <ToolThreeMargeForm>();
                f.InitDiffDebug(wait, ok_rom, ng_rom, method);
            }
            if (!f.IsConflictData())
            {
                R.ShowWarning("相違点がありません。\r\n比較条件を変えてください。\r\n比較条件を変えても変わらない場合、比較対象のROMを見直してください。");
                return;
            }
            f.Show();
        }
コード例 #2
0
 private void Method2Button_Click(object sender, EventArgs e)
 {
     this.DialogResult = System.Windows.Forms.DialogResult.Yes;
     this.Method       = ToolThreeMargeForm.DiffDebugMethod.Method2;
     this.Close();
 }