78
Is it possible to change the line's height

Dim oCalcEdit as P

oCalcEdit = topparent:CONTROL_ACTIVEX1.activex
oCalcEdit.MultiLine = .t.
oCalcEdit.Text = "(1+6.25)/4*6/3"
oCalcEdit.InsertText("(2+6.25)/4*6/3\r\n",1)
oCalcEdit.InsertText("(3+6.25)/4*6/3\r\n",1)
oCalcEdit.InsertText("(4+6.25)/4*6/3\r\n",1)
oCalcEdit.InsertText("Total")
oCalcEdit.LineHeight = "value + 8 * dpi"
oCalcEdit.DrawGridLines = .t.

77
How do I put a picture on the control's background

Dim oCalcEdit as P

oCalcEdit = topparent:CONTROL_ACTIVEX1.activex
oCalcEdit.Picture = oCalcEdit.ExecuteTemplate("loadpicture(`c:\exontrol\images\zipdisk.gif`)")
oCalcEdit.PictureDisplay = 0
oCalcEdit.MultiLine = .t.
oCalcEdit.Text = "(1+6.25)/4*6/3"
oCalcEdit.InsertText("\r\n",1)
oCalcEdit.InsertText("\r\n",1)
oCalcEdit.InsertText("\r\n",1)
? "Expression: " 
? oCalcEdit.Text 
? "Result: " 
? oCalcEdit.Result() 

76
How do I get the numbers only, with no Total fields (method 2)

Dim oCalcEdit as P

oCalcEdit = topparent:CONTROL_ACTIVEX1.activex
oCalcEdit.MultiLine = .t.
oCalcEdit.FormatResult = "<fgcolor=808080><r> = %%"
oCalcEdit.InsertText("100 * 200")
oCalcEdit.InsertText("300 * 400 * 1.5")
oCalcEdit.InsertText("200 + ( 400 * 1.5 + 300 / 1.19)")
oCalcEdit.InsertText("Total")
? oCalcEdit.ExecuteTemplate("FormatABC(\"lower(A) replace `total` with ``\", Text)") 

75
How do I get the numbers only, with no Total fields (method 1)

Dim oCalcEdit as P

oCalcEdit = topparent:CONTROL_ACTIVEX1.activex
oCalcEdit.MultiLine = .t.
oCalcEdit.FormatResult = "<fgcolor=808080><r> = %%"
oCalcEdit.InsertText("100 * 200")
oCalcEdit.InsertText("300 * 400 * 1.5")
oCalcEdit.InsertText("200 + ( 400 * 1.5 + 300 / 1.19)")
oCalcEdit.InsertText("Total")
? oCalcEdit.FormatABC("lower(A) replace `total` with ``",oCalcEdit.Text) 

74
How do I customize the format to display the result (right,local,2 decimals,less,font)

Dim oCalcEdit as P

oCalcEdit = topparent:CONTROL_ACTIVEX1.activex
oCalcEdit.MultiLine = .t.
oCalcEdit.LineHeight = "value + 8 * dpi"
oCalcEdit.FormatLocal = "( value < 10000 ? `<fgcolor=000000><b><font ;16>` : ``) + (value format `2`)"
oCalcEdit.FormatResult = "<fgcolor=808080><r> = %l%"
oCalcEdit.InsertText("100 * 200")
oCalcEdit.InsertText("300 * 400 * 1.5")
oCalcEdit.InsertText("200 + ( 400 * 1.5 + 300 / 1.19)")

73
How do I customize the format to display the result (right,local,2 decimals,greater,color)

Dim oCalcEdit as P

oCalcEdit = topparent:CONTROL_ACTIVEX1.activex
oCalcEdit.MultiLine = .t.
oCalcEdit.FormatLocal = "( value > 10000 ? `<fgcolor=FF0000><b>` : ``) + (value format `2`)"
oCalcEdit.FormatResult = "<fgcolor=808080><r> = %l%"
oCalcEdit.InsertText("100 * 200")
oCalcEdit.InsertText("300 * 400 * 1.5")
oCalcEdit.InsertText("200 + ( 400 * 1.5 + 300 / 1.19)")

72
How do I customize the format to display the result (right,local,all decimals)

Dim oCalcEdit as P

oCalcEdit = topparent:CONTROL_ACTIVEX1.activex
oCalcEdit.MultiLine = .t.
oCalcEdit.FormatLocal = "value"
oCalcEdit.FormatResult = "<fgcolor=808080><r> = %l%"
oCalcEdit.InsertText("100 * 200")
oCalcEdit.InsertText("300 * 400 * 1.5")
oCalcEdit.InsertText("200 + ( 400 * 1.5 + 300 / 1.19)")

71
How do I customize the format to display the result (right,local,2 decimals)

Dim oCalcEdit as P

oCalcEdit = topparent:CONTROL_ACTIVEX1.activex
oCalcEdit.MultiLine = .t.
oCalcEdit.FormatLocal = "value format `2`"
oCalcEdit.FormatResult = "<fgcolor=808080><r> = %l%"
oCalcEdit.InsertText("100 * 200")
oCalcEdit.InsertText("300 * 400 * 1.5")
oCalcEdit.InsertText("200 + ( 400 * 1.5 + 300 / 1.19)")

70
How do I customize the format to display the result (right,local,curency)

Dim oCalcEdit as P

