[Serializable()]
public class CubeFunctionInfo : FarPoint.CalcEngine.FunctionInfo
{
public override string Name { get { return "CUBE"; } }
public override int MinArgs { get { return 1; } }
public override int MaxArgs { get { return 1; } }
public override object Evaluate (object[] args)
{
double num = FarPoint.CalcEngine.CalcConvert.ToDouble(args[0]);
return num * num * num;
}
}
[Serializable()]
public class MultiFunc : FarPoint.CalcEngine.FunctionInfo
{
public override string Name { get { return "MULTI"; } }
public override int MinArgs { get { return 1; } }
public override int MaxArgs { get { return 1; } }
public override object Evaluate (object[] args)
{
double num = FarPoint.CalcEngine.CalcConvert.ToDouble(args[0]);
return num * num;
}
}
FarPoint.Web.Spread.Model.ICustomFunctionSupport cfs;
System.Collections.IEnumerator se;
cfs = (FarPoint.Web.Spread.Model.ICustomFunctionSupport)FpSpread1.ActiveSheetView.DataModel;
cfs.AddCustomFunction(new CubeFunctionInfo());
cfs.AddCustomFunction(new MultiFunc());
FpSpread1.ActiveSheetView.SetFormula(1, 1, "CUBE(4)");
FpSpread1.ActiveSheetView.SetFormula(2, 2, "MULTI(10)");
se = cfs.GetCustomFunctionEnumerator();
Response.Write(new Object[] {se.MoveNext().ToString(), se.Current().ToString()});
<Serializable()>
Public Class CubeFunctionInfo
Inherits FarPoint.CalcEngine.FunctionInfo
Public Overrides ReadOnly Property Name() As String
Get
Return "CUBE"
End Get
End Property
Public Overrides ReadOnly Property MinArgs() As Integer
Get
Return 1
End Get
End Property
Public Overrides ReadOnly Property MaxArgs() As Integer
Get
Return 1
End Get
End Property
Public Overrides Function Evaluate(ByVal args() As Object) As Object
Dim num As Double = FarPoint.CalcEngine.CalcConvert.ToDouble(args(0))
Return num * num * num
End Function
End Class
<Serializable()>
Public Class MultiFunc
Inherits FarPoint.CalcEngine.FunctionInfo
Public Overrides ReadOnly Property Name() As String
Get
Return "MULTI"
End Get
End Property
Public Overrides ReadOnly Property MinArgs() As Integer
Get
Return 1
End Get
End Property
Public Overrides ReadOnly Property MaxArgs() As Integer
Get
Return 1
End Get
End Property
Public Overrides Function Evaluate(ByVal args() As Object) As Object
Dim num As Double = FarPoint.CalcEngine.CalcConvert.ToDouble(args(0))
Return num * num
End Function
End Class
Dim cfs As FarPoint.Web.Spread.Model.ICustomFunctionSupport
Dim se As System.Collections.IEnumerator
cfs = FpSpread1.ActiveSheetView.DataModel
cfs.AddCustomFunction(New CubeFunctionInfo)
cfs.AddCustomFunction(New MultiFunc)
FpSpread1.ActiveSheetView.SetFormula(1, 1, "CUBE(4)")
FpSpread1.ActiveSheetView.SetFormula(2, 2, "MULTI(10)")
se = cfs.GetCustomFunctionEnumerator()
Response.Write(New Object() {se.MoveNext().ToString(), se.Current().ToString()})