/// <summary> /// Zeigt ausführlich die Schritte zur Vereinfachung in einem extra Form /// </summary> private void ErweitereAusgabe() { var vereinfachteTerme = new List <Term[]>(); QuineMcCluskey qmc; var list = new List <List <Term[]> > [fTabelle.AnzahlAusgabevariablen]; // TODO: Run background TASK with cancellation token //var thread = new System.Threading.Thread(Waiting.Wait); //thread.Start(); // Für jede Ausgangsvariable den Term vereinfachen for (var i = 0; i < fTabelle.AnzahlAusgabevariablen; i++) { // Terme auslesen und vereinfachen qmc = new QuineMcCluskey(fTabelle.GibMinterme(i)); list[i] = new List <List <Term[]> >(); vereinfachteTerme.Add(qmc.Vereinfache(ref list[i])); } //System.Threading.Thread.Sleep(100); //thread.Abort(); // Ausgabe im Form var errorIndizes = new List <Int32>(); var form = new AusgabeForm(list, vereinfachteTerme); var just_error = true; while (just_error) { try { form.ShowDialog(); just_error = false; } catch { MessageBox.Show("Leider ist die Darstellung zu groß!", "Darstellung nicht möglich", MessageBoxButtons.OK, MessageBoxIcon.Error); errorIndizes.Add(form.SelectedIndex); form = new AusgabeForm(list, vereinfachteTerme, errorIndizes.ToArray(), form.LastIndex); } } }