oCalcEdit = topparent:CONTROL_ACTIVEX1.activex
oCalcEdit.MultiLine = .t.
oCalcEdit.FormatLocal = "currency(value)"
oCalcEdit.FormatResult = "<fgcolor=808080><r> = %l%"
oCalcEdit.InsertText("100 * 200")
oCalcEdit.InsertText("300 * 400 * 1.5")
oCalcEdit.InsertText("200 + ( 400 * 1.5 + 300 / 1.19)")

69
How do I customize the format to display the result (right,local)

Dim oCalcEdit as P

oCalcEdit = topparent:CONTROL_ACTIVEX1.activex
oCalcEdit.MultiLine = .t.
oCalcEdit.FormatResult = "<fgcolor=808080><r> = %l%"
oCalcEdit.InsertText("100 * 200")
oCalcEdit.InsertText("300 * 400 * 1.5")
oCalcEdit.InsertText("200 + ( 400 * 1.5 + 300 / 1.19)")

68
How do I customize the format to display the result (right)

Dim oCalcEdit as P

oCalcEdit = topparent:CONTROL_ACTIVEX1.activex
oCalcEdit.MultiLine = .t.
oCalcEdit.FormatResult = "<fgcolor=808080><r> = %%"
oCalcEdit.InsertText("100 * 200")
oCalcEdit.InsertText("300 * 400 * 1.5")
oCalcEdit.InsertText("200 + ( 400 * 1.5 + 300 / 1.19)")

67
How do I customize the format to display the result (default)

Dim oCalcEdit as P

oCalcEdit = topparent:CONTROL_ACTIVEX1.activex
oCalcEdit.MultiLine = .t.
oCalcEdit.InsertText("100 * 200")
oCalcEdit.InsertText("300 * 400 * 1.5")
oCalcEdit.InsertText("200 + ( 400 * 1.5 + 300 / 1.19)")

66
How can I force a line to be there all the time, so user can not delete it, for instance Total

Dim oCalcEdit as P

oCalcEdit = topparent:CONTROL_ACTIVEX1.activex
oCalcEdit.MultiLine = .t.
oCalcEdit.InsertLockedText("Total")
oCalcEdit.InsertText("100")
oCalcEdit.InsertText("200")
oCalcEdit.InsertText("300")

65
Is it possible to get the value of specified variable

Dim oCalcEdit as P

oCalcEdit = topparent:CONTROL_ACTIVEX1.activex
oCalcEdit.MultiLine = .t.
oCalcEdit.InsertText("100")
oCalcEdit.InsertText("200")
oCalcEdit.InsertText("300")
oCalcEdit.InsertText("TVA = Total * 0.19")
oCalcEdit.InsertText("Total")
? "The TVA is: " 
? oCalcEdit.Variable("TVA") 

64
How do I get the total

Dim oCalcEdit as P

oCalcEdit = topparent:CONTROL_ACTIVEX1.activex
oCalcEdit.MultiLine = .t.
oCalcEdit.InsertText("100")
oCalcEdit.InsertText("200")
oCalcEdit.InsertText("300")
oCalcEdit.InsertText("Total")
? "The total is: " 
? oCalcEdit.Variable("Total") 

63
How do I get the easter date

Dim oCalcEdit as P

oCalcEdit = topparent:CONTROL_ACTIVEX1.activex
oCalcEdit.MultiLine = .t.
oCalcEdit.CalcType = -1
oCalcEdit.ClearWildFormats()
oCalcEdit.FormatResult = "<r><fgcolor=008000><b>(%%)"
oCalcEdit.AllowComments = "<fgcolor=008000>//"
oCalcEdit.AddWildFormat("*=*<fgcolor=008000>//*")
oCalcEdit.AddWildFormat("<fgcolor=808080>V*=*")
oCalcEdit.AddWildFormat("<b>EasterSundayDay*=*")
oCalcEdit.BackColorLockedLine = 0
oCalcEdit.ForeColorLockedLine = 0
oCalcEdit.Text = "Year = 2018 // change here the year, to get the Easter Sunday for giving year"
oCalcEdit.InsertLockedText("V1 = (((255 - 11 * (Year mod 19)) - 21) mod 30)")
oCalcEdit.InsertLockedText("V2 = ((V1 + 21) + (V1 > 48 ? -1 : 0) + 6 - ((Year + int(Year / 4)) + V1 + (V1 > 48 ? -1 : 0) + 1) mod 7)")
oCalcEdit.InsertLockedText("EasterSundayDay = date(dateS('3/1/' + Year)  + V2)")
? "Easter Sunday Day is " 
? oCalcEdit.Variable("EasterSundayDay") 
? " for year " 
? oCalcEdit.Variable("Year") 

62
I've got a red line while I type into the control. How can I disable that (sample 2)

Dim oCalcEdit as P

oCalcEdit = topparent:CONTROL_ACTIVEX1.activex
oCalcEdit.AllowFormatInvalidOnTyping = .f.
oCalcEdit.MultiLine = .t.
oCalcEdit.Text = "100 + 200(invalid)"

61
I've got a red line while I type into the control. How can I disable that (sample 1)

Dim oCalcEdit as P

oCalcEdit = topparent:CONTROL_ACTIVEX1.activex
oCalcEdit.FormatInvalid = ""
oCalcEdit.Text = "100 + 200(invalid)"

60
How do I specify the color to show the locked lines

Dim oCalcEdit as P

