publicclass Cube : FarPoint.CalcEngine.FunctionInfo
{
publicoverridestring Name
{
get
{
return"Cube";
}
}
publicoverrideint MaxArgs
{
get
{
return 1;
}
}
publicoverrideint MinArgs
{
get
{
return 1;
}
}
publicoverridebool AcceptsReference(int i)
{
if (i == 0)
{
returntrue;
}
else
{
returnfalse;
}
}
publicoverrideobject Evaluate(object[] args)
{
double total;
FarPoint.CalcEngine.CalcReference cellref;
object value;
if (args[0] is FarPoint.CalcEngine.CalcArray)
{
return FarPoint.CalcEngine.CalcError.Value;
}
if (args[0] is FarPoint.CalcEngine.CalcReference)
{
cellref = ((FarPoint.CalcEngine.CalcReference)(args[0]));
if (cellref.ColumnCount > 1 | cellref.RowCount > 1)
{
return FarPoint.CalcEngine.CalcError.Value;
}
value = cellref.GetValue(cellref.Row, cellref.Column);
try
{
total = Math.Pow(FarPoint.CalcEngine.CalcConvert.ToDouble(args[0]), 3);
}
catch
{
}
}
else
{
try
{
total = Math.Pow(FarPoint.CalcEngine.CalcConvert.ToDouble(args[0]), 3);
}
catch
{
}
}
return total;
}
}
PublicClass Cube
Inherits FarPoint.CalcEngine.FunctionInfo
PublicOverridesReadOnlyProperty Name() AsStringGetReturn"Cube"EndGetEnd PropertyPublicOverridesReadOnlyProperty MaxArgs() AsIntegerGetReturn 1
EndGetEnd PropertyPublicOverridesReadOnlyProperty MinArgs() AsIntegerGetReturn 1
EndGetEnd PropertyPublicOverridesFunction AcceptsReference(ByVal i AsInteger) AsBooleanIf i = 0 ThenReturnTrueElseReturnFalseEndIfEnd FunctionPublicOverridesFunction Evaluate(ByVal args() AsObject) AsObjectDim total AsDoubleDim cellref As FarPoint.CalcEngine.CalcReference
Dim value AsObjectIfTypeOf args(0) Is FarPoint.CalcEngine.CalcArray ThenReturn FarPoint.CalcEngine.CalcError.Value
IfTypeOf args(0) Is FarPoint.CalcEngine.CalcReference Then
cellref = CType(args(0), FarPoint.CalcEngine.CalcReference)
If cellref.ColumnCount > 1 Or cellref.RowCount > 1 ThenReturn FarPoint.CalcEngine.CalcError.Value
value = cellref.GetValue(cellref.Row, cellref.Column)
Try
total = FarPoint.CalcEngine.CalcConvert.ToDouble(value) ^ 3
CatchEndTryElseTry
total = FarPoint.CalcEngine.CalcConvert.ToDouble(args(0)) ^ 3
CatchEndTryEndIfReturn total
End FunctionEnd Class