78
Is it possible to change the line's height


oDCOCX_Exontrol1:MultiLine := true
oDCOCX_Exontrol1:Text := "(1+6.25)/4*6/3"
oDCOCX_Exontrol1:InsertText("(2+6.25)/4*6/3\r\n",1)
oDCOCX_Exontrol1:InsertText("(3+6.25)/4*6/3\r\n",1)
oDCOCX_Exontrol1:InsertText("(4+6.25)/4*6/3\r\n",1)
oDCOCX_Exontrol1:InsertText("Total",nil)
oDCOCX_Exontrol1:LineHeight := "value + 8 * dpi"
oDCOCX_Exontrol1:DrawGridLines := true

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


// Generate Source for 'OLE Automation(stdole2.tlb)' server from Tools\Automation Server... with the PREFIX std
oDCOCX_Exontrol1:Picture := oDCOCX_Exontrol1:ExecuteTemplate("loadpicture(`c:\exontrol\images\zipdisk.gif`)")
oDCOCX_Exontrol1:PictureDisplay := exUpperLeft
oDCOCX_Exontrol1:MultiLine := true
oDCOCX_Exontrol1:Text := "(1+6.25)/4*6/3"
oDCOCX_Exontrol1:InsertText("\r\n",1)
oDCOCX_Exontrol1:InsertText("\r\n",1)
oDCOCX_Exontrol1:InsertText("\r\n",1)
OutputDebugString(String2Psz( "Expression: " ))
OutputDebugString(String2Psz( oDCOCX_Exontrol1:Text ))
OutputDebugString(String2Psz( "Result: " ))
OutputDebugString(String2Psz( AsString(oDCOCX_Exontrol1:[Result,nil]) ))

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


oDCOCX_Exontrol1:MultiLine := true
oDCOCX_Exontrol1:FormatResult := "<fgcolor=808080><r> = %%"
oDCOCX_Exontrol1:InsertText("100 * 200",nil)
oDCOCX_Exontrol1:InsertText("300 * 400 * 1.5",nil)
oDCOCX_Exontrol1:InsertText("200 + ( 400 * 1.5 + 300 / 1.19)",nil)
oDCOCX_Exontrol1:InsertText("Total",nil)
OutputDebugString(String2Psz( AsString(oDCOCX_Exontrol1:ExecuteTemplate("FormatABC(" + CHR(34) + "lower(A) replace `total` with ``" + CHR(34) + ", Text)")) ))

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


oDCOCX_Exontrol1:MultiLine := true
oDCOCX_Exontrol1:FormatResult := "<fgcolor=808080><r> = %%"
oDCOCX_Exontrol1:InsertText("100 * 200",nil)
oDCOCX_Exontrol1:InsertText("300 * 400 * 1.5",nil)
oDCOCX_Exontrol1:InsertText("200 + ( 400 * 1.5 + 300 / 1.19)",nil)
oDCOCX_Exontrol1:InsertText("Total",nil)
OutputDebugString(String2Psz( AsString(oDCOCX_Exontrol1:FormatABC("lower(A) replace `total` with ``",oDCOCX_Exontrol1:Text,nil,nil)) ))

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


oDCOCX_Exontrol1:MultiLine := true
oDCOCX_Exontrol1:LineHeight := "value + 8 * dpi"
oDCOCX_Exontrol1:FormatLocal := "( value < 10000 ? `<fgcolor=000000><b><font ;16>` : ``) + (value format `2`)"
oDCOCX_Exontrol1:FormatResult := "<fgcolor=808080><r> = %l%"
oDCOCX_Exontrol1:InsertText("100 * 200",nil)
oDCOCX_Exontrol1:InsertText("300 * 400 * 1.5",nil)
oDCOCX_Exontrol1:InsertText("200 + ( 400 * 1.5 + 300 / 1.19)",nil)

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


oDCOCX_Exontrol1:MultiLine := true
oDCOCX_Exontrol1:FormatLocal := "( value > 10000 ? `<fgcolor=FF0000><b>` : ``) + (value format `2`)"
oDCOCX_Exontrol1:FormatResult := "<fgcolor=808080><r> = %l%"
oDCOCX_Exontrol1:InsertText("100 * 200",nil)
oDCOCX_Exontrol1:InsertText("300 * 400 * 1.5",nil)
oDCOCX_Exontrol1:InsertText("200 + ( 400 * 1.5 + 300 / 1.19)",nil)

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


oDCOCX_Exontrol1:MultiLine := true
oDCOCX_Exontrol1:FormatLocal := "value"
oDCOCX_Exontrol1:FormatResult := "<fgcolor=808080><r> = %l%"
oDCOCX_Exontrol1:InsertText("100 * 200",nil)
oDCOCX_Exontrol1:InsertText("300 * 400 * 1.5",nil)
oDCOCX_Exontrol1:InsertText("200 + ( 400 * 1.5 + 300 / 1.19)",nil)

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


oDCOCX_Exontrol1:MultiLine := true
oDCOCX_Exontrol1:FormatLocal := "value format `2`"
oDCOCX_Exontrol1:FormatResult := "<fgcolor=808080><r> = %l%"
oDCOCX_Exontrol1:InsertText("100 * 200",nil)
oDCOCX_Exontrol1:InsertText("300 * 400 * 1.5",nil)
oDCOCX_Exontrol1:InsertText("200 + ( 400 * 1.5 + 300 / 1.19)",nil)

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


