/// <summary> /// Читает файл описания и закидывает в нужное поле /// </summary> private void InfoGet() { string name = Path.Combine(globalbase, "Описание.txt"); if (File.Exists(name)) { textBox23.Text = Expendator.GetWordFromFile(name); } }
private void FillZam() { string where = Expendator.GetWordFromFile("WhereData.txt"); where = Path.GetDirectoryName(where); textBox1.Text = where; string file = Path.Combine(where, "Описание.txt"); textBox2.Text = (File.Exists(file)) ? Expendator.GetWordFromFile(file) : ""; }
private void GetParamsFromFile() { if (System.IO.File.Exists("TrapeziParams.txt")) { var ss = Expendator.GetWordFromFile("TrapeziParams.txt").Split(' '); beg = ss[0].ToInt32() / 100.0; s = ss[1].ToInt32() / 100.0; end = ss[2].ToInt32() / 100.0; } }
private void CopyImages(string name) => Expendator.CopyFiles(Environment.CurrentDirectory, Path.GetDirectoryName(Expendator.GetWordFromFile("WhereData.txt")), new string[] { $"{name} .pdf", $"{name} (heatmap).png", $"{name} (heatmap_uz).png", $"{name} (ur).html", $"{name} (uz).html", $"{name} (ur).txt", $"{name} (uz).txt" }.Where(f => File.Exists(f)).ToArray());
/// <summary> /// Просуммировать все замеры /// </summary> private void SSum() { var p = Expendator.GetStringArrayFromFile("WhereData.txt"); string[] names = Expendator.GetStringArrayFromFile("textnames.txt"); string[][] fnames = new string[p.Length][]; for (int k = 0; k < p.Length; k++) { string[] tmp = Expendator.GetStringArrayFromFile(Path.Combine(p[k], "textnames.txt")); fnames[k] = new string[names.Length]; for (int i = 0; i < names.Length; i++) { fnames[k][i] = Path.Combine(p[k], tmp[i]); } } int len = count * count2; Parallel.For(0, names.Length, (int i) => { Vectors v = new Vectors(len); Vectors v1 = new Vectors(len); for (int k = 0; k < p.Length; k++) { v += Vectors.VectorFromFile(fnames[k][i].Replace(".txt", " (ur).txt")); v1 += Vectors.VectorFromFile(fnames[k][i].Replace(".txt", " (uz).txt")); } v.ToFile(names[i].Replace(".txt", " (ur).txt")); v1.ToFile(names[i].Replace(".txt", " (uz).txt")); }); string name = Expendator.GetWordFromFile("SurfaceMain.txt"); names = new string[p.Length]; for (int i = 0; i < names.Length; i++) { names[i] = Path.Combine(p[i], Expendator.GetWordFromFile(Path.Combine(p[i], "SurfaceMain.txt"))); } Vectors vv1 = new Vectors(len), vv2 = new Vectors(len); for (int k = 0; k < p.Length; k++) { vv1 += Vectors.VectorFromFile(names[k] + " (ur).txt").Norming; vv2 += Vectors.VectorFromFile(names[k] + " (uz).txt").Norming; } (vv1 / p.Length).ToFile(name + " (ur).txt"); (vv2 / p.Length).ToFile(name + " (uz).txt"); }
/// <summary> /// Суммирование замеров, построение анимации и прочие заключительные действия /// </summary> /// <returns></returns> private async Task AfterLoopsActAsync() { label9.Show(); label9.Text = $"Суммирование{Environment.NewLine}по замерам"; toolStripStatusLabel1.Text = $"Запущено построение u-surfaces"; toolStripStatusLabel2.Text = $""; BegShow(); string gl = $"{Source.ToString(sourcesArray)}, (xmin, xmax, count, ymin, ymax) = ({xmin}, {xmax}, {count}dot{count2}, {ymin}, {ymax})"; await Task.Run(() => { StreamWriter ts = new StreamWriter("textnames.txt"); StreamWriter pds = new StreamWriter("pdfnames.txt"); Expendator.WriteStringInFile("SurfaceMain.txt", gl); double th = (tmax - tmin) / (tcount - 1); for (int i = 0; i < tcount; i++) { double t = tmin + i *th; if (t == 0) { continue; } string tit = $"{Source.ToString(sourcesArray)}, t = {t.ToString(4)}, (xmin, xmax, count, ymin, ymax) = ({xmin}, {xmax}, {count}dot{count2}, {ymin}, {ymax})"; ts.WriteLine(tit + ".txt"); pds.WriteLine($"3D ur, uz(title , {tit} ).pdf"); filenames[i] = "3D " + tit + " .png"; } FilenamesArrayToFile(); ts.Close(); pds.Close(); OtherMethods.PlaySound("ДанныеСуммируются"); Parallel.Invoke( () => SSum(), () => { if (Functions.ur.Lenght > 0) { Functions.ur.Dispose(); GC.Collect(); } }); Expendator.CopyFiles(Expendator.GetWordFromFile("WhereData.txt"), Environment.CurrentDirectory, "3D ur, uz(x).txt", "3D ur, uz(y).txt"); }); label9.Hide(); if (source.IsCancellationRequested) { return; } await Task.Run(() => StartProcess("OnlySurface.r", global : true)); //new Библиотека_графики.PdfOpen("Полученные u-surfaces", Path.Combine(Environment.CurrentDirectory, $"{gl} .pdf")).Show(); CopyImages(gl); ShowImages(gl); OtherMethods.PlaySound("ПоверхностиПостроены"); if (count == count2) { if (MessageBox.Show("Создавать анимацию? (может занять до 15 минут)", "Анимация", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == System.Windows.Forms.DialogResult.Yes) { toolStripStatusLabel1.Text = $"Построены u-surface. Создаётся массив кадров"; await Task.Run(() => Expendator.StartProcessOnly("ReDraw3Duxt2.r", true)); if (source.IsCancellationRequested) { return; } OtherMethods.PlaySound("АнимацияГотова"); new Anima(filenames).ShowDialog(); } new Scheme(sourcesArray, new Point(xmin, ymin), xmax - xmin, ymax - ymin, gl + " (heatmap).png").Show(); OtherMethods.PlaySound("ВычисленияЗавершены"); } toolStripStatusLabel1.Text = $"Операции закончены"; }
private void toolStripButton3_Click(object sender, EventArgs e) { string where = Path.GetDirectoryName(Expendator.GetWordFromFile("WhereData.txt")); MakeEllipses(Expendator.GetStringArrayFromFile(Path.Combine(where, Path.Combine("EllipseData", "Params.txt")), true)); }