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;
}
}
DialogResult dlg;
FarPoint.Win.Spread.Model.ICustomFunctionSupport cfs;
cfs = (FarPoint.Win.Spread.Model.ICustomFunctionSupport)fpSpread1.ActiveSheet.Models.Data;
cfs.AddCustomFunction(new CubeFunctionInfo());
fpSpread1.ActiveSheet.SetFormula(1, 1, "CUBE(4)");
dlg = MessageBox.Show("Do you want to remove the custom function?", "RemoveCustomFunction", MessageBoxButtons.YesNo);
if (dlg == DialogResult.Yes)
{
cfs = (FarPoint.Win.Spread.Model.ICustomFunctionSupport)fpSpread1.ActiveSheet.Models.Data;
cfs.RemoveCustomFunction("CUBE");
fpSpread1.ActiveSheet.RecalculateAll();
}