oDCOCX_Exontrol1:MultiLine := true
oDCOCX_Exontrol1:FormatLocal := "currency(value)"
oDCOCX_Exontrol1:FormatResult := "<fgcolor=808080><r> = %l%"
oDCOCX_Exontrol1:InsertText("100 * 200",nil)
oDCOCX_Exontrol1:InsertText("300 * 400 * 1.5",nil)
oDCOCX_Exontrol1:InsertText("200 + ( 400 * 1.5 + 300 / 1.19)",nil)

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


oDCOCX_Exontrol1:MultiLine := true
oDCOCX_Exontrol1:FormatResult := "<fgcolor=808080><r> = %l%"
oDCOCX_Exontrol1:InsertText("100 * 200",nil)
oDCOCX_Exontrol1:InsertText("300 * 400 * 1.5",nil)
oDCOCX_Exontrol1:InsertText("200 + ( 400 * 1.5 + 300 / 1.19)",nil)

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


oDCOCX_Exontrol1:MultiLine := true
oDCOCX_Exontrol1:FormatResult := "<fgcolor=808080><r> = %%"
oDCOCX_Exontrol1:InsertText("100 * 200",nil)
oDCOCX_Exontrol1:InsertText("300 * 400 * 1.5",nil)
oDCOCX_Exontrol1:InsertText("200 + ( 400 * 1.5 + 300 / 1.19)",nil)

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


oDCOCX_Exontrol1:MultiLine := true
oDCOCX_Exontrol1:InsertText("100 * 200",nil)
oDCOCX_Exontrol1:InsertText("300 * 400 * 1.5",nil)
oDCOCX_Exontrol1:InsertText("200 + ( 400 * 1.5 + 300 / 1.19)",nil)

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


oDCOCX_Exontrol1:MultiLine := true
oDCOCX_Exontrol1:InsertLockedText("Total",nil)
oDCOCX_Exontrol1:InsertText("100",nil)
oDCOCX_Exontrol1:InsertText("200",nil)
oDCOCX_Exontrol1:InsertText("300",nil)

65
Is it possible to get the value of specified variable


oDCOCX_Exontrol1:MultiLine := true
oDCOCX_Exontrol1:InsertText("100",nil)
oDCOCX_Exontrol1:InsertText("200",nil)
oDCOCX_Exontrol1:InsertText("300",nil)
oDCOCX_Exontrol1:InsertText("TVA = Total * 0.19",nil)
oDCOCX_Exontrol1:InsertText("Total",nil)
OutputDebugString(String2Psz( "The TVA is: " ))
OutputDebugString(String2Psz( AsString(oDCOCX_Exontrol1:[Variable,"TVA"]) ))

64
How do I get the total


oDCOCX_Exontrol1:MultiLine := true
oDCOCX_Exontrol1:InsertText("100",nil)
oDCOCX_Exontrol1:InsertText("200",nil)
oDCOCX_Exontrol1:InsertText("300",nil)
oDCOCX_Exontrol1:InsertText("Total",nil)
OutputDebugString(String2Psz( "The total is: " ))
OutputDebugString(String2Psz( AsString(oDCOCX_Exontrol1:[Variable,"Total"]) ))

63
How do I get the easter date


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

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


oDCOCX_Exontrol1:AllowFormatInvalidOnTyping := false
oDCOCX_Exontrol1:MultiLine := true
oDCOCX_Exontrol1:Text := "100 + 200(invalid)"

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


oDCOCX_Exontrol1:FormatInvalid := ""
oDCOCX_Exontrol1:Text := "100 + 200(invalid)"

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


oDCOCX_Exontrol1:MultiLine := true
oDCOCX_Exontrol1:AllowVariables := "="
oDCOCX_Exontrol1:DrawGridLines := true
oDCOCX_Exontrol1:LineHeight := "value + 8 * dpi"
oDCOCX_Exontrol1:GridLineColor := RGB(196,196,196)
oDCOCX_Exontrol1:FormatResult := "<r>[=%l%]"
oDCOCX_Exontrol1:FormatLocal := "currency(value)"
oDCOCX_Exontrol1:FormatTotalResult := "<r><b> <fgcolor=FFFFFF>= %l%</b>"
oDCOCX_Exontrol1:BackColorLockedLine := RGB(0,0,1)
oDCOCX_Exontrol1:ForeColorLockedLine := RGB(255,255,255)
oDCOCX_Exontrol1:InsertText("100",nil)
oDCOCX_Exontrol1:InsertText("200",nil)
oDCOCX_Exontrol1:InsertLockedText("VAT = Total * 0.20",nil)
oDCOCX_Exontrol1:InsertLockedText("Total",nil)

59
Can I remove the colors that indicates locked lines


oDCOCX_Exontrol1:MultiLine := true
oDCOCX_Exontrol1:AllowVariables := "="
oDCOCX_Exontrol1:DrawGridLines := true
oDCOCX_Exontrol1:LineHeight := "value + 8 * dpi"
oDCOCX_Exontrol1:GridLineColor := RGB(196,196,196)
oDCOCX_Exontrol1:FormatResult := "<r><fgcolor=808080>[=%l%]"
oDCOCX_Exontrol1:FormatLocal := "currency(value)"
oDCOCX_Exontrol1:FormatTotalResult := "<r><b> = %l%</b>"
oDCOCX_Exontrol1:BackColorLockedLine := RGB(0,0,0)
oDCOCX_Exontrol1:ForeColorLockedLine := RGB(0,0,0)
oDCOCX_Exontrol1:InsertText("100",nil)
oDCOCX_Exontrol1:InsertText("200",nil)
oDCOCX_Exontrol1:InsertLockedText("VAT = Total * 0.20",nil)
oDCOCX_Exontrol1:InsertLockedText("Total",nil)

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


