Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > Общие вопросы .NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 29.06.2010, 13:48   #1
pa6kevi4
Пользователь
 
Регистрация: 15.09.2009
Сообщений: 52
Злость НАСЧЁТ ЛОГГЕРОВ

Сижу уже НЕДЕЛЮ, мучаюсь с заданием. Срочно нужна ВАША помощь

Нужно чтобы ЭТО запускалось в отдельном потоке. ЧТОБЫ ОСТАЛЬНАЯ ЧАСТЬ ПРОГРАММЫ, ВЫЗЫВАЮЩАЯ ЭТОТ КЛАСС, НЕ ЖДАЛА ЕГО ВЫПОЛНЕНИЯ, А ПРОСТО ПЕРЕДАВАЛА ЕМУ ЗНАЧЕНИЯ.

Код:
    public class TxtLogger : ILogger
    {
        private FileStream f1;
        private StreamWriter output;
        protected string FileName = Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory) + "\\Folder\\Output1.txt";
        protected string CurrentLogText;

        protected ThreadStart myThreadDelegate;
        protected Thread thr;

        public TxtLogger()
        {
            f1 = new FileStream(FileName, FileMode.Append);
            output = new StreamWriter(f1);
        }

        public void Log(string message, MessageType messageType)
        {
            lock (this)
            {
                CurrentLogText = "Message text: " + message + ", " + DateTime.Now.ToString() + ", Type: " + messageType;
                output.WriteLine(CurrentLogText);
                f1.Flush();
                output.Flush();
            }
        }
    }
СВЕРХУ:

Код:
        protected ILogger lg1 = new TxtLogger();
        protected ILogger lg2 = new XmlLogger();
        protected ILogger lg3 = new DbLogger();

        protected MessageGenerator[] arr;
Код:
                  arr = new MessageGenerator[numberOfGen];
                    
                    for (int c = 0; c < arr.Length; c++)
                    {
                        arr[c] = new MessageGenerator(numberOfGen, mseconds);

                        if (checkBox1.Checked)
                        {
                            arr[c].MessageGeneratedEvent += new MessageGenerator.MyDelegate(lg1.Log);
                        }
                        if (checkBox2.Checked)
                            arr[c].MessageGeneratedEvent += new MessageGenerator.MyDelegate(lg2.Log);
                        if (checkBox3.Checked)
                            arr[c].MessageGeneratedEvent += new MessageGenerator.MyDelegate(lg3.Log);
                        arr[c].go();                      
                    }
pa6kevi4 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Насчёт программирования ПолныйНуль Свободное общение 3 25.03.2010 22:56
Насчёт книжек подскажите StudentPolitech Общие вопросы C/C++ 1 11.01.2009 01:38
насчёт обучения steck Свободное общение 5 26.05.2007 07:53
Насчёт скина JoanM Win Api 5 16.04.2007 16:45
Вопрос насчёт процедуры. nemo.x Общие вопросы Delphi 13 24.02.2007 14:15