oCalcEdit = topparent:CONTROL_ACTIVEX1.activex
oCalcEdit.MultiLine = .t.
oCalcEdit.AllowVariables = "="
oCalcEdit.DrawGridLines = .t.
oCalcEdit.LineHeight = "value + 8 * dpi"
oCalcEdit.GridLineColor = 12895428
oCalcEdit.FormatResult = "<r>[=%l%]"
oCalcEdit.FormatLocal = "currency(value)"
oCalcEdit.FormatTotalResult = "<r><b> <fgcolor=FFFFFF>= %l%</b>"
oCalcEdit.BackColorLockedLine = 65536
oCalcEdit.ForeColorLockedLine = 16777215
oCalcEdit.InsertText("100")
oCalcEdit.InsertText("200")
oCalcEdit.InsertLockedText("VAT = Total * 0.20")
oCalcEdit.InsertLockedText("Total")

59
Can I remove the colors that indicates locked lines

Dim oCalcEdit as P

oCalcEdit = topparent:CONTROL_ACTIVEX1.activex
oCalcEdit.MultiLine = .t.
oCalcEdit.AllowVariables = "="
oCalcEdit.DrawGridLines = .t.
oCalcEdit.LineHeight = "value + 8 * dpi"
oCalcEdit.GridLineColor = 12895428
oCalcEdit.FormatResult = "<r><fgcolor=808080>[=%l%]"
oCalcEdit.FormatLocal = "currency(value)"
oCalcEdit.FormatTotalResult = "<r><b> = %l%</b>"
oCalcEdit.BackColorLockedLine = 0
oCalcEdit.ForeColorLockedLine = 0
oCalcEdit.InsertText("100")
oCalcEdit.InsertText("200")
oCalcEdit.InsertLockedText("VAT = Total * 0.20")
oCalcEdit.InsertLockedText("Total")

58
Can I add lines to the control, so the user can not remove/delete them ( locked lines )

Dim oCalcEdit as P

oCalcEdit = topparent:CONTROL_ACTIVEX1.activex
oCalcEdit.MultiLine = .t.
oCalcEdit.CalcType = -1
oCalcEdit.AllowVariables = "="
oCalcEdit.DrawGridLines = .t.
oCalcEdit.LineHeight = "value + 8 * dpi"
oCalcEdit.GridLineColor = 12895428
oCalcEdit.FormatResult = "<r><fgcolor=808080>[=%l%]"
oCalcEdit.FormatLocal = "currency(value)"
oCalcEdit.FormatTotalResult = "<r><b> = %l%</b>"
oCalcEdit.Text = "1000"
oCalcEdit.InsertText("2000")
oCalcEdit.InsertLockedText("Commission = Total * 0.05 + (Total ? 2.95 : 0)")
oCalcEdit.InsertLockedText("Total")

57
Is it possible to highlight a specified line

Dim oCalcEdit as P

oCalcEdit = topparent:CONTROL_ACTIVEX1.activex
oCalcEdit.MultiLine = .t.
oCalcEdit.AllowVariables = "="
oCalcEdit.DrawGridLines = .t.
oCalcEdit.LineHeight = "value + 8 * dpi"
oCalcEdit.GridLineColor = 12895428
oCalcEdit.FormatResult = "<r><fgcolor=808080>[=%l%]"
oCalcEdit.FormatLocal = "currency(value)"
oCalcEdit.FormatTotalResult = "<r><b> = %l%</b>"
oCalcEdit.AddWildFormat("<fgcolor=00FF00>*<b>Commission</b>*=*")
oCalcEdit.Text = "100.50 + 123"
oCalcEdit.InsertText("200 + 20/5")
oCalcEdit.InsertText("300 + 3 * 15")
oCalcEdit.InsertText("400 + 200 * (10 + 12/45)")
oCalcEdit.InsertText("50 * 45")
oCalcEdit.InsertText("VAT = Total * 0.19")
oCalcEdit.InsertText("NET = Total - VAT")
oCalcEdit.InsertText("Monthly = Total / 12")
oCalcEdit.InsertText("Commission = Total * 0.05 + 2.95")
oCalcEdit.InsertText("Total")

56
Is it possible to display the result as currency

Dim oCalcEdit as P

oCalcEdit = topparent:CONTROL_ACTIVEX1.activex
oCalcEdit.MultiLine = .t.
oCalcEdit.AllowVariables = "="
oCalcEdit.DrawGridLines = .t.
oCalcEdit.LineHeight = "value + 8 * dpi"
oCalcEdit.GridLineColor = 12895428
oCalcEdit.FormatLocal = "currency(value)"
oCalcEdit.FormatTotalResult = "<r><b> = %l%</b>"
oCalcEdit.BackColorTotal = 15790320
oCalcEdit.Text = "100.50"
oCalcEdit.InsertText("200")
oCalcEdit.InsertText("300")
oCalcEdit.InsertText("400")
oCalcEdit.InsertText("VAT = Total * 0.19")
oCalcEdit.InsertText("NET = Total - VAT")
oCalcEdit.InsertText("Total")

55
Is it possible to display the result with no decimals

Dim oCalcEdit as P

oCalcEdit = topparent:CONTROL_ACTIVEX1.activex
oCalcEdit.MultiLine = .t.
oCalcEdit.AllowVariables = "="
oCalcEdit.DrawGridLines = .t.
oCalcEdit.LineHeight = "value + 8 * dpi"
oCalcEdit.GridLineColor = 12895428
oCalcEdit.FormatLocal = "value format `0`"
oCalcEdit.FormatTotalResult = "<r><b> = %l%</b>"
oCalcEdit.BackColorTotal = 15790320
oCalcEdit.Text = "100.50"
oCalcEdit.InsertText("200")
oCalcEdit.InsertText("300")
oCalcEdit.InsertText("400")
oCalcEdit.InsertText("VAT = Total * 0.19")
oCalcEdit.InsertText("NET = Total - VAT")
oCalcEdit.InsertText("Total")

