bool pVCLComponent::Parse(FILE *fin, char *sss, int _level)
{
bool b_obj = !strcmpi(sss, "object");
bool b_end = !strcmpi(sss, "end");
level = _level;
while (!b_obj && !b_end)
{
im_iter ii = im.find(sss);
if (ii != im.end())
{
fscanf(fin, "%*s %d %s", ii->second, sss);
continue;
}
... // similar code for BoolMap bm
... // similar code for StringMap sm_text
... // similar code for StringMap sm_info
if (ParseMore(fin, sss))
{
if (!feof(fin))
fscanf(fin, "%s", sss);
continue;
}
... //other code here
if (!b_end && ! b_obj)
{
fscanf(fin, "%s", sss);
b_end = !strcmpi(sss, "end");
b_obj = !strcmpi(sss, "object");
}
}
OnParseEnd();
return true;
}