public string ExpandMacros(string input)
{
string sExpanded = input;
bool bFound = true;
ArrayList oMacros = Macros;
while (bFound)
{
bFound = false;
for (int i = 0; i < oMacros.Count; i++)
{
Macro oMacro = (Macro)oMacros[i];
if (sExpanded.IndexOf(oMacro.Name) >= 0)
{
bFound = true;
sExpanded = sExpanded.Replace(oMacro.Name, oMacro.Value);
}
}
}
return sExpanded;
}