Exemple #1
0
        /// <summary>
        /// Get the format index that matches the given format
        /// string, creating a new format entry if required.
        /// Aliases text to the proper format as required.
        /// </summary>
        /// <param name="pFormat">The format string matching a built in format.</param>
        /// <returns>index of format.</returns>
        public short GetFormat(String pFormat)
        {
            IEnumerator i;
            int         ind;
            String      format;

            if (pFormat.ToUpper().Equals("TEXT"))
            {
                format = "@";
            }
            else
            {
                format = pFormat;
            }

            if (!movedBuiltins)
            {
                i   = builtinFormats.GetEnumerator();
                ind = 0;
                while (i.MoveNext())
                {
                    for (int j = formats.Count; formats.Count < ind + 1; j++)
                    {
                        formats.Add(null);
                    }
                    formats[ind] = i.Current as string;
                    ind++;
                }
                movedBuiltins = true;
            }
            i   = formats.GetEnumerator();
            ind = 0;
            while (i.MoveNext())
            {
                if (format.Equals(i.Current))
                {
                    return((short)ind);
                }

                ind++;
            }

            ind = workbook.GetFormat(format, true);
            for (int j = formats.Count; formats.Count < ind + 1; j++)
            {
                formats.Add(null);
            }
            formats[ind] = format;

            return((short)ind);
        }