Member 2708160 Ответов: 4

Как использовать переменную в качестве кодового блока


строка S_booktitle = "BookTitle"

строка Mycodeblock ="B."+S_booktitle +".Нижестоящим().Содержит(TxtZoeken.Текст.Нижестоящим())"


foreach (книга B в книгах)
{
если (TxtZoeken.Text != null && ( Mycodeblock)) ;


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

Что я уже пробовал:

если (TxtZoeken.Text != null && ( #Mycodeblock)) ;
если (TxtZoeken.Text != null && ( @Mycodeblock)) ;

4 Ответов

Рейтинг:
24

CPallini

Вы можете встроить движок языка сценариев в свой компьютер. C++ приложение. Lua язык программирования хорошо подходит для такой задачи, см., например: Использование Lua С C++[^].


Member 2708160

Спасибо ,

Я займусь этим делом

Реми

CPallini

Добро пожаловать.

Рейтинг:
2

Patrice T

Краткий ответ: "codeblock" не существует в C++.
Функция, которая вам нужна, - это "макрос-компилятор", интегрированный в язык во время выполнения.


Рейтинг:
1

Dave Kreskowiak

Нет, ты не можешь этого сделать. Код C/C++ генерируется во время компиляции, а не во время выполнения. Вы не можете запустить код, содержащийся в строке.


Рейтинг:
0

KarstenK

Лучше всего написать некоторый код (функции или классы), который имеет логику и входные параметры для решения вашей проблемы.

Вы можете испытать свою удачу, как описано в статье Компиляция кода C++ во время выполнения но я думаю, что это не очень хорошее решение.

Другим распространенным решением может быть командлет c# Powershell. Прочтите этот интересный материал о Вызов кода C# в Powershell и наоборот.

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