scriptControl eval.

Proctor.

新成员
加入
10月14日,2020年
消息
4
编程经验
Beginner
你好,
我在编码方面有点初学者,所以请原谅我,如果我的问题更容易。
我写了福彩12选5走势图应用程序,读取包含一些变量的文本文件,如下所示:

"Text1" + var1 + "Text2"
"Text3" + var2 + "Text4"
"Text5" + var3 + "Text6"

我使用了以下代码:

msscriptcontrol.scriptcontrol sc = new msscriptcontrol.scriptcontrol();
sc.language ="VBSCRIPT";
string strappdir = system.io.directory.getCurrentDirectory();
strfile ="TextFile.txt";
字符串tmpfile = path.Combine(Strappdir,strfile);
字符串tmptext = file.readalltext(tmpfile);

string var1 ="string01";
字符串var2 ="string02";
字符串var3 ="string03";

对象结果= sc.eval(tmptext);
MessageBox.show(结果.tostring());

结果不是我想成为:
Text1Text2
Text3.Text4
Text5.Text6
这就是我进入的东西 结果.

这就是我想要的
Text1String01Text2
Text3.String02Text4
Text5.String03Text6
结果不包括变量。
是否有任何类型的解决方案,使用eval功能?

谢谢。欣赏任何Aswers。
 

jmplhinney.

C#论坛主持人
工作人员
加入
2011年4月23日
消息
3,732
地点
悉尼,澳大利亚
编程经验
10+
脚本对VB.NET代码一无所知。它只知道脚本中的内容。您需要在脚本本身中声明并设置这些变量,以便它们成为评估的一部分。
 

Proctor.

新成员
加入
10月14日,2020年
消息
4
编程经验
Beginner
脚本对VB.NET代码一无所知。它只知道脚本中的内容。您需要在脚本本身中声明并设置这些变量,以便它们成为评估的一部分。
感谢您的回复。
我承认我对ScriptControl程序不太了解。你能给一些Xample如何声明变量并评估?
谢谢你。
 

jmplhinney.

C#论坛主持人
工作人员
加入
2011年4月23日
消息
3,732
地点
悉尼,澳大利亚
编程经验
10+
您通常如何编写VBScript来做您想做的事?这就是你需要在这里做的,因为这就是你正在执行的。如果您不知道如何编写福彩12选5走势图自包含的vbscript,那么这就是您所需要的学习,但这不是这样做的,因为这是福彩12选5走势图VB.NET论坛,而不是VBScript论坛。如果您想了解如何在包含vbscript代码的字符串中替换一些占位符,那么我们可以帮助您,但无论字符串包含哪个值,替换福彩12选5走势图字符串中的福彩12选5走势图值都是相同的。

解决问题的最重要且经常被忽视的步骤之一是识别问题所在。编写VBScript是福彩12选5走势图问题,替换VB.NET中的字符串中的占位符是另福彩12选5走势图完全分开的问题。你应该在担心第二个之前先解决第福彩12选5走势图,正如我所说,VB.NET论坛不是那个地方。
 

Proctor.

新成员
加入
10月14日,2020年
消息
4
编程经验
Beginner
您通常如何编写VBScript来做您想做的事?这就是你需要在这里做的,因为这就是你正在执行的。如果您不知道如何编写福彩12选5走势图自包含的vbscript,那么这就是您所需要的学习,但这不是这样做的,因为这是福彩12选5走势图VB.NET论坛,而不是VBScript论坛。如果您想了解如何在包含vbscript代码的字符串中替换一些占位符,那么我们可以帮助您,但无论字符串包含哪个值,替换福彩12选5走势图字符串中的福彩12选5走势图值都是相同的。

解决问题的最重要且经常被忽视的步骤之一是识别问题所在。编写VBScript是福彩12选5走势图问题,替换VB.NET中的字符串中的占位符是另福彩12选5走势图完全分开的问题。你应该在担心第二个之前先解决第福彩12选5走势图,正如我所说,VB.NET论坛不是那个地方。
正如我所提到的,我是福彩12选5走势图初学者,没有多少知识。我在这里问我不知道的东西。
我在.NET中写了福彩12选5走势图应用程序,但我包括scriptControl来模拟eval函数。
如果您有一些其他方法可以导入所提到的文本文件,并将值分配给变量,请告诉我。
谢谢
 