oDCOCX_Exontrol1:MultiLine := true
oDCOCX_Exontrol1:CalcType := exCalcIncludeAll
oDCOCX_Exontrol1:AllowVariables := "="
oDCOCX_Exontrol1:DrawGridLines := true
oDCOCX_Exontrol1:LineHeight := "value + 8 * dpi"
oDCOCX_Exontrol1:GridLineColor := RGB(196,196,196)
oDCOCX_Exontrol1:FormatResult := "<r><fgcolor=808080>[=%l%]"
oDCOCX_Exontrol1:FormatLocal := "currency(value)"
oDCOCX_Exontrol1:FormatTotalResult := "<r><b> = %l%</b>"
oDCOCX_Exontrol1:Text := "1000"
oDCOCX_Exontrol1:InsertText("2000",nil)
oDCOCX_Exontrol1:InsertLockedText("Commission = Total * 0.05 + (Total ? 2.95 : 0)",nil)
oDCOCX_Exontrol1:InsertLockedText("Total",nil)

57
Is it possible to highlight a specified line


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

56
Is it possible to display the result as currency


oDCOCX_Exontrol1:MultiLine := true
oDCOCX_Exontrol1:AllowVariables := "="
oDCOCX_Exontrol1:DrawGridLines := true
oDCOCX_Exontrol1:LineHeight := "value + 8 * dpi"
oDCOCX_Exontrol1:GridLineColor := RGB(196,196,196)
oDCOCX_Exontrol1:FormatLocal := "currency(value)"
oDCOCX_Exontrol1:FormatTotalResult := "<r><b> = %l%</b>"
oDCOCX_Exontrol1:BackColorTotal := RGB(240,240,240)
oDCOCX_Exontrol1:Text := "100.50"
oDCOCX_Exontrol1:InsertText("200",nil)
oDCOCX_Exontrol1:InsertText("300",nil)
oDCOCX_Exontrol1:InsertText("400",nil)
oDCOCX_Exontrol1:InsertText("VAT = Total * 0.19",nil)
oDCOCX_Exontrol1:InsertText("NET = Total - VAT",nil)
oDCOCX_Exontrol1:InsertText("Total",nil)

55
Is it possible to display the result with no decimals


oDCOCX_Exontrol1:MultiLine := true
oDCOCX_Exontrol1:AllowVariables := "="
oDCOCX_Exontrol1:DrawGridLines := true
oDCOCX_Exontrol1:LineHeight := "value + 8 * dpi"
oDCOCX_Exontrol1:GridLineColor := RGB(196,196,196)
oDCOCX_Exontrol1:FormatLocal := "value format `0`"
oDCOCX_Exontrol1:FormatTotalResult := "<r><b> = %l%</b>"
oDCOCX_Exontrol1:BackColorTotal := RGB(240,240,240)
oDCOCX_Exontrol1:Text := "100.50"
oDCOCX_Exontrol1:InsertText("200",nil)
oDCOCX_Exontrol1:InsertText("300",nil)
oDCOCX_Exontrol1:InsertText("400",nil)
oDCOCX_Exontrol1:InsertText("VAT = Total * 0.19",nil)
oDCOCX_Exontrol1:InsertText("NET = Total - VAT",nil)
oDCOCX_Exontrol1:InsertText("Total",nil)

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


oDCOCX_Exontrol1:MultiLine := true
oDCOCX_Exontrol1:AllowVariables := "="
oDCOCX_Exontrol1:DrawGridLines := true
oDCOCX_Exontrol1:LineHeight := "value + 8 * dpi"
oDCOCX_Exontrol1:GridLineColor := RGB(196,196,196)
oDCOCX_Exontrol1:FormatLocal := "value format ``"
oDCOCX_Exontrol1:FormatTotalResult := "<r><b> = %l%</b>"
oDCOCX_Exontrol1:BackColorTotal := RGB(240,240,240)
oDCOCX_Exontrol1:Text := "100.50"
oDCOCX_Exontrol1:InsertText("200",nil)
oDCOCX_Exontrol1:InsertText("300",nil)
oDCOCX_Exontrol1:InsertText("400",nil)
oDCOCX_Exontrol1:InsertText("VAT = Total * 0.19",nil)
oDCOCX_Exontrol1:InsertText("NET = Total - VAT",nil)
oDCOCX_Exontrol1:InsertText("Total",nil)

53
How can I count the lines


oDCOCX_Exontrol1:MultiLine := true
oDCOCX_Exontrol1:AllowCount := "count"
oDCOCX_Exontrol1:AllowSubCount := "subcount"
oDCOCX_Exontrol1:DrawGridLines := true
oDCOCX_Exontrol1:LineHeight := "value + 8 * dpi"
oDCOCX_Exontrol1:GridLineColor := RGB(196,196,196)
oDCOCX_Exontrol1:InsertText("100",nil)
oDCOCX_Exontrol1:InsertText("200",nil)
oDCOCX_Exontrol1:InsertText("SubCount",nil)
oDCOCX_Exontrol1:InsertText("300",nil)
oDCOCX_Exontrol1:InsertText("400",nil)
oDCOCX_Exontrol1:InsertText("500",nil)
oDCOCX_Exontrol1:InsertText("SubCount",nil)
oDCOCX_Exontrol1:InsertText("Count",nil)

