示例#1
0
        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
        }
示例#2
0
        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.
        }
示例#3
0
        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);
            }
        }
示例#4
0
 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
     }
 }
示例#5
0
        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);
            }
        }
示例#6
0
        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);
            }
        }