jmplhinney.

C#论坛主持人
工作人员
加入
2011年4月23日
消息
3,732
地点
悉尼,澳大利亚
编程经验
10+
如果您希望能够执行VBScript,那么您需要做的第一件事就是写福彩12选5走势图VBScript。这是福彩12选5走势图c#论坛,所以它不是询问如何做到这一点的地方。这是C#组件的只是用另福彩12选5走势图字符串替换一部分字符串。如果您首先没有该字符串,则C#部分无关紧要。直到您拥有该字符串,即福彩12选5走势图工作VBScript,C#部分是无关紧要的。一旦你有福彩12选5走势图工作的VBScript,那么你有福彩12选5走势图问题要问我们。直到那时,你没有。
 
Last edited:

jmplhinney.

C#论坛主持人
工作人员
加入
2011年4月23日
消息
3,732
地点
悉尼,澳大利亚
编程经验
10+
生病试图让它变得更简单。如果要执行VBScript,则需要编写VBScript。如果希望VBScript中的变量具有值,则需要将值为脚本中该变量的值分配。如何做到这不是福彩12选5走势图c#问题。我知道你希望它是但这不是。直到您有福彩12选5走势图工作的VBScript,向我们询问如何编写C#代码运行这样的脚本是福彩12选5走势图Moot Point。
 

Proctor.

新成员
加入
10月14日,2020年
消息
4
编程经验
Beginner
生病试图让它变得更简单。如果要执行VBScript,则需要编写VBScript。如果希望VBScript中的变量具有值,则需要将值为脚本中该变量的值分配。如何做到这不是福彩12选5走势图c#问题。我知道你希望它是但这不是。直到您有福彩12选5走势图工作的VBScript,向我们询问如何编写C#代码运行这样的脚本是福彩12选5走势图Moot Point。
这是福彩12选5走势图简单的文本文件,而不是VBScript。我想读取它,并将值分配给变量。
但如果你不想提供帮助,谢谢你不要帮助我。
再见
 

jmplhinney.

C#论坛主持人
工作人员
加入
2011年4月23日
消息
3,732
地点
悉尼,澳大利亚
编程经验
10+
这是福彩12选5走势图简单的文本文件,而不是VBScript。我想读取它,并将值分配给变量。
但如果你不想提供帮助,谢谢你不要帮助我。
再见
我担心你不明白你自己的问题。这是VBScript。你觉得这是什么事情:
C#:
sc.language ="VBSCRIPT";
That explicitly instructs the ScriptControl to interpret the text file you provide as VBScript. I repeat, you need to have working VBScript code in order to execute it. It doesn't matter how much you wish it were otherwise. If you can't write VBScript code that does what you want then you can't execute VBScript code that does what you want. It's not that I don't want to help you. I'm perfectly happy to help you with a C# question. There's a C# question in here but you haven't actually got to the stage that you can ask it because you don't have working VBScript code yet. This forum is not a place to learn how to write VBScript, no matter much you wish it was.
 

跳伞运动员

工作人员
加入
2019年4月6日
消息
2,903
地点
切萨皮克,va.
编程经验
10+
It's been years since I've had to deal with IActiveScript. It's niche knowledge that I don't really want to have to try to recall, but a lot of good information can be gleaned from the various Dr. Dobbs articles regarding script hosting.

如上所述,蛮力修复是刚刚做一些字符串替换。

下福彩12选5走势图最佳解决方案是在VB脚本字符串中读取脚本引擎,在其中设置值,然后在此后继续执行以执行用户脚本。

The most elegant solution is to implement IActiveScriptSite::GetItemInfo() and give back an interface which returns the values of various variables/symbols which the script engine cannot resolve. This is the approach I took many years ago because of the dynamic nature of what we needed in our project.

除了一边,只是在那个文本文件中阅读并只是评估或执行它不会让任何人在2000年初眨眼。如今,这将导致各种安全问题。你怎么知道在该文件中没有人注入恶意代码?
 
最佳 底部