52
How can I compute the average

oDCOCX_Exontrol1:MultiLine := true
oDCOCX_Exontrol1:AllowVariables := "="
oDCOCX_Exontrol1:DrawGridLines := true
oDCOCX_Exontrol1:LineHeight := "value + 8 * dpi"
oDCOCX_Exontrol1:GridLineColor := RGB(196,196,196)
oDCOCX_Exontrol1:FormatTotalResult := "<r><b> = %l%</b>"
oDCOCX_Exontrol1:BackColorTotal := RGB(240,240,240)
oDCOCX_Exontrol1:Text := "Average = Total / Count"
oDCOCX_Exontrol1:InsertText("100",nil)
oDCOCX_Exontrol1:InsertText("200",nil)
oDCOCX_Exontrol1:InsertText("300",nil)
oDCOCX_Exontrol1:InsertText("400",nil)
oDCOCX_Exontrol1:InsertText("VAT = Total * 0.19",nil)
oDCOCX_Exontrol1:InsertText("NET = Total - VAT",nil)
oDCOCX_Exontrol1:InsertText("Total",nil)

51
Variables or Computed Fields


oDCOCX_Exontrol1:MultiLine := true
oDCOCX_Exontrol1:AllowVariables := "="
oDCOCX_Exontrol1:DrawGridLines := true
oDCOCX_Exontrol1:LineHeight := "value + 8 * dpi"
oDCOCX_Exontrol1:GridLineColor := RGB(196,196,196)
oDCOCX_Exontrol1:FormatTotalResult := "<r><b> = %l%</b>"
oDCOCX_Exontrol1:BackColorTotal := RGB(240,240,240)
oDCOCX_Exontrol1:Text := "100"
oDCOCX_Exontrol1:InsertText("200",nil)
oDCOCX_Exontrol1:InsertText("300",nil)
oDCOCX_Exontrol1:InsertText("400",nil)
oDCOCX_Exontrol1:InsertText("VAT = Total * 0.19",nil)
oDCOCX_Exontrol1:InsertText("NET = Total - VAT",nil)
oDCOCX_Exontrol1:InsertText("Total",nil)

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


oDCOCX_Exontrol1:MultiLine := true
oDCOCX_Exontrol1:AllowVariables := "="
oDCOCX_Exontrol1:ClearWildFormats()
oDCOCX_Exontrol1:AddWildFormat("<b>*=*")
oDCOCX_Exontrol1:Text := "A = 400"
oDCOCX_Exontrol1:InsertText("",nil)
oDCOCX_Exontrol1:InsertText("B = A + 0.22",nil)
oDCOCX_Exontrol1:InsertText("A + B",nil)
oDCOCX_Exontrol1:InsertText("B = B * .19",nil)
oDCOCX_Exontrol1:InsertText("A + B",nil)

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


oDCOCX_Exontrol1:MultiLine := true
oDCOCX_Exontrol1:AllowVariables := "="
oDCOCX_Exontrol1:ClearWildFormats()
oDCOCX_Exontrol1:Text := "A = 300"
oDCOCX_Exontrol1:InsertText("",nil)
oDCOCX_Exontrol1:InsertText("B = A + 0.22",nil)
oDCOCX_Exontrol1:InsertText("A + B",nil)
oDCOCX_Exontrol1:InsertText("B = B * .19",nil)
oDCOCX_Exontrol1:InsertText("A + B",nil)

48
Can I define variables (sample 2)


oDCOCX_Exontrol1:MultiLine := true
oDCOCX_Exontrol1:AllowVariables := "is"
oDCOCX_Exontrol1:ClearWildFormats()
oDCOCX_Exontrol1:AddWildFormat("<b>*is*")
oDCOCX_Exontrol1:Text := "A is 200"
oDCOCX_Exontrol1:InsertText("",nil)
oDCOCX_Exontrol1:InsertText("B is A + 0.22",nil)
oDCOCX_Exontrol1:InsertText("A + B",nil)
oDCOCX_Exontrol1:InsertText("B is B * .19",nil)
oDCOCX_Exontrol1:InsertText("A + B",nil)

47
Can I define variables (sample 1)


oDCOCX_Exontrol1:MultiLine := true
oDCOCX_Exontrol1:AllowVariables := "="
oDCOCX_Exontrol1:Text := "A = 100.22"
oDCOCX_Exontrol1:InsertText("",nil)
oDCOCX_Exontrol1:InsertText("B = A + 0.22",nil)
oDCOCX_Exontrol1:InsertText("A + B",nil)
oDCOCX_Exontrol1:InsertText("B = B * .19",nil)
oDCOCX_Exontrol1:InsertText("A + B",nil)

46
Comments and Prefixes


oDCOCX_Exontrol1:MultiLine := true
oDCOCX_Exontrol1:AllowPrefixes := "<fgcolor=808080>:</fgcolor>"
oDCOCX_Exontrol1:AllowComments := "<fgcolor=008080>'</fgcolor>"
oDCOCX_Exontrol1:Text := "Field A: 100 ' this is the field A"
oDCOCX_Exontrol1:InsertText("Field B: 200 ' this is the field B",nil)
oDCOCX_Exontrol1:InsertText("Total",nil)

