本文整理汇总了C++中CStringArray::AppendString方法的典型用法代码示例。如果您正苦于以下问题:C++ CStringArray::AppendString方法的具体用法?C++ CStringArray::AppendString怎么用?C++ CStringArray::AppendString使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CStringArray
的用法示例。
在下文中一共展示了CStringArray::AppendString方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: GenerateEncounterTable
void GenerateEncounterTable (CUniverse &Universe, CXMLElement *pCmdLine)
{
ALERROR error;
int i, j;
// Get the criteria from the command line
SEncounterCriteria Criteria;
ParseEncounterCriteria(pCmdLine->GetAttribute(CRITERIA_ATTRIB), &Criteria);
bool bAll = pCmdLine->GetAttributeBool(ALL_ATTRIB);
// Generate a table of all matching encounters
CSymbolTable Table(FALSE, TRUE);
// Loop over all items for this level and add them to
// a sorted table.
for (i = 0; i < Universe.GetStationTypeCount(); i++)
{
CStationType *pType = Universe.GetStationType(i);
int iLevel = pType->GetLevel();
if (iLevel == 0 && !bAll)
continue;
// If we don't match the criteria, then continue
if (!MatchesEncounterCriteria(Criteria, pType->GetAttributes()))
continue;
// Get the category and name
CString sCategory = pType->GetDataField(FIELD_CATEGORY);
CString sName = pType->GetDataField(FIELD_NAME);
if (*sName.GetASCIIZPointer() == '(')
sName = strSubString(sName, 1, -1);
// Figure out the sort order
char szBuffer[1024];
wsprintf(szBuffer, "%02d%s%s",
pType->GetLevel(),
sCategory.GetASCIIZPointer(),
sName.GetASCIIZPointer());
Table.AddEntry(CString(szBuffer), (CObject *)pType);
}
// Generate a list of columns to display
CStringArray Cols;
Cols.AppendString(FIELD_LEVEL);
Cols.AppendString(FIELD_CATEGORY);
Cols.AppendString(FIELD_NAME);
if (pCmdLine->GetAttributeBool(FIELD_ARMOR_CLASS))
Cols.AppendString(FIELD_ARMOR_CLASS);
if (pCmdLine->GetAttributeBool(FIELD_HP))
Cols.AppendString(FIELD_HP);
if (pCmdLine->GetAttributeBool(FIELD_FIRE_RATE_ADJ))
Cols.AppendString(FIELD_FIRE_RATE_ADJ);
if (pCmdLine->GetAttributeBool(FIELD_TOTAL_COUNT))
Cols.AppendString(FIELD_TOTAL_COUNT);
if (pCmdLine->GetAttributeBool(FIELD_CAN_ATTACK))
Cols.AppendString(FIELD_CAN_ATTACK);
if (pCmdLine->GetAttributeBool(FIELD_EXPLOSION_TYPE))
Cols.AppendString(FIELD_EXPLOSION_TYPE);
// If we need to output total count, then load the table
CSymbolTable TotalCount(TRUE, TRUE);
if (pCmdLine->GetAttributeBool(FIELD_TOTAL_COUNT))
{
if (error = LoadTotalCount(TOTAL_COUNT_FILENAME, TotalCount))
return;
}
// If we've got any entries in the table, output now
if (Table.GetCount())
{
// Output the header
for (j = 0; j < Cols.GetCount(); j++)
{
if (j != 0)
printf("\t");
printf(Cols.GetStringValue(j).GetASCIIZPointer());
}
printf("\n");
// Output each row
for (i = 0; i < Table.GetCount(); i++)
{
CStationType *pType = (CStationType *)Table.GetValue(i);
for (j = 0; j < Cols.GetCount(); j++)
{
if (j != 0)
//.........这里部分代码省略.........
示例2: GenerateItemTable
void GenerateItemTable (CUniverse &Universe, CXMLElement *pCmdLine)
{
ALERROR error;
int i, j;
// Compute the criteria
CItemCriteria Crit;
CString sCriteria;
if (pCmdLine->FindAttribute(CRITERIA_ATTRIB, &sCriteria))
CItem::ParseCriteria(sCriteria, &Crit);
else
CItem::InitCriteriaAll(&Crit);
// Generate a table
CSymbolTable Table(FALSE, TRUE);
// Loop over all items that match and add them to
// a sorted table.
for (j = 0; j < Universe.GetItemTypeCount(); j++)
{
CItemType *pType = Universe.GetItemType(j);
CItem Item(pType, 1);
if (!Item.MatchesCriteria(Crit))
continue;
// Figure out the sort order
char szBuffer[1024];
wsprintf(szBuffer, "%02d%s%02d%s",
pType->GetLevel(),
g_szTypeCode[GetItemType(pType)],
GetItemFreq(pType),
pType->GetNounPhrase().GetASCIIZPointer());
Table.AddEntry(CString(szBuffer), (CObject *)pType);
}
// If we need to output total count, then load the table
CSymbolTable TotalCount(TRUE, TRUE);
if (pCmdLine->GetAttributeBool(FIELD_TOTAL_COUNT))
{
if (error = LoadTotalCount(TOTAL_COUNT_FILENAME, TotalCount))
return;
}
// If we've got any entries in the table, output now
if (Table.GetCount())
{
// Generate a list of columns to display
CStringArray Cols;
Cols.AppendString(FIELD_LEVEL);
Cols.AppendString(FIELD_TYPE);
Cols.AppendString(FIELD_FREQUENCY);
Cols.AppendString(FIELD_NAME);
// More columns from command-line
if (pCmdLine->GetAttributeBool(FIELD_AVERAGE_COUNT))
Cols.AppendString(FIELD_AVERAGE_COUNT);
if (pCmdLine->GetAttributeBool(FIELD_BALANCE))
Cols.AppendString(FIELD_BALANCE);
if (pCmdLine->GetAttributeBool(FIELD_COST))
Cols.AppendString(FIELD_COST);
if (pCmdLine->GetAttributeBool(FIELD_INSTALL_COST))
Cols.AppendString(FIELD_INSTALL_COST);
if (pCmdLine->GetAttributeBool(FIELD_MASS))
Cols.AppendString(FIELD_MASS);
if (pCmdLine->GetAttributeBool(FIELD_TOTAL_COUNT))
Cols.AppendString(FIELD_TOTAL_COUNT);
if (pCmdLine->GetAttributeBool(FIELD_REFERENCE))
Cols.AppendString(FIELD_REFERENCE);
if (pCmdLine->GetAttributeBool(FIELD_HP))
Cols.AppendString(FIELD_HP);
if (pCmdLine->GetAttributeBool(FIELD_HP_BONUS))
Cols.AppendString(FIELD_HP_BONUS);
if (pCmdLine->GetAttributeBool(FIELD_REGEN))
Cols.AppendString(FIELD_REGEN);
if (pCmdLine->GetAttributeBool(FIELD_FIRE_DELAY))
Cols.AppendString(FIELD_FIRE_DELAY);
if (pCmdLine->GetAttributeBool(FIELD_THRUST))
Cols.AppendString(FIELD_THRUST);
if (pCmdLine->GetAttributeBool(FIELD_POWER))
Cols.AppendString(FIELD_POWER);
if (pCmdLine->GetAttributeBool(FIELD_POWER_PER_SHOT))
Cols.AppendString(FIELD_POWER_PER_SHOT);
if (pCmdLine->GetAttributeBool(FIELD_AVERAGE_DAMAGE))
Cols.AppendString(FIELD_AVERAGE_DAMAGE);
if (pCmdLine->GetAttributeBool(FIELD_MAX_SPEED))
Cols.AppendString(FIELD_MAX_SPEED);
// Output the header
//.........这里部分代码省略.........