예제 #1
0
        public void LoadlongTermMermory(String file)
        {
            NeaReader reader = new NeaReader(new StreamReader(file + ".MQ"));

            while (reader.Peek() != -1)
            {
                List <VirusMemory> memories   = new List <VirusMemory>();
                VirusBoard         startState = new VirusBoard();
                VirusBoard         endState   = new VirusBoard();
                Move   action = new Move();
                double reward;
                double significance;
                string data;

                data = reader.ReadLine();
                NeaReader r = new NeaReader(data);
                significance = double.Parse(r.ReadUntil(":"));
                while (r.Peek() != -1)
                {
                    startState.Load(r.ReadUntil(":"));
                    endState.Load(r.ReadUntil(":"));
                    action.Load(r.ReadUntil(":"));
                    reward = double.Parse(r.ReadUntil(":"));
                    memories.Add(new VirusMemory(startState, action, endState, reward));
                }


                //memory = new VirusMemory(startState, action, endState, reward);
                LongTermMemory.Add(new VirusMemoryEpisode(memories.ToArray(), significance));                //new VirusLongTermMemory(memory, significance));
            }
            reader.Close();
        }
예제 #2
0
        public void LoadFile(string file, StartUpWindow startwindow)
        {
            bool success = true;

            try {
                NeaReader reader = new NeaReader(new StreamReader(file));
                reader.ReadLine();
                while (reader.Peek() != -1 && !shouldstop)
                {
                    ProcessEntry(reader);
                }
                reader.Close();
            }
            catch (Exception e) {
                success = false;
            }
            if (!shouldstop)
            {
                startwindow.Dispatcher.BeginInvoke(new Action(() => { startwindow.FinishedLoading(success); }));
            }
        }
예제 #3
0
        private void LoadDefaultFiles()
        {
            string[] filePaths = null;
            string   file      = "config.ini";

            //config data
            try {
                NeaReader     r     = new NeaReader(new StreamReader(file));
                ReadState     state = ReadState.FindNextEntry;
                string        group = "ERROR";
                List <string> list  = new List <string>();

                while (r.Peek() != -1)
                {
                    NeaReader line = new NeaReader(r.ReadLine());
                    string    temp;

                    line.SkipWhiteSpace();
                    if ((char)line.Peek() == '#')                     // comment
                    {
                        continue;
                    }

                    switch (state)
                    {
                    case ReadState.FindNextEntry:
                        temp = line.ReadWord();
                        if (temp == "Group:")
                        {
                            line.SkipWhiteSpace();
                            group = line.ReadToEnd();
                            state = ReadState.FindNextKGM;
                        }
                        else if (temp == "Ratio:")
                        {
                            string[] ratio = new string[2];
                            ratio[0] = line.ReadSection('[', ']');
                            ratio[1] = line.ReadSection('[', ']');
                            ratios.Add(ratio);
                        }
                        break;

                    case ReadState.FindNextKGM:
                        line.SkipWhiteSpace();
                        if (line.Peek() != -1)
                        {
                            list.Add(line.ReadWord());
                        }
                        else
                        {
                            groups.Add(group, list.ToArray());
                            list.Clear();
                            state = ReadState.FindNextEntry;
                        }
                        break;
                    }
                }
                r.Close();
            }
            catch (FileNotFoundException fnf) {
                StreamWriter w = new StreamWriter("config.ini");
                w.Write("Fill this with data");
                w.Close();
            }
            catch (Exception e) {
            }
            filePaths = null;
            file      = null;
            //ranking data
            try {
                filePaths = Directory.GetFiles("rankingdata//", "*.csv");
            }
            catch (Exception e) {
            }
            if (filePaths != null)
            {
                if (filePaths.Length == 1)
                {
                    file = filePaths[0];
                }
            }

            if (file == null)
            {
                SetText(StatusText, "Ingen fil fundet.\nVælg venligst en at indlæse.");
                Dispatcher.BeginInvoke(new Action(() => {
                    LoadButton.IsEnabled = true;
                }));
            }
            else
            {
                Dispatcher.BeginInvoke(new Action(() => { LoadingProgressBar.IsIndeterminate = true; }));
                SetText(StatusText, "Indlæser filen:\n" + file);
                dataHandler = new DataHandler();
                Thread thread = new Thread(() => { dataHandler.LoadFile(file, this); });
                thread.Start();
            }
        }
예제 #4
0
        private void LoadDepFiles()
        {
            //string[] filePaths = null;
            string file = null;

            departments = new Dictionary <string, string[]>();
            //config data
            try
            {
                file = "Personale liste Know How.txt";
                NeaReader r = new NeaReader(new StreamReader(file));
                while (r.Peek() != -1)
                {
                    char next = (char)r.Peek();
                    while (char.IsWhiteSpace(next))
                    {
                        r.ReadLine();
                        next = (char)r.Peek();
                    }

                    string        departmentname = "ERROR";
                    List <string> strings        = new List <string>();

                    while (r.Peek() != -1)
                    {
                        next = (char)r.Peek();
                        if (!char.IsWhiteSpace(next))
                        {
                            if (departmentname != "ERROR")
                            {
                                departments.Add(departmentname, strings.ToArray());
                                strings.Clear();
                            }
                            departmentname = r.ReadWord().ToUpper();
                            r.ReadLine();
                        }
                        else
                        {
                            r.SkipWhiteSpace();
                            r.ReadUntil('\t');                             //løn nr
                            r.SkipWhiteSpace();
                            r.ReadUntil('\t');                             // efternavn
                            r.SkipWhiteSpace();
                            r.ReadUntil('\t');                             // fornavn
                            r.SkipWhiteSpace();
                            r.ReadUntil('\t');                             // afdeling
                            if (r.Peek() == -1)
                            {
                                break;
                            }
                            r.SkipWhiteSpace();
                            brugernavn = r.ReadWord();                             // brugernavn
                            strings.Add(brugernavn.ToUpper());

                            r.ReadLine();
                        }
                    }
                    departments.Add(departmentname, strings.ToArray());
                }
                r.Close();
            }
            catch (FileNotFoundException fnf)
            {
                StreamWriter w = new StreamWriter("Personale liste Know How.txt");
                w.Write("Fill this with data");
                w.Close();
            }
            catch (Exception e)
            {
            }

            foreach (string afdeling in departments.Keys)
            {
                combobox_Afd.Items.Add(afdeling);
            }
            combobox_Afd.Items.Add("ALLE AFDELINGER");
        }
예제 #5
0
		public void LoadlongTermMermory(String file)
		{
			NeaReader reader = new NeaReader(new StreamReader(file + ".MQ"));

			while (reader.Peek() != -1)
			{
				List<VirusMemory> memories = new List<VirusMemory>();
				VirusBoard startState = new VirusBoard();
				VirusBoard endState = new VirusBoard();
				Move action = new Move();
				double reward;
				double significance;
				string data;

				data = reader.ReadLine();
				NeaReader r = new NeaReader(data);
				significance = double.Parse(r.ReadUntil(":"));
				while (r.Peek() != -1) {
					startState.Load(r.ReadUntil(":"));
					endState.Load(r.ReadUntil(":"));
					action.Load(r.ReadUntil(":"));
					reward = double.Parse(r.ReadUntil(":"));
					memories.Add(new VirusMemory(startState, action, endState, reward));
				}
				

				//memory = new VirusMemory(startState, action, endState, reward);
				LongTermMemory.Add(new VirusMemoryEpisode(memories.ToArray(), significance));//new VirusLongTermMemory(memory, significance));
			}
			reader.Close();
		}