45
Can I display something at the start of each line


oDCOCX_Exontrol1:MultiLine := true
oDCOCX_Exontrol1:AllowPrefixes := "<b>:</b>"
oDCOCX_Exontrol1:Text := "Field A: 100"
oDCOCX_Exontrol1:InsertText("Field B: 200",nil)
oDCOCX_Exontrol1:InsertText("Total",nil)

44
I can not use TAB key. Is it possible

oDCOCX_Exontrol1:UseTabKey := true

43
Does your control support comments


oDCOCX_Exontrol1:MultiLine := true
oDCOCX_Exontrol1:CalcType := exCalcIncludeAll
oDCOCX_Exontrol1:AllowComments := "<fgcolor=008080>//</fgcolor>"
oDCOCX_Exontrol1:Text := "104 mod 51 // modulo function"
oDCOCX_Exontrol1:InsertText("int(104/51)  // int function",nil)
oDCOCX_Exontrol1:InsertText("51 * int(104/51) + (104 mod 51)  // check",nil)

42
Can I use the modulo function ( rest )


oDCOCX_Exontrol1:MultiLine := true
oDCOCX_Exontrol1:CalcType := exCalcIncludeAll
oDCOCX_Exontrol1:Text := "104 mod 51"
oDCOCX_Exontrol1:InsertText("int(104/51)",nil)
oDCOCX_Exontrol1:InsertText("51 * int(104/51) + (104 mod 51)",nil)

41
Can I use acos function


oDCOCX_Exontrol1:CalcType := exCalcIncludeAll
oDCOCX_Exontrol1:Text := "acos(cos(1))"

40
Can I use asin function


oDCOCX_Exontrol1:CalcType := exCalcIncludeAll
oDCOCX_Exontrol1:Text := "asin(sin(1))"

39
Can I use cos function


oDCOCX_Exontrol1:CalcType := exCalcIncludeAll
oDCOCX_Exontrol1:Text := "cos(1)"

38
Can I use sin function


oDCOCX_Exontrol1:CalcType := exCalcIncludeAll
oDCOCX_Exontrol1:Text := "sin(1)"

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


oDCOCX_Exontrol1:CalcType := exCalcIncludeAll
oDCOCX_Exontrol1:Text := "abs(-100.99)"

36
Can I use round function


oDCOCX_Exontrol1:CalcType := exCalcIncludeAll
oDCOCX_Exontrol1:Text := "round(100.99)"

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


oDCOCX_Exontrol1:CalcType := exCalcIncludeAll
oDCOCX_Exontrol1:Text := "int(100.99)"

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


oDCOCX_Exontrol1:CalcType := exCalcIncludeAll
oDCOCX_Exontrol1:Text := "sqrt(100)"

33
How can I show invalid lines with a larger font


oDCOCX_Exontrol1:MultiLine := true
oDCOCX_Exontrol1:LineHeight := "value + 8 *dpi"
oDCOCX_Exontrol1:DrawGridLines := true
oDCOCX_Exontrol1:FormatInvalid := "<u><font ;12> </font></u>"
oDCOCX_Exontrol1:InsertText("100",nil)
oDCOCX_Exontrol1:InsertText("k200",nil)
oDCOCX_Exontrol1:InsertText("300",nil)

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


oDCOCX_Exontrol1:FormatInvalid := ""
oDCOCX_Exontrol1:Text := "100 * 200"

31
Can I enlarge the height of each line


oDCOCX_Exontrol1:MultiLine := true
oDCOCX_Exontrol1:LineHeight := "value + 8 * dpi"
oDCOCX_Exontrol1:DrawGridLines := true
oDCOCX_Exontrol1:InsertText("100",nil)
oDCOCX_Exontrol1:InsertText("200",nil)
oDCOCX_Exontrol1:InsertText("300",nil)
oDCOCX_Exontrol1:InsertText("Total",nil)

30
How can I show grid lines


oDCOCX_Exontrol1:MultiLine := true
oDCOCX_Exontrol1:DrawGridLines := true
oDCOCX_Exontrol1:GridLineColor := RGB(0,0,0)
oDCOCX_Exontrol1:InsertText("100",nil)
oDCOCX_Exontrol1:InsertText("200",nil)
oDCOCX_Exontrol1:InsertText("300",nil)
oDCOCX_Exontrol1:InsertText("Total",nil)

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


oDCOCX_Exontrol1:MultiLine := true
oDCOCX_Exontrol1:DrawGridLines := true
oDCOCX_Exontrol1:LineHeight := "value  + 8 * dpi"
oDCOCX_Exontrol1:FormatTotalResult := "<r><b><font ;14>%l%</font></b>"
oDCOCX_Exontrol1:AllowTotal := "<b><font ;14>Total</font></b>"
oDCOCX_Exontrol1:InsertText("100",nil)
oDCOCX_Exontrol1:InsertText("200",nil)
oDCOCX_Exontrol1:InsertText("300",nil)
oDCOCX_Exontrol1:InsertText("Total",nil)

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


