Как создать диалоговое окно со значением в скобках с помощью basicsharp?
Всем привет!
Я модифицирую базовый интерпретатор Sharp для своего приложения, мое приложение-это приложение winforms, и я импортировал классы из BasicSharp в свое приложение, и я могу отправить код через него и получить ответ.
Мне нужно получить код для задания вопросов с помощью диалогового окна результатов, когда я ввожу приведенный ниже код в интерпретатор:
результат = вопрос("Хотите ли вы добавить запись времени сегодня?")
Окно результатов MessageBox/Dialog будет давать ответы yes no и в зависимости от выходных данных помещать либо yes, либо no в переменную результата.
Проблема, с которой я сталкиваюсь, заключается в том, чтобы поместить значение в скобках в messagebox. Любая помощь по этому вопросу очень ценится!
Что я уже пробовал:
else if (lastToken == Token.Question) { string abc = ""; abc = vars[lex.Identifier].String; //This box of code handles the Question identifier, it takes input from user and sets to the variable //Console.Write("Input value: "); string input = ""; DialogResult result = MessageBox.Show(abc, "Confirmation", MessageBoxButtons.YesNo); if (result == DialogResult.Yes) { //... input = "Yes"; } else { input = "No"; } //string input = Console.ReadLine(); Value value = new Value(input); SetVar(lex.Identifier, value); prim = lex.Value; GetNextToken(); //Console.WriteLine(Expr().ToString()); }
Richard MacCutchan
Что такое BasicSharp?
patrickb123
https://github.com/Timu5/BasicSharp
Richard MacCutchan
Таким образом, это какое-то стороннее приложение, о котором очень немногие люди слышали. Вам нужно будет предоставить более конкретную и подробную информацию, прежде чем кто-либо сможет догадаться, что делает этот код. И ваш вопрос упоминает "ввод значения в скобках в messagebox."- но я не могу понять , где это должно произойти и о какой ценности вы говорите.
patrickb123
Таким образом, текст в скобках вопроса, который является: QUESTION("вы хотите записать время сегодня?"), должен быть помещен в текст результата диалога, который в приведенном выше коде можно увидеть с помощью переменной abc: DialogResult result = MessageBox.Показать(букварь, "подтверждение",
Richard MacCutchan
Так в чем же проблема?
patrickb123
Я, кажется, не могу получить текст в поле сообщения, я счастлив сделать скриншот, чтобы я мог лучше объяснить его вам?
Richard MacCutchan
Это работает для меня:
string abc = "Do you wish to record time today?"; DialogResult result = MessageBox.Show(abc, "Confirmation", MessageBoxButtons.YesNo);
patrickb123
К сожалению, это не то, что я ищу, так как код использует файл .txt с базовым кодом внутри него, код C# интерпретирует этот код, так что, например, если команда question в файле говорит: QUESTION("вы хотите продолжить") Текст диалогового окна должен гласить : "вы хотите продолжить?"
Richard MacCutchan
Рискуя повторить: так в чем же проблема? Это действительно не помогает нам постоянно повторять то, что вы хотите, чтобы произошло, не объясняя, что на самом деле происходит или не происходит. Как я уже показал, помещение некоторого текста в строковую переменную работает нормально. Поэтому вам нужно точно объяснить, что происходит, когда вы пытаетесь это сделать.
patrickb123
Привет извините за путаницу, когда я запускаю это через интерпретатор, сообщение в диалоговом окне пустое, и интерпретатор выдает исключение, которое гласит: ожидаемый: RParen получил новую строку в строке 3: Результат = вопрос("это тест с печатью")
Richard MacCutchan
Извините, но я понятия не имею, что такое переводчик и почему он может не работать. Мое единственное предложение-внимательно посмотреть на текст, с которым он работает, чтобы понять, почему возникает ошибка.