Venice
StockInfo::GetFieldVal
 
Gets the value of a field as a variant.
 
VARIANT GetFieldVal (
    enum eStockInfoFld eFieldID
)
 
Parameters
eFieldID
[in] Identifier of the field, e.g. stofQuantity (C++) or eStockInfoFld.stofQuantity (C# / VB.NET).
 
Remark: In VBS, this field identifier enumerations cannot be used! You should use GetFieldID to get a valid field identifier.
 
Return value
A VARIANT containing the value of the requested field.
Be aware that this can be a null-object in some cases, e.g. if the value of a system field (e.g. Crc1) is requested.
 
Remarks
You have to call GetFirstChange (to fill the stock changes file) before you can use this method, otherwise an exception will be thrown.
 
See Also
CreateStockInfo
GetFieldStr
 
Samples
 
C++
 
// Retrieving the value of all (non system) fields
_variant_t vValue;
for (int nFieldID = 0; nFieldID < stofMax; nFieldID++)
{
    vValue = pStockInfo->GetFieldVal ((eStockInfoFld)nFieldID);
    if (vValue.vt != VT_EMPTY)
    {
        // Process data
    }
}

C#
 
// Retrieving the value of all (non system) fields
object oValue = null;
for (int nFieldID = 0; nFieldID < (int)eStockInfoFld.stofMax; nFieldID++)
{
    oValue = oStockInfo.GetFieldVal ((eStockInfoFld)nFieldID);
    if (oValue != null)
    {
        // Process data
    }
}

VBS
 
' Retrieving the value of all (non system) fields
Dim vValue
Dim iFld
For iFld=0 To oStockInfo.GetFieldID("LevelPrt")
    vValue = oStockInfo.GetFieldVal(iFld)
    If VarType(vValue) <> vbNull Then
        ' Process data
    End If    
Next

VB.NET
 
' Retrieving the value of all (non system) fields
Dim oValue As Object
For iFieldID As Integer = 0 To eStockInfoFld.stofMax
    oValue = oStockInfo.GetFieldVal(iFieldID)
    If Not oValue Is Nothing Then
        ' Process data
    End If
Next