oDCOCX_Exontrol1:MultiLine := true
oDCOCX_Exontrol1:AllowTotal := "<bgcolor=A0A0A0><b>Total</b></bgcolor>"
oDCOCX_Exontrol1:AllowSubTotal := "<bgcolor=E0E0E0><b>SubTotal</b></bgcolor>"
oDCOCX_Exontrol1:InsertText("100",nil)
oDCOCX_Exontrol1:InsertText("200",nil)
oDCOCX_Exontrol1:InsertText("SubTotal",nil)
oDCOCX_Exontrol1:InsertText("300",nil)
oDCOCX_Exontrol1:InsertText("400 * 1.5",nil)
oDCOCX_Exontrol1:InsertText("SubTotal",nil)
oDCOCX_Exontrol1:InsertText("Total",nil)

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


oDCOCX_Exontrol1:MultiLine := true
oDCOCX_Exontrol1:BackColorTotal := RGB(196,196,196)
oDCOCX_Exontrol1:BackColorSubTotal := RGB(240,240,240)
oDCOCX_Exontrol1:InsertText("100",nil)
oDCOCX_Exontrol1:InsertText("200",nil)
oDCOCX_Exontrol1:InsertText("SubTotal",nil)
oDCOCX_Exontrol1:InsertText("300",nil)
oDCOCX_Exontrol1:InsertText("400 * 1.5",nil)
oDCOCX_Exontrol1:InsertText("SubTotal",nil)
oDCOCX_Exontrol1:InsertText("Total",nil)

26
How can I change the color to show the numbers


oDCOCX_Exontrol1:FormatNumbers := "<fgcolor=FF0000> </fgcolor>"
oDCOCX_Exontrol1:Text := "1 + 2 + 3 + 4"

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


oDCOCX_Exontrol1:FormatNumbers := ""
oDCOCX_Exontrol1:Text := "1 + 2 + 3 + 4"

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


oDCOCX_Exontrol1:MultiLine := true
oDCOCX_Exontrol1:Text := "100 * 1.5"
oDCOCX_Exontrol1:InsertText("120 * 1.5",nil)
oDCOCX_Exontrol1:InsertText("130 * 1.5",nil)
oDCOCX_Exontrol1:InsertText("Total",nil)
OutputDebugString(String2Psz( oDCOCX_Exontrol1:Export ))

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


oDCOCX_Exontrol1:MultiLine := true
oDCOCX_Exontrol1:DrawGridLines := true
oDCOCX_Exontrol1:FormatResult := " <fgcolor=808080>[=%l%]</fgcolor>"
oDCOCX_Exontrol1:FormatTotalResult := " <b>[=%l%]</b>"
oDCOCX_Exontrol1:InsertText("100 * 100",nil)
oDCOCX_Exontrol1:InsertText("200 * 200",nil)
oDCOCX_Exontrol1:InsertText("300 * 300",nil)
oDCOCX_Exontrol1:InsertText("Total",nil)

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


oDCOCX_Exontrol1:MultiLine := true
oDCOCX_Exontrol1:DrawGridLines := true
oDCOCX_Exontrol1:FormatTotalResult := "<b><fgcolor=FF0000> = %l%</fgcolor></b>"
oDCOCX_Exontrol1:AllowTotal := "<b><fgcolor=00FF00>Total</fgcolor></b>"
oDCOCX_Exontrol1:InsertText("100",nil)
oDCOCX_Exontrol1:InsertText("200",nil)
oDCOCX_Exontrol1:InsertText("300",nil)
oDCOCX_Exontrol1:InsertText("Total",nil)

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


oDCOCX_Exontrol1:MultiLine := true
oDCOCX_Exontrol1:DrawGridLines := true
oDCOCX_Exontrol1:LineHeight := "value  + 4 * dpi"
oDCOCX_Exontrol1:FormatTotalResult := "<r><b><font ;12>%l%</font></b>"
oDCOCX_Exontrol1:AllowTotal := "<b><font ;12>Total</font></b>"
oDCOCX_Exontrol1:InsertText("100",nil)
oDCOCX_Exontrol1:InsertText("200",nil)
oDCOCX_Exontrol1:InsertText("300",nil)
oDCOCX_Exontrol1:InsertText("Total",nil)

20
Is it possible to rename the SubTotal


oDCOCX_Exontrol1:MultiLine := true
oDCOCX_Exontrol1:AllowSubTotal := "<fgcolor=FF0000>Current Amount"
oDCOCX_Exontrol1:InsertText("100",nil)
oDCOCX_Exontrol1:InsertText("200",nil)
oDCOCX_Exontrol1:InsertText("Current Amount",nil)
oDCOCX_Exontrol1:InsertText("300",nil)
oDCOCX_Exontrol1:InsertText("400",nil)
oDCOCX_Exontrol1:InsertText("Current Amount",nil)
oDCOCX_Exontrol1:InsertText("Total",nil)

19
How can I disable the sub-totals


oDCOCX_Exontrol1:MultiLine := true
oDCOCX_Exontrol1:AllowSubTotal := ""
oDCOCX_Exontrol1:InsertText("100",nil)
oDCOCX_Exontrol1:InsertText("200",nil)
oDCOCX_Exontrol1:InsertText("SubTotal",nil)
oDCOCX_Exontrol1:InsertText("300",nil)
oDCOCX_Exontrol1:InsertText("400",nil)
oDCOCX_Exontrol1:InsertText("SubTotal",nil)
oDCOCX_Exontrol1:InsertText("Total",nil)

18
How can I add sub-totals