54
Is it possible to display the result exactly how it is defined in the control panel

Dim oCalcEdit as P

oCalcEdit = topparent:CONTROL_ACTIVEX1.activex
oCalcEdit.MultiLine = .t.
oCalcEdit.AllowVariables = "="
oCalcEdit.DrawGridLines = .t.
oCalcEdit.LineHeight = "value + 8 * dpi"
oCalcEdit.GridLineColor = 12895428
oCalcEdit.FormatLocal = "value format ``"
oCalcEdit.FormatTotalResult = "<r><b> = %l%</b>"
oCalcEdit.BackColorTotal = 15790320
oCalcEdit.Text = "100.50"
oCalcEdit.InsertText("200")
oCalcEdit.InsertText("300")
oCalcEdit.InsertText("400")
oCalcEdit.InsertText("VAT = Total * 0.19")
oCalcEdit.InsertText("NET = Total - VAT")
oCalcEdit.InsertText("Total")

53
How can I count the lines

Dim oCalcEdit as P

oCalcEdit = topparent:CONTROL_ACTIVEX1.activex
oCalcEdit.MultiLine = .t.
oCalcEdit.AllowCount = "count"
oCalcEdit.AllowSubCount = "subcount"
oCalcEdit.DrawGridLines = .t.
oCalcEdit.LineHeight = "value + 8 * dpi"
oCalcEdit.GridLineColor = 12895428
oCalcEdit.InsertText("100")
oCalcEdit.InsertText("200")
oCalcEdit.InsertText("SubCount")
oCalcEdit.InsertText("300")
oCalcEdit.InsertText("400")
oCalcEdit.InsertText("500")
oCalcEdit.InsertText("SubCount")
oCalcEdit.InsertText("Count")

52
How can I compute the average
Dim oCalcEdit as P

oCalcEdit = topparent:CONTROL_ACTIVEX1.activex
oCalcEdit.MultiLine = .t.
oCalcEdit.AllowVariables = "="
oCalcEdit.DrawGridLines = .t.
oCalcEdit.LineHeight = "value + 8 * dpi"
oCalcEdit.GridLineColor = 12895428
oCalcEdit.FormatTotalResult = "<r><b> = %l%</b>"
oCalcEdit.BackColorTotal = 15790320
oCalcEdit.Text = "Average = Total / Count"
oCalcEdit.InsertText("100")
oCalcEdit.InsertText("200")
oCalcEdit.InsertText("300")
oCalcEdit.InsertText("400")
oCalcEdit.InsertText("VAT = Total * 0.19")
oCalcEdit.InsertText("NET = Total - VAT")
oCalcEdit.InsertText("Total")

51
Variables or Computed Fields

Dim oCalcEdit as P

oCalcEdit = topparent:CONTROL_ACTIVEX1.activex
oCalcEdit.MultiLine = .t.
oCalcEdit.AllowVariables = "="
oCalcEdit.DrawGridLines = .t.
oCalcEdit.LineHeight = "value + 8 * dpi"
oCalcEdit.GridLineColor = 12895428
oCalcEdit.FormatTotalResult = "<r><b> = %l%</b>"
oCalcEdit.BackColorTotal = 15790320
oCalcEdit.Text = "100"
oCalcEdit.InsertText("200")
oCalcEdit.InsertText("300")
oCalcEdit.InsertText("400")
oCalcEdit.InsertText("VAT = Total * 0.19")
oCalcEdit.InsertText("NET = Total - VAT")
oCalcEdit.InsertText("Total")

50
I have noticed that definition of the variable is shown in italics. Can I change that

Dim oCalcEdit as P

oCalcEdit = topparent:CONTROL_ACTIVEX1.activex
oCalcEdit.MultiLine = .t.
oCalcEdit.AllowVariables = "="
oCalcEdit.ClearWildFormats()
oCalcEdit.AddWildFormat("<b>*=*")
oCalcEdit.Text = "A = 400"
oCalcEdit.InsertText("")
oCalcEdit.InsertText("B = A + 0.22")
oCalcEdit.InsertText("A + B")
oCalcEdit.InsertText("B = B * .19")
oCalcEdit.InsertText("A + B")

49
I have noticed that definition of the variable is shown in italics. Can I remove that

Dim oCalcEdit as P

oCalcEdit = topparent:CONTROL_ACTIVEX1.activex
oCalcEdit.MultiLine = .t.
oCalcEdit.AllowVariables = "="
oCalcEdit.ClearWildFormats()
oCalcEdit.Text = "A = 300"
oCalcEdit.InsertText("")
oCalcEdit.InsertText("B = A + 0.22")
oCalcEdit.InsertText("A + B")
oCalcEdit.InsertText("B = B * .19")
oCalcEdit.InsertText("A + B")

48
Can I define variables (sample 2)

Dim oCalcEdit as P

oCalcEdit = topparent:CONTROL_ACTIVEX1.activex
oCalcEdit.MultiLine = .t.
oCalcEdit.AllowVariables = "is"
oCalcEdit.ClearWildFormats()
oCalcEdit.AddWildFormat("<b>*is*")
oCalcEdit.Text = "A is 200"
oCalcEdit.InsertText("")
oCalcEdit.InsertText("B is A + 0.22")
oCalcEdit.InsertText("A + B")
oCalcEdit.InsertText("B is B * .19")
oCalcEdit.InsertText("A + B")

