patrickb123 Ответов: 0

Как создать диалоговое окно со значением в скобках с помощью 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

Извините, но я понятия не имею, что такое переводчик и почему он может не работать. Мое единственное предложение-внимательно посмотреть на текст, с которым он работает, чтобы понять, почему возникает ошибка.

0 Ответов