oDCOCX_Exontrol1:MultiLine := true
oDCOCX_Exontrol1:AllowComments := "<fgcolor=008000>'"
oDCOCX_Exontrol1:AddWildFormat("<i>*=*<fgcolor=008000>'*")
oDCOCX_Exontrol1:AllowVariables := "="
oDCOCX_Exontrol1:DrawGridLines := true
oDCOCX_Exontrol1:LineHeight := "value + 8 * dpi"
oDCOCX_Exontrol1:GridLineColor := RGB(196,196,196)
oDCOCX_Exontrol1:FormatLocal := "currency(value)"
oDCOCX_Exontrol1:FormatTotalResult := "<r><b> = %l%</b>"
oDCOCX_Exontrol1:FormatSubTotalResult := "<r><fgcolor=808080>[<b> = %l%</b>]"
oDCOCX_Exontrol1:FormatResult := "<r><fgcolor=808080>(%l%)"
oDCOCX_Exontrol1:BackColorTotal := RGB(240,240,240)
oDCOCX_Exontrol1:BackColorLockedLine := RGB(0,0,0)
oDCOCX_Exontrol1:ForeColorLockedLine := RGB(0,0,0)
oDCOCX_Exontrol1:CalcType := exCalcIncludeAll
oDCOCX_Exontrol1:Text := "100 + 200"
oDCOCX_Exontrol1:InsertText("200 * 1.5",nil)
oDCOCX_Exontrol1:InsertText("SubA = SubTotal ' first subtotal",nil)
oDCOCX_Exontrol1:InsertText("300 + (200+300)/2",nil)
oDCOCX_Exontrol1:InsertText("400 + 500",nil)
oDCOCX_Exontrol1:InsertText("SubB = SubTotal ' second subtotal",nil)
oDCOCX_Exontrol1:InsertLockedText("VAT = Total * 0.19",nil)
oDCOCX_Exontrol1:InsertLockedText("Commision = Total * 0.05",nil)
oDCOCX_Exontrol1:InsertLockedText("NET = (Total - VAT) - Commision",nil)
oDCOCX_Exontrol1:InsertLockedText("Total",nil)

17
Is it possible to disable the Total


oDCOCX_Exontrol1:AllowTotal := ""
oDCOCX_Exontrol1:MultiLine := true
oDCOCX_Exontrol1:InsertText("100",nil)
oDCOCX_Exontrol1:InsertText("200",nil)
oDCOCX_Exontrol1:InsertText("300",nil)
oDCOCX_Exontrol1:InsertText("Total",nil)

16
Is it possible to rename the Total to Sum


oDCOCX_Exontrol1:AllowTotal := "<fgcolor=FF0000><b>Sum</b></fgcolor>"
oDCOCX_Exontrol1:MultiLine := true
oDCOCX_Exontrol1:InsertText("100",nil)
oDCOCX_Exontrol1:InsertText("200",nil)
oDCOCX_Exontrol1:InsertText("300",nil)
oDCOCX_Exontrol1:InsertText("Sum",nil)

15
Is it possible to add all lines


oDCOCX_Exontrol1:MultiLine := true
oDCOCX_Exontrol1:InsertText("100",nil)
oDCOCX_Exontrol1:InsertText("200",nil)
oDCOCX_Exontrol1:InsertText("300",nil)
oDCOCX_Exontrol1:InsertText("Total",nil)

14
How do I insert / add a new line


oDCOCX_Exontrol1:MultiLine := true
oDCOCX_Exontrol1:Text := "100 * 1.5"
oDCOCX_Exontrol1:InsertText("120 * 2.5\r\n",1)
oDCOCX_Exontrol1:InsertText("200 * 1.5",nil)

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

METHOD OCX_Exontrol1SelChange() CLASS MainDialog
	// SelChange event - Occurs when the user selects text in the control.
	OutputDebugString(String2Psz( "CurrentLine: " ))
	OutputDebugString(String2Psz( AsString(oDCOCX_Exontrol1:CaretLine) ))
	OutputDebugString(String2Psz( "CurrentLine: " ))
	OutputDebugString(String2Psz( oDCOCX_Exontrol1:[TextLine,oDCOCX_Exontrol1:CaretLine] ))
	OutputDebugString(String2Psz( "IsValid: " ))
	OutputDebugString(String2Psz( AsString(oDCOCX_Exontrol1:[IsValid,oDCOCX_Exontrol1:CaretLine]) ))
RETURN NIL


oDCOCX_Exontrol1:MultiLine := true
oDCOCX_Exontrol1:Text := "100 * 1.5"
oDCOCX_Exontrol1:InsertText("invalid",nil)
oDCOCX_Exontrol1:InsertText("120 * 1.5",nil)
oDCOCX_Exontrol1:InsertText("130 * 1.5",nil)

12
How do I get the current line

METHOD OCX_Exontrol1SelChange() CLASS MainDialog
	// SelChange event - Occurs when the user selects text in the control.
	OutputDebugString(String2Psz( "CurrentLine: " ))
	OutputDebugString(String2Psz( AsString(oDCOCX_Exontrol1:CaretLine) ))
	OutputDebugString(String2Psz( "CurrentLine: " ))
	OutputDebugString(String2Psz( oDCOCX_Exontrol1:[TextLine,oDCOCX_Exontrol1:CaretLine] ))
	OutputDebugString(String2Psz( "CurrentResult: " ))
	OutputDebugString(String2Psz( AsString(oDCOCX_Exontrol1:[Result,oDCOCX_Exontrol1:CaretLine]) ))