47
Can I define variables (sample 1)

Dim oCalcEdit as P

oCalcEdit = topparent:CONTROL_ACTIVEX1.activex
oCalcEdit.MultiLine = .t.
oCalcEdit.AllowVariables = "="
oCalcEdit.Text = "A = 100.22"
oCalcEdit.InsertText("")
oCalcEdit.InsertText("B = A + 0.22")
oCalcEdit.InsertText("A + B")
oCalcEdit.InsertText("B = B * .19")
oCalcEdit.InsertText("A + B")

46
Comments and Prefixes

Dim oCalcEdit as P

oCalcEdit = topparent:CONTROL_ACTIVEX1.activex
oCalcEdit.MultiLine = .t.
oCalcEdit.AllowPrefixes = "<fgcolor=808080>:</fgcolor>"
oCalcEdit.AllowComments = "<fgcolor=008080>'</fgcolor>"
oCalcEdit.Text = "Field A: 100 ' this is the field A"
oCalcEdit.InsertText("Field B: 200 ' this is the field B")
oCalcEdit.InsertText("Total")

45
Can I display something at the start of each line

Dim oCalcEdit as P

oCalcEdit = topparent:CONTROL_ACTIVEX1.activex
oCalcEdit.MultiLine = .t.
oCalcEdit.AllowPrefixes = "<b>:</b>"
oCalcEdit.Text = "Field A: 100"
oCalcEdit.InsertText("Field B: 200")
oCalcEdit.InsertText("Total")

44
I can not use TAB key. Is it possible
Dim oCalcEdit as P

oCalcEdit = topparent:CONTROL_ACTIVEX1.activex
oCalcEdit.UseTabKey = .t.

43
Does your control support comments

Dim oCalcEdit as P

oCalcEdit = topparent:CONTROL_ACTIVEX1.activex
oCalcEdit.MultiLine = .t.
oCalcEdit.CalcType = -1
oCalcEdit.AllowComments = "<fgcolor=008080>//</fgcolor>"
oCalcEdit.Text = "104 mod 51 // modulo function"
oCalcEdit.InsertText("int(104/51)  // int function")
oCalcEdit.InsertText("51 * int(104/51) + (104 mod 51)  // check")

42
Can I use the modulo function ( rest )

Dim oCalcEdit as P

oCalcEdit = topparent:CONTROL_ACTIVEX1.activex
oCalcEdit.MultiLine = .t.
oCalcEdit.CalcType = -1
oCalcEdit.Text = "104 mod 51"
oCalcEdit.InsertText("int(104/51)")
oCalcEdit.InsertText("51 * int(104/51) + (104 mod 51)")

41
Can I use acos function

Dim oCalcEdit as P

oCalcEdit = topparent:CONTROL_ACTIVEX1.activex
oCalcEdit.CalcType = -1
oCalcEdit.Text = "acos(cos(1))"

40
Can I use asin function

Dim oCalcEdit as P

oCalcEdit = topparent:CONTROL_ACTIVEX1.activex
oCalcEdit.CalcType = -1
oCalcEdit.Text = "asin(sin(1))"

39
Can I use cos function

Dim oCalcEdit as P

oCalcEdit = topparent:CONTROL_ACTIVEX1.activex
oCalcEdit.CalcType = -1
oCalcEdit.Text = "cos(1)"

38
Can I use sin function

Dim oCalcEdit as P

oCalcEdit = topparent:CONTROL_ACTIVEX1.activex
oCalcEdit.CalcType = -1
oCalcEdit.Text = "sin(1)"

37
Can I use abs function (absolute part of the number)

Dim oCalcEdit as P

oCalcEdit = topparent:CONTROL_ACTIVEX1.activex
oCalcEdit.CalcType = -1
oCalcEdit.Text = "abs(-100.99)"

36
Can I use round function

Dim oCalcEdit as P

oCalcEdit = topparent:CONTROL_ACTIVEX1.activex
oCalcEdit.CalcType = -1
oCalcEdit.Text = "round(100.99)"

35
Can I use int function (integer part of a number)

Dim oCalcEdit as P

oCalcEdit = topparent:CONTROL_ACTIVEX1.activex
oCalcEdit.CalcType = -1
oCalcEdit.Text = "int(100.99)"

34
Can I use sqrt function (square root of a number)

Dim oCalcEdit as P

oCalcEdit = topparent:CONTROL_ACTIVEX1.activex
oCalcEdit.CalcType = -1
oCalcEdit.Text = "sqrt(100)"

33
How can I show invalid lines with a larger font

Dim oCalcEdit as P

oCalcEdit = topparent:CONTROL_ACTIVEX1.activex
oCalcEdit.MultiLine = .t.
oCalcEdit.LineHeight = "value + 8 *dpi"
oCalcEdit.DrawGridLines = .t.
oCalcEdit.FormatInvalid = "<u><font ;12> </font></u>"
oCalcEdit.InsertText("100")
oCalcEdit.InsertText("k200")
oCalcEdit.InsertText("300")

32
I've noticed that while I type the text is shown in red. How can I change that

Dim oCalcEdit as P

oCalcEdit = topparent:CONTROL_ACTIVEX1.activex
oCalcEdit.FormatInvalid = ""
oCalcEdit.Text = "100 * 200"

31
Can I enlarge the height of each line

Dim oCalcEdit as P

