FarPoint.Win.Spread Assembly > FarPoint.Win.Spread.Model Namespace > ICustomFunctionSupport Interface : GetCustomFunctionEnumerator Method |
'Declaration Function GetCustomFunctionEnumerator() As IEnumerator
'Usage Dim instance As ICustomFunctionSupport Dim value As IEnumerator value = instance.GetCustomFunctionEnumerator()
IEnumerator GetCustomFunctionEnumerator()
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; } } 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.Win.Spread.Model.ICustomFunctionSupport cfs; System.Collections.IEnumerator se; cfs = (FarPoint.Win.Spread.Model.ICustomFunctionSupport)fpSpread1.ActiveSheet.Models.Data; cfs.AddCustomFunction(new CubeFunctionInfo()); cfs.AddCustomFunction(new MultiFunc()); fpSpread1.ActiveSheet.SetFormula(1, 1, "CUBE(4)"); fpSpread1.ActiveSheet.SetFormula(2, 2, "MULTI(10)"); se = cfs.GetCustomFunctionEnumerator(); listBox1.Items.AddRange(new Object[] {se.MoveNext().ToString(), se.Current.ToString(), se.MoveNext().ToString(), se.Current.ToString()});
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 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.Win.Spread.Model.ICustomFunctionSupport Dim se As System.Collections.IEnumerator cfs = FpSpread1.ActiveSheet.Models.Data cfs.AddCustomFunction(New CubeFunctionInfo()) cfs.AddCustomFunction(New MultiFunc()) FpSpread1.ActiveSheet.SetFormula(1, 1, "CUBE(4)") FpSpread1.ActiveSheet.SetFormula(2, 2, "MULTI(10)") se = cfs.GetCustomFunctionEnumerator() ListBox1.Items.AddRange(New Object() {se.MoveNext().ToString(), se.Current().ToString(), se.MoveNext().ToString(), se.Current().ToString()})
Target Platforms: Windows 2000 Professional (SP4), Windows 2000 Server, Windows 2003 Server (SP1), Windows 2008, Windows XP (SP2), Windows Vista, Windows 7, Windows 8