000150. Подключаем dll-библиотеку, работа с файлами

using System.IO;

Чтобы не геммороиться с созданием объектов этого класса, предлагаю сделать 2 статичных метода, которые будут записывать и читать файл. Начнём с записи в файл: 1) Создадим метод "AddMessage", который будет добавлять запись в Лог:

public static void AddMessage( string Text ) { // Здесь будет код! }

Далее идёт непосредственно сам процесс записи. Структуру файла я предлагаю сделать такой:

ДАТА_СОЗДАНИЯ|ТЕКСТ

Чтобы мы могли легко читать данные с файла я отделил текст и дату сепаратором "|". А сам процесс записи такой:

File.AppendAllText( "Log.txt", Text + "\r\n" );

Вначале указывается путь к файлу. Так как как файл автоматически будет создаваться в директории с программой, то ничего лишнего сюда добавлять не понадобилось. После этого указывается строка, которая будет дописана в файл. Чтобы отделить строки, я добавил к тексту ещё и перенос строки \r. ВАЖНО! Символ "" в c# поддерживается частично и данном случаи он не будет переносить строки. Чтобы записать ещё и дату, нужно воспользоваться структурой DateTime. Процесс получения текущей даты выглядит следующим образом:

DateTime.Today.ToShortDateString()

Чтобы обезопасить себя от исключений и ошибок влепим этот код в блок try. Сама процедура будет содержать такой код:

try { File.AppendAllText( "Log.txt", DateTime.Today.ToShortDateString() + "|" + Text + "\r\n" ); } catch { return; }

Таким образом, если каким-то макаром файл не удастся открыть, то процесс записи будет пропущен. Процесс чтения. Начнём с того, как написать метод? Прежде всего Есть метод, который возвращает массив строк и выглядит он таким образом:

File.ReadAllLines( "Log.txt" );

Таким образом можно сформировать такой статический метод:

public static string[] GetMessages() { // Здесь будет процесс чтения }

Нужно также помнить, что если файла не существует, то программа вызовет исключение по данному поводу и приведёт к краху браузера, по этому этот код лучше заточить в блок try. Весь метод будет віглядить так:

public static string[] GetMessages() { try { return File.ReadAllLines( "Log.txt" ); } catch { return null; } return Lines; }

Если файл не удастся открыть, то метод возвратит null. Компилируем нашу библиотеку (клавиша F6) и сохраняем проект. Нам осталось только применить нашу библиотеку и посмотреть работает ли она :) Переходим в проект браузера и в обработчике событий кнопки добавим код:

private void button1_Click( object sender, EventArgs e ) { try { webBrowser1.Url = new Uri( textBox1.Text ); BrowserLog.AddMessage( textBox1.Text ); label1.Text = ""; } catch { label1.Text = "Неверное имя ссылки!"; } }

using BrowserLib;

Last updated