oCalcEdit = topparent:CONTROL_ACTIVEX1.activex
oCalcEdit.MultiLine = .t.
oCalcEdit.LineHeight = "value + 8 * dpi"
oCalcEdit.DrawGridLines = .t.
oCalcEdit.InsertText("100")
oCalcEdit.InsertText("200")
oCalcEdit.InsertText("300")
oCalcEdit.InsertText("Total")

30
How can I show grid lines

Dim oCalcEdit as P

oCalcEdit = topparent:CONTROL_ACTIVEX1.activex
oCalcEdit.MultiLine = .t.
oCalcEdit.DrawGridLines = .t.
oCalcEdit.GridLineColor = 0
oCalcEdit.InsertText("100")
oCalcEdit.InsertText("200")
oCalcEdit.InsertText("300")
oCalcEdit.InsertText("Total")

29
How can I display the result of the total with a larger font

Dim oCalcEdit as P

oCalcEdit = topparent:CONTROL_ACTIVEX1.activex
oCalcEdit.MultiLine = .t.
oCalcEdit.DrawGridLines = .t.
oCalcEdit.LineHeight = "value  + 8 * dpi"
oCalcEdit.FormatTotalResult = "<r><b><font ;14>%l%</font></b>"
oCalcEdit.AllowTotal = "<b><font ;14>Total</font></b>"
oCalcEdit.InsertText("100")
oCalcEdit.InsertText("200")
oCalcEdit.InsertText("300")
oCalcEdit.InsertText("Total")

28
Is it possible to show the Total / SubTotal with a different background color

Dim oCalcEdit as P

oCalcEdit = topparent:CONTROL_ACTIVEX1.activex
oCalcEdit.MultiLine = .t.
oCalcEdit.AllowTotal = "<bgcolor=A0A0A0><b>Total</b></bgcolor>"
oCalcEdit.AllowSubTotal = "<bgcolor=E0E0E0><b>SubTotal</b></bgcolor>"
oCalcEdit.InsertText("100")
oCalcEdit.InsertText("200")
oCalcEdit.InsertText("SubTotal")
oCalcEdit.InsertText("300")
oCalcEdit.InsertText("400 * 1.5")
oCalcEdit.InsertText("SubTotal")
oCalcEdit.InsertText("Total")

27
Is it possible to show the Total / SubTotal with a different background color

Dim oCalcEdit as P

oCalcEdit = topparent:CONTROL_ACTIVEX1.activex
oCalcEdit.MultiLine = .t.
oCalcEdit.BackColorTotal = 12895428
oCalcEdit.BackColorSubTotal = 15790320
oCalcEdit.InsertText("100")
oCalcEdit.InsertText("200")
oCalcEdit.InsertText("SubTotal")
oCalcEdit.InsertText("300")
oCalcEdit.InsertText("400 * 1.5")
oCalcEdit.InsertText("SubTotal")
oCalcEdit.InsertText("Total")

26
How can I change the color to show the numbers

Dim oCalcEdit as P

oCalcEdit = topparent:CONTROL_ACTIVEX1.activex
oCalcEdit.FormatNumbers = "<fgcolor=FF0000> </fgcolor>"
oCalcEdit.Text = "1 + 2 + 3 + 4"

25
The numbers are shown in blue. How can I remove that

Dim oCalcEdit as P

oCalcEdit = topparent:CONTROL_ACTIVEX1.activex
oCalcEdit.FormatNumbers = ""
oCalcEdit.Text = "1 + 2 + 3 + 4"

24
How can I export the entire text, including the result

Dim oCalcEdit as P

oCalcEdit = topparent:CONTROL_ACTIVEX1.activex
oCalcEdit.MultiLine = .t.
oCalcEdit.Text = "100 * 1.5"
oCalcEdit.InsertText("120 * 1.5")
oCalcEdit.InsertText("130 * 1.5")
oCalcEdit.InsertText("Total")
? oCalcEdit.Export 

23
Is it possible to display the result, using the current regional locale

Dim oCalcEdit as P

oCalcEdit = topparent:CONTROL_ACTIVEX1.activex
oCalcEdit.MultiLine = .t.
oCalcEdit.DrawGridLines = .t.
oCalcEdit.FormatResult = " <fgcolor=808080>[=%l%]</fgcolor>"
oCalcEdit.FormatTotalResult = " <b>[=%l%]</b>"
oCalcEdit.InsertText("100 * 100")
oCalcEdit.InsertText("200 * 200")
oCalcEdit.InsertText("300 * 300")
oCalcEdit.InsertText("Total")

22
How can I change the format to display the total result (right)

Dim oCalcEdit as P

oCalcEdit = topparent:CONTROL_ACTIVEX1.activex
oCalcEdit.MultiLine = .t.
oCalcEdit.DrawGridLines = .t.
oCalcEdit.FormatTotalResult = "<b><fgcolor=FF0000> = %l%</fgcolor></b>"
oCalcEdit.AllowTotal = "<b><fgcolor=00FF00>Total</fgcolor></b>"
oCalcEdit.InsertText("100")
oCalcEdit.InsertText("200")
oCalcEdit.InsertText("300")
oCalcEdit.InsertText("Total")

21
How can I change the format to display the total result (right)

Dim oCalcEdit as P

oCalcEdit = topparent:CONTROL_ACTIVEX1.activex
oCalcEdit.MultiLine = .t.
oCalcEdit.DrawGridLines = .t.
oCalcEdit.LineHeight = "value  + 4 * dpi"
oCalcEdit.FormatTotalResult = "<r><b><font ;12>%l%</font></b>"
oCalcEdit.AllowTotal = "<b><font ;12>Total</font></b>"
oCalcEdit.InsertText("100")
oCalcEdit.InsertText("200")
oCalcEdit.InsertText("300")
oCalcEdit.InsertText("Total")

