Gets an IEnumerator that enumerates through the names of the user-defined functions in the model.
Syntax
Visual Basic (Declaration) | |
---|
Function GetCustomFunctionEnumerator() As IEnumerator |
Return Value
IEnumerator containing the enumerator for the custom function
Example
This example returns an IEnumerator that enumerates through the names of the user-defined custom functions (Function objects).
C# | Copy Code |
---|
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()}); |
Visual Basic | Copy Code |
---|
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()}) |
Requirements
Target Platforms: Windows 2000 Professional (SP4), Windows 2000 Server, Windows 2003 Server (SP1), Windows 2008, Windows XP (SP2), Windows Vista, Windows 7, Windows 8
See Also