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