Exemple #1
0
        public virtual void Clear()
        {
            ListedNameList.Clear();

            NameList.Clear();

            Index = -1;

            Buf.Clear();

            Buf01.Clear();

            EditRec = false;

            EditField = false;

            ShowDesc = false;

            FieldDesc = FieldDesc.None;

            BufSize = 0;

            FillChar = '\0';

            Offset = 0;

            ErrorFieldName = null;

            ErrorMessage = "";

            RecordType = null;

            EditRecord = null;

            NewRecordUid = 0;

            FullDetail = false;

            ResolveEffects = false;

            LookupMsg = false;

            NumberFields = false;

            ExcludeROFields = false;

            ListNum = 1;
        }
Exemple #2
0
        /// <summary></summary>
        /// <param name="fieldName"></param>
        /// <returns></returns>
        public virtual string BuildValue(string fieldName)
        {
            Debug.Assert(!string.IsNullOrWhiteSpace(fieldName));

            var result = "";

            var methodName = string.Format("BuildValue{0}", fieldName);

            var methodInfo = GetType().GetMethod(methodName, BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance);

            if (methodInfo != null)
            {
                Buf01.Clear();

                result = (string)methodInfo.Invoke(this, null);
            }

            return(result);
        }
Exemple #3
0
        public virtual void PrintFieldDesc(string fieldName)
        {
            Debug.Assert(!string.IsNullOrWhiteSpace(fieldName));

            var methodName = string.Format("PrintDesc{0}", fieldName);

            var methodInfo = GetType().GetMethod(methodName, BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance);

            if (methodInfo != null)
            {
                Buf01.Clear();

                methodInfo.Invoke(this, null);

                if (Buf01.Length > 0)
                {
                    gOut.Write("{0}", Buf01);
                }
            }
        }
Exemple #4
0
        public virtual void Write(string format, params object[] arg)
        {
            Debug.Assert(format != null);

            Buf.SetFormat(format, arg);

            if (ResolveUidMacros && Globals?.Engine != null)
            {
                Buf01.Clear();

                var rc = Globals.Engine.ResolveUidMacros(Buf.ToString(), Buf01, true, true);

                Debug.Assert(Globals.Engine.IsSuccess(rc));

                Buf.SetFormat("{0}", Buf01);
            }

            if (PunctSpaceCode != PunctSpaceCode.None)
            {
                Buf.SetFormat("{0}", PunctSpaceCode == PunctSpaceCode.Single ? SingleSpaceRegex.Replace(Buf.ToString(), @"$1 $3") : DoubleSpaceRegex.Replace(Buf.ToString(), @"$1  $3"));
            }

            if (WordWrap && Globals?.Engine != null)
            {
                Globals.Engine.WordWrap(Buf.ToString(), Buf);
            }

            if (SuppressNewLines)
            {
                while (Buf.IndexOf(ThreeNewLines) >= 0)
                {
                    Buf.Replace(ThreeNewLines, TwoNewLines);
                }

                NumNewLines += (Buf.StartsWith(TwoNewLines) ? 2 : Buf.StartsWith(Environment.NewLine) ? 1 : 0);

                while (NumNewLines > 2 && Buf.StartsWith(Environment.NewLine))
                {
                    Buf.Remove(0, Environment.NewLine.Length);

                    NumNewLines--;
                }

                var s = Buf.ToString();

                if (Buf.Length > 0 && !string.Equals(s, Environment.NewLine) && !string.Equals(s, TwoNewLines))
                {
                    NumNewLines = Buf.EndsWith(TwoNewLines) ? 2 : Buf.EndsWith(Environment.NewLine) ? 1 : 0;
                }
            }

            if (EnableOutput)
            {
                try
                {
                    App.OutputBufMutex.WaitOne();

                    EnforceOutputBufMaxSize();

                    if (Stdout)
                    {
                        App.OutputBuf.Append(Buf);
                    }
                    else
                    {
                        App.OutputBuf.Append(Buf);
                    }

                    RefreshOutputText();
                }
                catch (Exception ex)
                {
                    // do something
                }
                finally
                {
                    App.OutputBufMutex.ReleaseMutex();
                }
            }
        }
Exemple #5
0
        public virtual void Write(string format, params object[] arg)
        {
            Debug.Assert(format != null);

            Buf.SetFormat(format, arg);

            if (ResolveUidMacros && Globals?.Engine != null)
            {
                Buf01.Clear();

                var rc = Globals.Engine.ResolveUidMacros(Buf.ToString(), Buf01, true, true);

                Debug.Assert(Globals.Engine.IsSuccess(rc));

                Buf.SetFormat("{0}", Buf01);
            }

            if (PunctSpaceCode != PunctSpaceCode.None)
            {
                Buf.SetFormat("{0}", PunctSpaceCode == PunctSpaceCode.Single ? SingleSpaceRegex.Replace(Buf.ToString(), @"$1 $3") : DoubleSpaceRegex.Replace(Buf.ToString(), @"$1  $3"));
            }

            if (WordWrap && Globals?.Engine != null)
            {
                Globals.Engine.WordWrap(Buf.ToString(), Buf);
            }

            if (SuppressNewLines)
            {
                while (Buf.IndexOf(ThreeNewLines) >= 0)
                {
                    Buf.Replace(ThreeNewLines, TwoNewLines);
                }

                NumNewLines += (Buf.StartsWith(TwoNewLines) ? 2 : Buf.StartsWith(Environment.NewLine) ? 1 : 0);

                while (NumNewLines > 2 && Buf.StartsWith(Environment.NewLine))
                {
                    Buf.Remove(0, Environment.NewLine.Length);

                    NumNewLines--;
                }

                var s = Buf.ToString();

                if (Buf.Length > 0 && !s.Equals(Environment.NewLine) && !s.Equals(TwoNewLines))
                {
                    NumNewLines = Buf.EndsWith(TwoNewLines) ? 2 : Buf.EndsWith(Environment.NewLine) ? 1 : 0;
                }
            }

            if (EnableOutput)
            {
                if (Stdout)
                {
                    Console.Out.Write("{0}", Buf);
                }
                else
                {
                    Console.Error.Write("{0}", Buf);
                }
            }
        }