private bool logError(int pErrCode)
        {
            int         arr_cnt;
            errorBundle temp_err = null;

            if (logErrors)
            {
                for (arr_cnt = 0; arr_cnt < errNum; arr_cnt++)
                {
                    if (err[arr_cnt].Code == pErrCode)
                    {
                        temp_err = err[arr_cnt];
                        break;
                    }
                }
            }

            if (temp_err == null)            // no Error with this nr. found
            {
                return(false);
            }
            else
            {
                if (temp_err.Logg)
                {
                    sw_error.WriteLine(temp_err.getErrorForLog());
                    sw_error.Flush();
                }
            }

            return(true);
        }
 public errorBundle(errorBundle pOld)
 {
     codenr   = pOld.Code;
     desc     = pOld.Description;
     techDesc = pOld.techDescription;
     reason   = pOld.possibleReason;
     sugg     = pOld.Suggestion;
     logg     = pOld.Logg;
 }         // Copykonstruktor
 public errorBundle(errorBundle pOld)
 {
     codenr = pOld.Code;
     desc = pOld.Description;
     techDesc = pOld.techDescription;
     reason = pOld.possibleReason;
     sugg = pOld.Suggestion;
     logg = pOld.Logg;
 }
        private bool readConfFile()
        {
            string buffer;
            int errCnt;
            int arr_cnt;
            int tempCode;
            bool tempLogg;

            fs_conf.Seek(0, SeekOrigin.Begin);
            sr_conf.ReadLine(); // ignore first one;

            buffer = sr_conf.ReadLine();

            for(errCnt = 0; buffer != null && errCnt < errNum; errCnt++)
            {
                string[] splitbuffer = buffer.Split(';');

                // Exit readConfFile(): when there's an incomplete set of data (not every field filled out properly)

                if(splitbuffer.GetUpperBound(0) < (errorBundle.cntMember-1))
                {
                    stdOut.Error("Fehler beim Lesen der Fehlerkonfigurationsdatei:\nZeile " + (errCnt + 2).ToString() + ": unvollständiger Datensatz");
                    return(false);
                }

                try
                {
                    tempCode		= Convert.ToInt32(splitbuffer[0]);
                }
                catch
                {
                    stdOut.Error("Fehler beim Lesen der Fehlerkonfigurationsdatei:\nZeile " + (errCnt + 2).ToString() + ": nicht in Errorcode konvertierbar");
                    return(false);
                }

                // Scan through and break if error code exists twice, continue otherwise:
                for(arr_cnt = 0; arr_cnt < errCnt; arr_cnt++)
                {
                    if(err[arr_cnt].Code == tempCode)
                    {
                        stdOut.Error("Fehler beim Lesen der Fehlerkonfigurationsdatei:\nZeile " + (errCnt+2).ToString() + ": Doppelter Errorcode, vorher definiert in Zeile " + (arr_cnt + 1).ToString());
                        return(false);
                    }
                }

                if(splitbuffer[5] == "0")
                {
                    tempLogg = false;
                }
                else
                {
                    tempLogg = true;
                }
                // Finally add error-bundle
                err[errCnt] = new errorBundle(tempCode,splitbuffer[1],splitbuffer[2],splitbuffer[3], splitbuffer[4], tempLogg);

                // Continue with next line
                buffer = sr_conf.ReadLine();

            }
            sr_conf.Close();
            fs_conf.Close();

            return(true);
        }
        private bool readConfFile()
        {
            string buffer;
            int    errCnt;
            int    arr_cnt;
            int    tempCode;
            bool   tempLogg;

            fs_conf.Seek(0, SeekOrigin.Begin);
            sr_conf.ReadLine();             // ignore first one;

            buffer = sr_conf.ReadLine();

            for (errCnt = 0; buffer != null && errCnt < errNum; errCnt++)
            {
                string[] splitbuffer = buffer.Split(';');

                // Exit readConfFile(): when there's an incomplete set of data (not every field filled out properly)

                if (splitbuffer.GetUpperBound(0) < (errorBundle.cntMember - 1))
                {
                    stdOut.Error("Fehler beim Lesen der Fehlerkonfigurationsdatei:\nZeile " + (errCnt + 2).ToString() + ": unvollständiger Datensatz");
                    return(false);
                }

                try
                {
                    tempCode = Convert.ToInt32(splitbuffer[0]);
                }
                catch
                {
                    stdOut.Error("Fehler beim Lesen der Fehlerkonfigurationsdatei:\nZeile " + (errCnt + 2).ToString() + ": nicht in Errorcode konvertierbar");
                    return(false);
                }

                // Scan through and break if error code exists twice, continue otherwise:
                for (arr_cnt = 0; arr_cnt < errCnt; arr_cnt++)
                {
                    if (err[arr_cnt].Code == tempCode)
                    {
                        stdOut.Error("Fehler beim Lesen der Fehlerkonfigurationsdatei:\nZeile " + (errCnt + 2).ToString() + ": Doppelter Errorcode, vorher definiert in Zeile " + (arr_cnt + 1).ToString());
                        return(false);
                    }
                }

                if (splitbuffer[5] == "0")
                {
                    tempLogg = false;
                }
                else
                {
                    tempLogg = true;
                }
                // Finally add error-bundle
                err[errCnt] = new errorBundle(tempCode, splitbuffer[1], splitbuffer[2], splitbuffer[3], splitbuffer[4], tempLogg);

                // Continue with next line
                buffer = sr_conf.ReadLine();
            }
            sr_conf.Close();
            fs_conf.Close();

            return(true);
        }