TFormer_GetFirstProjectVarIt
Repository Access · String encodings
Definition
Windows: ANSI; Unix: UTF-8
HPROJECTVAR_ITERATOR TFormer_GetFirstProjectVarIt(HTFORM pInstance, LPCSTR pszProjectName, ERRCODE * peCode);
Windows only: UTF-16
HPROJECTVAR_ITERATOR TFormer_GetFirstProjectVarItW(HTFORM pInstance, LPCWSTR pszProjectName, ERRCODE * peCode);
Contract
Returns an iterator pointing to the first DataField in the specified Project.
Creates a new DataField iterator and sets its position to the first DataField in the Project specified by pszProjectName. If pszProjectName is NULL or empty the DataField of the global Project are iterated. To get the name of the DataField call TFormer_ProjectVarItGetName.
Returns
Iterator in case of success, NULL in case of an error (check peCode in this case)
Parameters
| Parameter / type | Description |
|---|---|
pInstanceHTFORM |
|
pszProjectNameLPCSTR / LPCWSTR |
|
peCodeERRCODE * |
|
Note
Release the iterator after use with TFormer_FreeProjectVarIt! Memory leaks may occur otherwise.
This example iterates all DataFields within the global Project.
ERRCODE eCode = ErrOk;
LPCSTR pszProjectName = NULL; // we want to iterate datafields of global Project
HPROJECTVAR_ITERATOR it = NULL;
BOOL bProjectVarValid = FALSE;
EVarUsage eVarUsage = eVarUsage_Invalid;
LPCSTR pszDataFieldName = NULL;
it = TFormer_GetFirstProjectVarIt (hTForm, pszProjectName, &eCode);
bProjectVarValid = (it != NULL);
// TYPE_E_ELEMENTNOTFOUND should not be treated as error
if (eCode == TYPE_E_ELEMENTNOTFOUND)
eCode = ErrOk;
// iterate all DataFields
while (bProjectVarValid && (eCode == ErrOk))
{
// check, whether the DataField is editable
eVarUsage = TFormer_ProjectVarItGetUsage (hTForm, it, &eCode);
if ((eVarUsage == eVarUsage_Normal) && (eCode == ErrOk))
{
// do something
pszDataFieldName = TFormer_ProjectVarItGetName (it, &eCode);
if (pszDataFieldName != NULL && eCode == ErrOk)
{
printf (pszDataFieldName);
printf ("\n");
}
}
// get next DataField
bProjectVarValid = (TFormer_GetNextProjectVarIt (it) == ErrOk);
}
// release iterator
TFormer_FreeProjectVarIt (it);