private void Window_ContentRendered(object sender, EventArgs e) { Results = new List <ResultParameter>(); CalculateTimeValues(DAMFiles[0]); //Elég a legelső DAM fájlt megvizsgálni ezekhez az adatokhoz, mert a többinek pontosan ugyan azokat az időpontokat kell tartalmaznia. Ha mégse, azt a betöltés kiszűri. TimeValues.NumberOfDaysAndNumberOfRowsInADay(DAMFiles[0]); TimeValues.LastRowOfDays = TimeValues.WholeHourRow + (TimeValues.NumberOfRowsInADay * TimeValues.NumberOfDays); TimeValues.LastRowOfHours = TimeValues.WholeHourRow + (TimeValues.NumberOfRowsInAnHour * TimeValues.NumberOfHours); Parameters.Run(Results, DAMFiles); //Az OFD azért kell, hogy csak akkor nyissa meg az excelt, ha a program már nem használja. OpenFileDialog ofd = new OpenFileDialog(); ofd.FileName = FilesExportImport.WriteToExcel(Results); if (ofd.FileName != "") { bool fileClosed = false; while (!fileClosed) //Addig vár, míg a program nem használja már az excelt { try { ofd.OpenFile(); //Megnézi, hogy be van-e már zárva a program által Process.Start(ofd.FileName); //Ha nem dob exceptiont, akkor igen és megnyitja az excelt fileClosed = true; //Nem ismétli meg többet a ciklust } catch { } } } Application.Current.Shutdown(); //Bezárja a programot magát }
public ExperimentBasicSettings(bool firstTime) { InitializeComponent(); Thread.CurrentThread.CurrentUICulture = new CultureInfo("en-us"); //Ettől az exception hibaüzenetek angol nyelvűek lesznek magyar helyett if (firstTime) //Csak akkor töltse be a fájlból, ha először nyitom meg, egyébként egyszerűbb a programon belüli változókból { string[] elements = new string[6]; string[] savedSettings = FilesExportImport.LoadFile("expset.dat"); //Az első elem lesz csak feltöltve de tömb kell a fájl betöltés általánosításához if (savedSettings != null) { elements = savedSettings[0].Split(';'); ExperimentSettingsValues.BinLength = int.Parse(elements[0]); ExperimentSettingsValues.Sleep = int.Parse(elements[1]); ExperimentSettingsValues.Treshold = int.Parse(elements[2]); ExperimentSettingsValues.Dead = int.Parse(elements[3]); ExperimentSettingsValues.ExcludeDead = bool.Parse(elements[4]); ExperimentSettingsValues.SaveSettings = bool.Parse(elements[5]); } } Bin_Length.Text = ExperimentSettingsValues.BinLength.ToString(); Sleep.Text = ExperimentSettingsValues.Sleep.ToString(); Treshold.Text = ExperimentSettingsValues.Treshold.ToString(); Dead.Text = ExperimentSettingsValues.Dead.ToString(); Exclude_dead.IsChecked = ExperimentSettingsValues.ExcludeDead; Save_settings.IsChecked = ExperimentSettingsValues.SaveSettings; ChangeNumberOfRowsInASomethingContext(CanHourlyCondition()); //Megnézi, hogy a Bin Length osztható-e 60-al, mert attól függ, hogy van-e értelme Hourly értékeknek. }
private void ImportDAM_Click(object sender, RoutedEventArgs e) { if (ListOfDAMs.Items.Count < 10) { ofd.FileName = ""; //Hogy ne legyen már valamilyen érték a kifelölt mezőben ofd.Multiselect = true; //Egyszerre több elem is kiválasztható ofd.Filter = "Text file|*.txt"; ofd.Title = "Import the DAM output"; if (ofd.ShowDialog() == true) //Megnyitás gombbal valamit betöltött a felhasználó sikeresen { foreach (string filename in ofd.FileNames) { string[] rawDAMFile = FilesExportImport.LoadFile(filename); //Egy sor a DAM-ban itt 1 tömb LoadedDAMFile ldf = new LoadedDAMFile(filename, new string[rawDAMFile.Length][]); for (int i = 0; i < rawDAMFile.Length; i++) { ldf.LoadedDAMValues[i] = rawDAMFile[i].Split('\t'); } ldf.LoadedDAMValues = ErrorDataChecking(ldf.LoadedDAMValues); //Null-t kap vissza, ha a felhasználó nem akarja folytatni ezzel a DAM-mal if (ldf.LoadedDAMValues != null) { DAMFiles.Add(ldf); ListOfDAMs.Items.Refresh(); } } } } else { MessageBox.Show("You reached the maximum number of DAMs for this experiment!", "DAM number exceeded", MessageBoxButton.OK, MessageBoxImage.Error); } }
private void LoadTemplate_Click(object sender, RoutedEventArgs e) { ofd.Filter = "Template file|*.tmp"; ofd.FileName = ""; ofd.Title = "Open the template"; if (ofd.ShowDialog() == true) //Megnyitás gombbal valamit betöltött a felhasználó sikeresen { string[] loadedGroupValues = FilesExportImport.LoadFile(ofd.FileName); string[] formattedGroupValues = loadedGroupValues[0].Split(';'); FillTheGroups(formattedGroupValues); PressEnterKey(null, true); //Elmenti a csoport értékeit egyből a DAM fájlhoz } }
private void SaveTemplate_Click(object sender, RoutedEventArgs e) { string groupTableValues = Box1.Text + ";" + Box2.Text + ";" + Box3.Text + ";" + Box4.Text + ";" + Box5.Text + ";" + Box6.Text + ";" + Box7.Text + ";" + Box8.Text + ";" + Box9.Text + ";" + Box10.Text + ";" + Box11.Text + ";" + Box12.Text + ";" + Box13.Text + ";" + Box14.Text + ";" + Box15.Text + ";" + Box16.Text + ";" + Box17.Text + ";" + Box18.Text + ";" + Box19.Text + ";" + Box20.Text + ";" + Box21.Text + ";" + Box22.Text + ";" + Box23.Text + ";" + Box24.Text + ";" + Box25.Text + ";" + Box26.Text + ";" + Box27.Text + ";" + Box28.Text + ";" + Box29.Text + ";" + Box30.Text + ";" + Box31.Text + ";" + Box32.Text; //Ez a string tartalmazza a csoport értékeket, amik aztán a fájlba lesznek kimentve SaveFileDialog sfd = new SaveFileDialog(); sfd.Filter = "Template file|*.tmp"; sfd.Title = "Save the template"; if (sfd.ShowDialog() == true) { FilesExportImport.WriteFile(sfd.FileName, groupTableValues); } }
private void Save_Click(object sender, RoutedEventArgs e) { try { if (!CanHourlyCondition()) { throw new Exception(); } ExperimentSettingsValues.BinLength = int.Parse(Bin_Length.Text); ExperimentSettingsValues.Sleep = int.Parse(Sleep.Text); ExperimentSettingsValues.Treshold = int.Parse(Treshold.Text); ExperimentSettingsValues.Dead = int.Parse(Dead.Text); ExperimentSettingsValues.ExcludeDead = Exclude_dead.IsChecked.Value; ExperimentSettingsValues.SaveSettings = Save_settings.IsChecked.Value; if (ExperimentSettingsValues.BinLength < 0 || ExperimentSettingsValues.Sleep < 0 || ExperimentSettingsValues.Treshold < 0 || ExperimentSettingsValues.Dead < 0) { throw new ExceptionExpSetMinusNumber("Input value must be greater or equal than 0."); //Negatív értékek nem megengedettek } string resultsInString = ""; //Az átalakított értékek String-é if (ExperimentSettingsValues.SaveSettings) { resultsInString = ExperimentSettingsValues.BinLength + ";" + ExperimentSettingsValues.Sleep + ";" + ExperimentSettingsValues.Treshold + ";" + ExperimentSettingsValues.Dead + ";" + ExperimentSettingsValues.ExcludeDead + ";" + ExperimentSettingsValues.SaveSettings; } else { resultsInString = 0 + ";" + 0 + ";" + 0 + ";" + 0 + ";" + false + ";" + false; } FilesExportImport.WriteFile("expset.dat", resultsInString); this.Close(); } catch (Exception ex) { MessageBox.Show("Please use reasonable number characters for the values.\nCause of the error: " + ex.Message, "Invalid input", MessageBoxButton.OK, MessageBoxImage.Error); } }