private bool CheckerForEnglish(char[] valueSplit) { var massiveEnglish = new MassiveChars("English").GetMassiveChars(); var flag = true; for (int i = 0; i < valueSplit.Count(); i++) { if (!massiveEnglish.Contains(valueSplit[i]) && valueSplit[i] != ' ') { flag = false; } } return(flag); }
private bool CheckerForEnglishAndRussian(char[] firstValueSplit, char[] secondValueSplit) { var massiveRussian = new MassiveChars("Russian").GetMassiveChars(); var massiveEnglish = new MassiveChars("English").GetMassiveChars(); var flag = true; for (int i = 0; i < firstValueSplit.Count(); i++) { if (!massiveEnglish.Contains(firstValueSplit[i]) && firstValueSplit[i] != ' ') { flag = false; } } for (int i = 0; i < secondValueSplit.Count(); i++) { if (!massiveRussian.Contains(secondValueSplit[i]) && secondValueSplit[i] != ' ') { flag = false; } } return(flag); }
public ViewModelHash() { HashTable = new MassiveWords().GetHashTableAndTime("../../Model/Words.txt").Item1; var time = new MassiveWords().GetHashTableAndTime("../../Model/Words.txt").Item2; OpHistory = new ObservableCollection <OpHistoryItem>(); var massiveRussian = new MassiveChars("Russian").GetMassiveChars(); var massiveEnglish = new MassiveChars("English").GetMassiveChars(); OpHistory.Add(new OpHistoryItem("Время создания хэш таблицы из " + HashTable.Values.Count() / 20 + " слов - " + time + " ms.")); mp.Open(new Uri("../../Music/music.mp3", UriKind.RelativeOrAbsolute)); var flag = false; Add = new DelegateCommand(() => { var beep = new MediaPlayer(); beep.Open(new Uri("../../Music/beep.mp3", UriKind.RelativeOrAbsolute)); beep.Play(); if (string.IsNullOrWhiteSpace(AddValueF) && !string.IsNullOrWhiteSpace(AddValueS)) { OpHistory.Add(new OpHistoryItem("Вы не ввели слово на английском, которое хотели добавить!")); } else if (!string.IsNullOrWhiteSpace(AddValueF) && string.IsNullOrWhiteSpace(AddValueS)) { OpHistory.Add(new OpHistoryItem("Вы не ввели перевод слова!")); } else if (string.IsNullOrWhiteSpace(AddValueF) && string.IsNullOrWhiteSpace(AddValueS)) { OpHistory.Add(new OpHistoryItem("Вы ничего не ввели!")); } else { if (CheckerForEnglishAndRussian(AddValueF.ToCharArray(), AddValueS.ToCharArray())) { var spForAdd = new Stopwatch(); if (!HashTable.Search(AddValueF)) { spForAdd.Start(); HashTable.Insert(new Word(AddValueF, AddValueS)); spForAdd.Stop(); OpHistory.Add(new OpHistoryItem("Слово \"" + AddValueF + "\" записано в словарь.")); } else { spForAdd.Start(); HashTable.Remove(AddValueF); HashTable.Insert(new Word(AddValueF, AddValueS)); spForAdd.Stop(); OpHistory.Add(new OpHistoryItem("Слово \"" + AddValueF + "\" перезаписано.")); } OpHistory.Add(new OpHistoryItem("Время добавление/переписывание составило - " + spForAdd.ElapsedTicks + " тиков.")); RaisePropertyChanged("OpHistory"); } else { OpHistory.Add(new OpHistoryItem("Первое слово должно быть Английским, а второе Русским!")); } } }); Delete = new DelegateCommand(() => { var beep = new MediaPlayer(); beep.Open(new Uri("../../Music/beep.mp3", UriKind.RelativeOrAbsolute)); beep.Play(); if (string.IsNullOrWhiteSpace(DeleteValue)) { OpHistory.Add(new OpHistoryItem("Вы ничего не ввели!")); } else { if (CheckerForEnglish(DeleteValue.ToCharArray())) { if (HashTable.Search(DeleteValue)) { var spForDelete = new Stopwatch(); spForDelete.Start(); HashTable.Remove(DeleteValue); spForDelete.Stop(); OpHistory.Add(new OpHistoryItem("Слово \"" + DeleteValue + "\" удалено из словаря.")); OpHistory.Add(new OpHistoryItem("Время удаления - " + spForDelete.ElapsedTicks + " тиков")); } else { OpHistory.Add(new OpHistoryItem("Слово \"" + DeleteValue + "\" не найдено в словаре.")); } RaisePropertyChanged("OpHistory"); } else { OpHistory.Add(new OpHistoryItem("Это не английское слово \"" + DeleteValue + "\".")); } } }); Translate = new DelegateCommand(() => { var beep = new MediaPlayer(); beep.Open(new Uri("../../Music/beep.mp3", UriKind.RelativeOrAbsolute)); beep.Play(); if (string.IsNullOrWhiteSpace(TranslateValue)) { OpHistory.Add(new OpHistoryItem("Вы ничего не ввели!")); } else { if (CheckerForEnglish(TranslateValue.ToCharArray())) { if (HashTable.Search(TranslateValue)) { var spForTranslate = new Stopwatch(); spForTranslate.Start(); var russianTranslate = HashTable.Search(TranslateValue, out Word w); spForTranslate.Stop(); OpHistory.Add(new OpHistoryItem("Перевод слова " + TranslateValue + " - " + w.Value)); OpHistory.Add(new OpHistoryItem("Время перевода - " + spForTranslate.ElapsedTicks + " тиков.")); } else { OpHistory.Add(new OpHistoryItem("Слово \"" + TranslateValue + "\" не найдено в словаре.")); } RaisePropertyChanged("OpHistory"); } else { OpHistory.Add(new OpHistoryItem("Это не английское слово \"" + TranslateValue + "\".")); } } }); PlayMusic = new DelegateCommand(() => { if (!flag) { mp.Play(); flag = true; } else { mp.Pause(); flag = false; } }); HashTable.Search("apple", out Word wo); HashTable.Search("apple", out wo); HashTable.Remove("warm"); HashTable.Remove("yourself"); HashTable.Insert(new Word("Test", "Тест")); }
public ViewModelTrie() { var tupleTreeAndTime = new DictionaryWords("../../Model/Words.txt").CreateTree(); Tree = tupleTreeAndTime.Item1; OpHistory = new ObservableCollection <OpHistoryItem>(); var massiveRussian = new MassiveChars("Russian").GetMassiveChars(); var massiveEnglish = new MassiveChars("English").GetMassiveChars(); OpHistory.Add(new OpHistoryItem("Время создания дерева из " + tupleTreeAndTime.Item3 + " слов - " + tupleTreeAndTime.Item2 + " ms.")); Add = new DelegateCommand(() => { var beep = new MediaPlayer(); beep.Open(new Uri("../../Music/beep.mp3", UriKind.RelativeOrAbsolute)); beep.Play(); if (string.IsNullOrWhiteSpace(AddValueF) && !string.IsNullOrWhiteSpace(AddValueS)) { OpHistory.Add(new OpHistoryItem("Вы не ввели слово на английском, которое хотели добавить!")); } else if (!string.IsNullOrWhiteSpace(AddValueF) && string.IsNullOrWhiteSpace(AddValueS)) { OpHistory.Add(new OpHistoryItem("Вы не ввели перевод слова!")); } else if (string.IsNullOrWhiteSpace(AddValueF) && string.IsNullOrWhiteSpace(AddValueS)) { OpHistory.Add(new OpHistoryItem("Вы ничего не ввели!")); } else { var spForAdd = new Stopwatch(); if (CheckerForEnglishAndRussian(AddValueF.ToCharArray(), AddValueS.ToCharArray())) { long time = 0; if (!Tree.ContainsValue(AddValueF)) { spForAdd.Start(); Tree.Add(AddValueF, AddValueS); spForAdd.Stop(); OpHistory.Add(new OpHistoryItem("Слово \"" + AddValueF + "\" записано в словарь.")); } else { spForAdd.Start(); Tree.Remove(AddValueF); Tree.Add(AddValueF, AddValueS); spForAdd.Stop(); OpHistory.Add(new OpHistoryItem("Слово \"" + AddValueF + "\" перезаписано.")); } OpHistory.Add(new OpHistoryItem("Время добавления/переписывания составило - " + spForAdd.ElapsedTicks + " тиков.")); RaisePropertyChanged("OpHistory"); } else { OpHistory.Add(new OpHistoryItem("Первое слово должно быть Английским, а второе Русским!")); } } }); Delete = new DelegateCommand(() => { var beep = new MediaPlayer(); beep.Open(new Uri("../../Music/beep.mp3", UriKind.RelativeOrAbsolute)); beep.Play(); if (string.IsNullOrWhiteSpace(DeleteValue)) { OpHistory.Add(new OpHistoryItem("Вы ничего не ввели!")); } else { if (CheckerForEnglish(DeleteValue.ToCharArray())) { if (Tree.ContainsValue(DeleteValue)) { var spForDelete = new Stopwatch(); spForDelete.Start(); Tree.Remove(DeleteValue); spForDelete.Stop(); OpHistory.Add(new OpHistoryItem("Слово \"" + DeleteValue + "\" удалено из словаря.")); OpHistory.Add(new OpHistoryItem("Время удаления - " + spForDelete.ElapsedTicks + " тиков")); } else { OpHistory.Add(new OpHistoryItem("Слово \"" + DeleteValue + "\" не найдено в словаре.")); } RaisePropertyChanged("OpHistory"); } else { OpHistory.Add(new OpHistoryItem("Это не английское слово \"" + DeleteValue + "\".")); } } }); Translate = new DelegateCommand(() => { var beep = new MediaPlayer(); beep.Open(new Uri("../../Music/beep.mp3", UriKind.RelativeOrAbsolute)); beep.Play(); if (string.IsNullOrWhiteSpace(TranslateValue)) { OpHistory.Add(new OpHistoryItem("Вы ничего не ввели!")); } else { if (CheckerForEnglish(TranslateValue.ToCharArray())) { if (Tree.ContainsValue(TranslateValue)) { var spForTranslate = new Stopwatch(); spForTranslate.Start(); var russianTranslate = Tree.GetValue(TranslateValue); spForTranslate.Stop(); OpHistory.Add(new OpHistoryItem("Перевод слова " + TranslateValue + " - " + russianTranslate)); OpHistory.Add(new OpHistoryItem("Время перевода - " + spForTranslate.ElapsedTicks + " тиков.")); } else { OpHistory.Add(new OpHistoryItem("Слово \"" + TranslateValue + "\" не найдено в словаре.")); } RaisePropertyChanged("OpHistory"); } else { OpHistory.Add(new OpHistoryItem("Это не английское слово \"" + TranslateValue + "\".")); } } }); Tree.GetValue("apple"); Tree.Remove("warm"); Tree.Remove("yourself"); Tree.Add("Test", "Тест"); }