2017-01-01 3 views
0

У меня есть текстовый файл, содержащий викторину вопросов и ответов.Как переместить текст в текстовый файл в текстовое поле и изменить текст переключателя?

m1 | mcq | Which of the following is an animal | table#cat#keyboard#water 

m2 | mcq | which of the following is a programming language |C++#water#Air#Phone 

m3 | mcq | which is the prime number | 3#4#8#10 

Я пытаюсь разделить текст или строку в текстовом файле в текстовом поле, к примеру, какой из следующих животное

Это мой код:

try 
{ 
    ReadQuestionTextBox.Text = File.ReadAllText("C:\\Users\\ip700\\Documents\\Visual Studio 2015\\Projects\\FYP Project\\FYP Project\\bin\\Debug\\RichTextBox.txt"); 
} 
catch 
{ 
    ReadQuestionTextBox.Text = "Could not read file"; 
} 

Я пытаюсь пойти дальше, используя более сложную часть разделения строк, где я могу определить местоположение текста в текстовом файле, где текст, такой как

Какое из следующего является анимацией аль? в текстовое поле, и мой выбор ответа разделился на 4 переключателя, table#cat#keyboard#water.

я запутался о том, как действовать, как я еще новичок в C# WPF

О струнном расколе, я знаю, как разделить строку текста в текстовом файле в ListBox.

+0

Добро пожаловать в SO. Поскольку ваш вопрос сейчас, трудно понять, что именно вы спрашиваете. Поскольку, когда я читаю ваш вопрос сейчас, кажется, вы просите нас написать парсер для формата в этом текстовом файле. Это не то, для чего SO. Так что вы можете отредактировать свой вопрос, чтобы он стал более конкретным для того, что вы просите, пожалуйста? –

+0

О, извините. Это название хорошо? – NaviHam

+0

Как переместить текст в текстовый файл в текстовое поле и изменить текст переключателя? – NaviHam

ответ

0

Вам нужно будет прочитать содержимое файла в переменной, а не в текстовом поле.

string[] lines = File.ReadAllLines("filename"); 

Если каждая строка файла представляет собой новый вопрос, то каждый элемент в массиве строк будет держать вопрос разобрать.

Затем, чтобы разобрать каждый вопрос, вы могли бы перебрать массив и снова использовать разделение строк. Вот как вы можете задать один вопрос с его параметрами. Варианты сплит

string[] line = lines[0].Split("|", split options); 
string question = line[2].Trim(); 
string[] options = line[3].Split("#", split options); 

строка может быть StringSplitOptions.RemoveEmptyEntries, который удаляет пустые элементы из массива или StringSplitOptions.None, который сохраняет их.

Затем вы можете прокрутить опции и создать и добавить новый переключатель в форму для каждой опции.

Это не похоже, что ваш текстовый файл содержит ответы на вопросы, поэтому вы можете добавить это.

+0

Нужно ли указывать путь к имени файла? – NaviHam

+0

Да. Он работает так же, как и метод, который вы использовали (ReadAllText), но вместо того, чтобы читать файл в виде одной строки, представляет собой массив строк с каждой строкой в ​​файле в файле нового элемента массива. –

+0

Что означает разделительный параметр? Я никогда не использовал stringsplitoption до – NaviHam

Смежные вопросы