通過ScriptControl實現帶引數的公式計算

2021-04-13 00:40:06 字數 1202 閱讀 4399

今天在csdn上看到乙個問題,就是如何實現簡單的四則運算,例如a+b-c*(a+e)。然後將引數值代入到算式中進行計算。通過scriptcontrol可以完成這個功能。

首先建立乙個工程,在工程中加入乙個新的類,類名稱為class1,然後在類中加入以下定義 :

public

k1 as

integer

public

a as

integer

public

b as

integer

public

c as

integer

public

ev as

string

在form1中加入**:

dimshar 

asnew

class1

'a b c分別為賦值

shar.a =4

shar.b =6

shar.c =2

scriptcontrol1.addobject "sh

", shar

'text1是使用者輸入的算式

text1.text ="

a + b - c

"scriptcontrol1.addcode 

"function main()"&

_"dim a"&

vbcrlf &"

dim b"&

vbcrlf &"

dim c"&

vbcrlf _

&"a = sh.a"&

vbcrlf &"

b = sh.b "&

vbcrlf &"

c = sh.c"&

vbcrlf _

&vbcrlf &"

kk= "&

text1.text 

&vbcrlf &"

sh.k1 = kk "&

vbcrlf &"

end function

"scriptcontrol1.run 

"main

"msgbox

"結果等於:"&

shar.k1, , 

"運算結果"

script control支援通過自定義物件與**互動,通過addobject方法可以向scriptcontrol中加入乙個物件(**中加入了名稱為sh的class1物件),然後在算式中就可以操作sh物件了。

ScriptControl控制項屬性與方法

allowui 可讀寫,布林值,檢測是否允許執行使用者的介面元素.如果為false,則諸如訊息框之類的介面元素不可見.codeobject 返回宿主被呼叫的特定的公用成員物件.唯讀.modules 唯讀.返回宿主提供給指令碼的元件庫模組.com元件通常都是以物件收集的形式向使用者提供可以留給使用者二...

通過ActiveProcessLinks遍歷程序

程序的遍歷有多種方法。在應用程式裡可以使用createtoolhelp32snapshot函式先做個程序快照 snapshot 然後通過返回的資料進行遍歷。在核心程式設計裡可以通過核心資料結構來實現。核心結構eprocess 執行體程序塊 executive process 是乙個不透明 opaqu...

通過RestHighLevelClient操作ES

一 查詢相關 在es查詢中,must相當於sql語句中的and,should相當於or。當想要實現類似於 select from table where a and b or c or d 的功能時可以借助於es中的bool。即resthighlevelclient中的boolquerybuilde...