20
Is it possible to rename the SubTotal

Dim oCalcEdit as P

oCalcEdit = topparent:CONTROL_ACTIVEX1.activex
oCalcEdit.MultiLine = .t.
oCalcEdit.AllowSubTotal = "<fgcolor=FF0000>Current Amount"
oCalcEdit.InsertText("100")
oCalcEdit.InsertText("200")
oCalcEdit.InsertText("Current Amount")
oCalcEdit.InsertText("300")
oCalcEdit.InsertText("400")
oCalcEdit.InsertText("Current Amount")
oCalcEdit.InsertText("Total")

19
How can I disable the sub-totals

Dim oCalcEdit as P

oCalcEdit = topparent:CONTROL_ACTIVEX1.activex
oCalcEdit.MultiLine = .t.
oCalcEdit.AllowSubTotal = ""
oCalcEdit.InsertText("100")
oCalcEdit.InsertText("200")
oCalcEdit.InsertText("SubTotal")
oCalcEdit.InsertText("300")
oCalcEdit.InsertText("400")
oCalcEdit.InsertText("SubTotal")
oCalcEdit.InsertText("Total")

18
How can I add sub-totals

Dim oCalcEdit as P

oCalcEdit = topparent:CONTROL_ACTIVEX1.activex
oCalcEdit.MultiLine = .t.
oCalcEdit.AllowComments = "<fgcolor=008000>'"
oCalcEdit.AddWildFormat("<i>*=*<fgcolor=008000>'*")
oCalcEdit.AllowVariables = "="
oCalcEdit.DrawGridLines = .t.
oCalcEdit.LineHeight = "value + 8 * dpi"
oCalcEdit.GridLineColor = 12895428
oCalcEdit.FormatLocal = "currency(value)"
oCalcEdit.FormatTotalResult = "<r><b> = %l%</b>"
oCalcEdit.FormatSubTotalResult = "<r><fgcolor=808080>[<b> = %l%</b>]"
oCalcEdit.FormatResult = "<r><fgcolor=808080>(%l%)"
oCalcEdit.BackColorTotal = 15790320
oCalcEdit.BackColorLockedLine = 0
oCalcEdit.ForeColorLockedLine = 0
oCalcEdit.CalcType = -1
oCalcEdit.Text = "100 + 200"
oCalcEdit.InsertText("200 * 1.5")
oCalcEdit.InsertText("SubA = SubTotal ' first subtotal")
oCalcEdit.InsertText("300 + (200+300)/2")
oCalcEdit.InsertText("400 + 500")
oCalcEdit.InsertText("SubB = SubTotal ' second subtotal")
oCalcEdit.InsertLockedText("VAT = Total * 0.19")
oCalcEdit.InsertLockedText("Commision = Total * 0.05")
oCalcEdit.InsertLockedText("NET = (Total - VAT) - Commision")
oCalcEdit.InsertLockedText("Total")

17
Is it possible to disable the Total

Dim oCalcEdit as P

oCalcEdit = topparent:CONTROL_ACTIVEX1.activex
oCalcEdit.AllowTotal = ""
oCalcEdit.MultiLine = .t.
oCalcEdit.InsertText("100")
oCalcEdit.InsertText("200")
oCalcEdit.InsertText("300")
oCalcEdit.InsertText("Total")

16
Is it possible to rename the Total to Sum

Dim oCalcEdit as P

oCalcEdit = topparent:CONTROL_ACTIVEX1.activex
oCalcEdit.AllowTotal = "<fgcolor=FF0000><b>Sum</b></fgcolor>"
oCalcEdit.MultiLine = .t.
oCalcEdit.InsertText("100")
oCalcEdit.InsertText("200")
oCalcEdit.InsertText("300")
oCalcEdit.InsertText("Sum")

15
Is it possible to add all lines

Dim oCalcEdit as P

oCalcEdit = topparent:CONTROL_ACTIVEX1.activex
oCalcEdit.MultiLine = .t.
oCalcEdit.InsertText("100")
oCalcEdit.InsertText("200")
oCalcEdit.InsertText("300")
oCalcEdit.InsertText("Total")

14
How do I insert / add a new line

Dim oCalcEdit as P

oCalcEdit = topparent:CONTROL_ACTIVEX1.activex
oCalcEdit.MultiLine = .t.
oCalcEdit.Text = "100 * 1.5"
oCalcEdit.InsertText("120 * 2.5\r\n",1)
oCalcEdit.InsertText("200 * 1.5")

13
How do I find out if a specified line is valid

' Occurs when the user selects text in the control.
function SelChange as v ()
	oCalcEdit = topparent:CONTROL_ACTIVEX1.activex
	? "CurrentLine: " 
	? oCalcEdit.CaretLine 
	? "CurrentLine: " 
	? oCalcEdit.TextLine(oCalcEdit.CaretLine) 
	? "IsValid: " 
	? oCalcEdit.IsValid(oCalcEdit.CaretLine) 
end function

Dim oCalcEdit as P

oCalcEdit = topparent:CONTROL_ACTIVEX1.activex
oCalcEdit.MultiLine = .t.
oCalcEdit.Text = "100 * 1.5"
oCalcEdit.InsertText("invalid")
oCalcEdit.InsertText("120 * 1.5")
oCalcEdit.InsertText("130 * 1.5")