RETURN NIL


oDCOCX_Exontrol1:MultiLine := true
oDCOCX_Exontrol1:Text := "100 * 1.5"
oDCOCX_Exontrol1:InsertText("120 * 1.5",nil)
oDCOCX_Exontrol1:InsertText("130 * 1.5",nil)

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


oDCOCX_Exontrol1:MultiLine := true
oDCOCX_Exontrol1:Text := "100 * 1.5"
oDCOCX_Exontrol1:InsertText("120 * 1.5",nil)
oDCOCX_Exontrol1:InsertText("130 * 1.5",nil)
OutputDebugString(String2Psz( "Lines:" ))
OutputDebugString(String2Psz( AsString(oDCOCX_Exontrol1:Count) ))
OutputDebugString(String2Psz( "TextLine(1):" ))
OutputDebugString(String2Psz( oDCOCX_Exontrol1:[TextLine,1] ))
OutputDebugString(String2Psz( "Result(1)" ))
OutputDebugString(String2Psz( AsString(oDCOCX_Exontrol1:[Result,1]) ))
OutputDebugString(String2Psz( "TextLine(2):" ))
OutputDebugString(String2Psz( oDCOCX_Exontrol1:[TextLine,2] ))
OutputDebugString(String2Psz( "Result(2)" ))
OutputDebugString(String2Psz( AsString(oDCOCX_Exontrol1:[Result,2]) ))
OutputDebugString(String2Psz( "TextLine(3):" ))
OutputDebugString(String2Psz( oDCOCX_Exontrol1:[TextLine,3] ))
OutputDebugString(String2Psz( "Result(3)" ))
OutputDebugString(String2Psz( AsString(oDCOCX_Exontrol1:[Result,3]) ))

10
Does the control supports multiple lines


oDCOCX_Exontrol1:MultiLine := true
oDCOCX_Exontrol1:Text := "100 * 1.5"
oDCOCX_Exontrol1:InsertText("120 * 1.5",nil)
oDCOCX_Exontrol1:InsertText("130 * 1.5",nil)

9
Is it possible to display the result without brakets


oDCOCX_Exontrol1:FormatResult := "<fgcolor=808080> = %%</fgcolor>"
oDCOCX_Exontrol1:Text := "12 + (12 / 100)/2"

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


oDCOCX_Exontrol1:FormatResult := "<r> <fgcolor=808080>[=%%]</fgcolor>"
oDCOCX_Exontrol1:Text := "12 + (12 / 100)/2"

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


oDCOCX_Exontrol1:Template := "Font.Size = 20; Font.Name = `Tahoma`; Refresh"
oDCOCX_Exontrol1:Text := "1/2"

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


oDCOCX_Exontrol1:Font:Size := 20
oDCOCX_Exontrol1:Text := "1/2"
oDCOCX_Exontrol1:Refresh()

5
How can I disable evaluating the selection


oDCOCX_Exontrol1:EvaluateSel := false
oDCOCX_Exontrol1:HideSelection := false
oDCOCX_Exontrol1:Text := "(1+6.25)/4*6/3"
oDCOCX_Exontrol1:SelStart := 1
oDCOCX_Exontrol1:SelLength := 6
oDCOCX_Exontrol1:SelBackColor := RGB(0,0,0)

4
Can I define a different decimal separator


oDCOCX_Exontrol1:AddDecimalSep := ","
oDCOCX_Exontrol1:Text := "(1+6,25)/4*6/3"

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

METHOD OCX_Exontrol1Change() CLASS MainDialog
	// Change event - Indicates that the control's text has changed.
	OutputDebugString(String2Psz( "Valid:" ))
	OutputDebugString(String2Psz( AsString(oDCOCX_Exontrol1:[IsValid,nil]) ))
	oDCOCX_Exontrol1:ForeColor := RGB(255,0,0)
	oDCOCX_Exontrol1:FormatNumbers := "<fgcolor FF0000>"
	oDCOCX_Exontrol1:FormatResult := ""
RETURN NIL


oDCOCX_Exontrol1:FormatInvalid := ""
oDCOCX_Exontrol1:Text := "invalid(1+6.25)/4*6/3"

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

METHOD OCX_Exontrol1Change() CLASS MainDialog
	// Change event - Indicates that the control's text has changed.
	OutputDebugString(String2Psz( "Valid:" ))
	OutputDebugString(String2Psz( AsString(oDCOCX_Exontrol1:[IsValid,nil]) ))
	OutputDebugString(String2Psz( "Expression: " ))
	OutputDebugString(String2Psz( oDCOCX_Exontrol1:Text ))
	OutputDebugString(String2Psz( "Result: " ))
	OutputDebugString(String2Psz( AsString(oDCOCX_Exontrol1:[Result,nil]) ))
RETURN NIL


oDCOCX_Exontrol1:Text := "(1+6.25)/4*6/3"

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


oDCOCX_Exontrol1:Text := "(1+6.25)/4*6/3"
OutputDebugString(String2Psz( "Expression: " ))
OutputDebugString(String2Psz( oDCOCX_Exontrol1:Text ))
OutputDebugString(String2Psz( "Result: " ))
OutputDebugString(String2Psz( AsString(oDCOCX_Exontrol1:[Result,nil]) ))