[AHK] AutoHotkey 를 위 한 표현 식 값 구하 기 기능 (eval 함수)

1128 단어 AutoHotkey능률.
AutoHotkey 를 위해 표현 식 값 구하 기 기능 (eval 함수) 을 만 듭 니 다. 방안 은 접미사 표현 식 접미사 표현 식 일 수도 있 고 정규 표현 식 처리 표현 식 형식 일 수도 있 습 니 다.
본 위 는 두 가지 방안 을 열거 하 였 는데, 방안 은 첫째, 엑셀 의 Com 대상 을 이용 하여 보조 계산 을 하 는데, 장점 은 지지% 이다  자동 으로 공백 무시  또한 excel 의 내장 함수, 예 를 들 어 sum 과 같은 함수 도 지원 합 니 다.
방안 2: VBScript 의 Com 대상 을 이용 하여 보조 적 으로 계산 합 니 다. 간단명료 하지만% 를 지원 하지 않 고 빈 칸 을 자동 으로 무시 할 수 있 으 며 영어 함수 도 지원 하지 않 습 니 다.

; excel       %    
;  : David  (153671978)  
oExcel := ComObjCreate("Excel.Application")  
oExcel.Workbooks.Add 
MsgBox % oExcalc("(1     + 4%)*100 ")
MsgBox % oExcalc("(1     + 12^2  )*100 /3400")
MsgBox % oExcalc("sum(1     + 2  +3+4+5+6+7+8+9+10)")
oExcel.DisplayAlerts:= False
oExcel.Quit
return

 oExcalc(string,format="")
 {
     global oExcel
     try{
        oExcel.Range("A1").Formula := "= " . string
     }
    return % oExcel.Range("A1").Value
 }




;    Vbs   ,        。
eval(str)
{
    spt := ComObjCreate("ScriptControl")
    spt.Language := "VBScript"
    Return,% spt.Eval(str)
}

좋은 웹페이지 즐겨찾기