private async void dumpBtn_Click(object sender, EventArgs e) { string file; using (SaveFileDialog dlg = new SaveFileDialog()) { dlg.Filter = "Snapshot file|*.SNA"; if (dlg.ShowDialog() != DialogResult.OK) { return; } file = dlg.FileName; } ZXSerialLoader loader = new ZXSerialLoader(); programLbl.Text = Path.GetFileNameWithoutExtension(file); programLbl.Visible = true; cassetteGif.Play(); var result = await Task.Run(() => loader.DumpFile(serial, file, 128, null)); cassetteGif.Stop(); programLbl.Visible = false; if (result != ZXSerialLoader.ZXSerialLoaderResult.Success) { MessageBox.Show("Error dumping program"); } }
private async void GifPlayer1_DragDrop(object sender, DragEventArgs e) { transferring = true; try { if (e.Data.GetDataPresent(DataFormats.FileDrop) && e.Effect == DragDropEffects.Copy) { var files = e.Data.GetData(DataFormats.FileDrop) as string[]; if (files.Length > 1) { return; } else { string ext = Path.GetExtension(files[0]).ToLower(); if (!allowedExtensions.Contains(ext)) { return; } ZXSerialLoader loader = new ZXSerialLoader(); programLbl.Text = Path.GetFileNameWithoutExtension(files[0]); programLbl.Visible = true; cassetteGif.Play(); var result = await Task.Run(() => loader.LoadFile(serial, files[0], 512, null)); cassetteGif.Stop(); programLbl.Visible = false; if (result != ZXSerialLoader.ZXSerialLoaderResult.Success) { MessageBox.Show("Error transferring program"); } } } } finally { transferring = false; } }