Here's a class you can use:
Code: Select all
class NumberConversion {
static NumberToWords(InputNumber) => this.GetResult("NumberToWords", "ubiNum", InputNumber)
static NumberToDollars(InputNumber) => this.GetResult("NumberToDollars", "dNum", InputNumber)
static GetResult(Operation, InpuType, InputNumber) {
HTTP_Request := ComObject("WinHttp.WinHttpRequest.5.1")
URL := Format("https://www.dataaccess.com/webservicesserver/numberconversion.wso/{1}/JSON/debug?{2}={3}", Operation, InpuType, InputNumber)
HTTP_Request.Open("GET", URL, 0)
HTTP_Request.SetRequestHeader("Content-Type", "application/json")
HTTP_Request.Send()
ResponseText := HTTP_Request.ResponseText, HTTP_Request := ""
If (InStr(ResponseText, "<html>")) {
If !(Found := RegExMatch(ResponseText, "im)<br>\R*<b>(.*?)<\/b>", &Match))
MsgBox("Conversion failed, Response: `n" (Found ? Match[1] : ResponseText), "Conversion failed", "0x1000 0x10 0x0")
throw Error("Conversion failed", -1, Found ? Match[1] : URL)
}
ResponseText := Trim(ResponseText, '" ')
return ResponseText
}
}
Example:
Code: Select all
NumberToConvert := "500"
NumberToDollars := NumberConversion.NumberToDollars(NumberToConvert)
NumberToWords := NumberConversion.NumberToWords(NumberToConvert)
MsgBox(Format(
(Join`n
'Number To Convert: {1}
NumberConversion.NumberToWords("{1}")
=> "{2}"
NumberConversion.NumberToDollars("{1}")
=> "{2}"'
), NumberToConvert, NumberToWords, NumberToDollars))