12
How do I get the current line

' Occurs when the user selects text in the control.
function SelChange as v ()
	oCalcEdit = topparent:CONTROL_ACTIVEX1.activex
	? "CurrentLine: " 
	? oCalcEdit.CaretLine 
	? "CurrentLine: " 
	? oCalcEdit.TextLine(oCalcEdit.CaretLine) 
	? "CurrentResult: " 
	? oCalcEdit.Result(oCalcEdit.CaretLine) 
end function

Dim oCalcEdit as P

oCalcEdit = topparent:CONTROL_ACTIVEX1.activex
oCalcEdit.MultiLine = .t.
oCalcEdit.Text = "100 * 1.5"
oCalcEdit.InsertText("120 * 1.5")
oCalcEdit.InsertText("130 * 1.5")

11
How do I get the line one by one, including the result

Dim oCalcEdit as P

oCalcEdit = topparent:CONTROL_ACTIVEX1.activex
oCalcEdit.MultiLine = .t.
oCalcEdit.Text = "100 * 1.5"
oCalcEdit.InsertText("120 * 1.5")
oCalcEdit.InsertText("130 * 1.5")
? "Lines:" 
? oCalcEdit.Count 
? "TextLine(1):" 
? oCalcEdit.TextLine(1) 
? "Result(1)" 
? oCalcEdit.Result(1) 
? "TextLine(2):" 
? oCalcEdit.TextLine(2) 
? "Result(2)" 
? oCalcEdit.Result(2) 
? "TextLine(3):" 
? oCalcEdit.TextLine(3) 
? "Result(3)" 
? oCalcEdit.Result(3) 

10
Does the control supports multiple lines

Dim oCalcEdit as P

oCalcEdit = topparent:CONTROL_ACTIVEX1.activex
oCalcEdit.MultiLine = .t.
oCalcEdit.Text = "100 * 1.5"
oCalcEdit.InsertText("120 * 1.5")
oCalcEdit.InsertText("130 * 1.5")

9
Is it possible to display the result without brakets

Dim oCalcEdit as P

oCalcEdit = topparent:CONTROL_ACTIVEX1.activex
oCalcEdit.FormatResult = "<fgcolor=808080> = %%</fgcolor>"
oCalcEdit.Text = "12 + (12 / 100)/2"

8
How can I display the result on the right side of the control

Dim oCalcEdit as P

oCalcEdit = topparent:CONTROL_ACTIVEX1.activex
oCalcEdit.FormatResult = "<r> <fgcolor=808080>[=%%]</fgcolor>"
oCalcEdit.Text = "12 + (12 / 100)/2"

7
Can you please advise how to change fontname and size (sample 2)

Dim oCalcEdit as P

oCalcEdit = topparent:CONTROL_ACTIVEX1.activex
oCalcEdit.Template = "Font.Size = 20; Font.Name = `Tahoma`; Refresh"
oCalcEdit.Text = "1/2"

6
Can you please advise how to change fontname and size (sample 1)

Dim oCalcEdit as P

oCalcEdit = topparent:CONTROL_ACTIVEX1.activex
oCalcEdit.Font.Size = 20
oCalcEdit.Text = "1/2"
oCalcEdit.Refresh()

5
How can I disable evaluating the selection

Dim oCalcEdit as P

oCalcEdit = topparent:CONTROL_ACTIVEX1.activex
oCalcEdit.EvaluateSel = .f.
oCalcEdit.HideSelection = .f.
oCalcEdit.Text = "(1+6.25)/4*6/3"
oCalcEdit.SelStart = 1
oCalcEdit.SelLength = 6
oCalcEdit.SelBackColor = 0

4
Can I define a different decimal separator

Dim oCalcEdit as P

oCalcEdit = topparent:CONTROL_ACTIVEX1.activex
oCalcEdit.AddDecimalSep = ","
oCalcEdit.Text = "(1+6,25)/4*6/3"

3
How do I change the color of the entire control, if the expression is not valid

' Indicates that the control's text has changed.
function Change as v ()
	oCalcEdit = topparent:CONTROL_ACTIVEX1.activex
	? "Valid:" 
	? oCalcEdit.IsValid() 
	oCalcEdit.ForeColor = 255
	oCalcEdit.FormatNumbers = "<fgcolor FF0000>"
	oCalcEdit.FormatResult = ""
end function

Dim oCalcEdit as P

oCalcEdit = topparent:CONTROL_ACTIVEX1.activex
oCalcEdit.FormatInvalid = ""
oCalcEdit.Text = "invalid(1+6.25)/4*6/3"

2
Is there any function to know if the expression is valid

' Indicates that the control's text has changed.
function Change as v ()
	oCalcEdit = topparent:CONTROL_ACTIVEX1.activex
	? "Valid:" 
	? oCalcEdit.IsValid() 
	? "Expression: " 
	? oCalcEdit.Text 
	? "Result: " 
	? oCalcEdit.Result() 
end function

Dim oCalcEdit as P

oCalcEdit = topparent:CONTROL_ACTIVEX1.activex
oCalcEdit.Text = "(1+6.25)/4*6/3"

1
How do I programatically save / load the expression and the result

Dim oCalcEdit as P

oCalcEdit = topparent:CONTROL_ACTIVEX1.activex
oCalcEdit.Text = "(1+6.25)/4*6/3"
? "Expression: " 
? oCalcEdit.Text 
? "Result: " 
? oCalcEdit.Result()