private string FormatM(int length, string val, char fillChar)
{
if (length == -1)
return val;
if (length < val.Length)
return val.Substring ((val.Length - length) / 2, length);
else {
int left = (int)Math.Floor (((float)length - (float)val.Length) / 2f);
int right = (int)Math.Ceiling (((float)length - (float)val.Length) / 2f);
string retval = "";
for (int l = 0; l < left; l++)
retval += fillChar.ToString ();
retval += val;
for (int r = 0; r < right; r++)
retval += fillChar.ToString ();
return retval;
}
}