Создание Windows-приложений на основе Visual C#


           

string name, string pass)


namespace Mail.Providers { using System; using System.IO; using System.Diagnostics; using System.Text;
/// <summary> /// Провайдер для .eml-файлов. /// </summary> public class MessageFile : Provider { const string FiveOctalTerm = "\r\n.\r\n";
FileStream fs = null;
/// <summary> /// Конструктор. /// </summary> /// <param name="filename">Адрес к файлу.</param> public MessageFile(string filename) { fs = new FileStream(filename, FileMode.Open, FileAccess.Read); TempDirectory = Path.GetTempPath(); }
/// <summary> /// Не реализовано /// </summary> /// <param name="i"></param> public override void DeleteMessage(uint index) { Debug.WriteLine("Не реализовано"); }
string TruncateTail(string message) { if (!message.EndsWith(FiveOctalTerm)) { Debug.WriteLine("Последние 5 символов: {" + message.Substring(message.Length - 5) + "}"); throw new ResponseException("Неправильные символы конца сообщения."); }
return message.Remove(message.Length — FiveOctalTerm.Length, FiveOctalTerm.Length); }
/// <summary> /// Не реализовано. /// </summary> /// <param name="i"></param> public override Message GetMessage(uint index) { byte [] buf = new byte[fs.Length]; fs.Read(buf, 0, buf.Length); fs.Position = 0;
string message = Utils.RemoveByteStuffedSequence(Encoding.ASCII.GetString(buf)); return new Message(this, message, index); }
/// <summary> /// Этот метод необязателен. /// </summary> /// <param name="name"></param> /// <param name="pass"></param> public override void LogIn( string name, string pass) { Debug.WriteLine("Не реализовано"); }
/// <summary> /// Закрытие потока. /// </summary> public override void Dispose() { try { Quit(); } catch { }
GC.SuppressFinalize(this); }
/// <summary> /// Закрытие FilеStream. /// </summary> public override void Quit() { fs.Close(); } } }
Листинг 3.9.
Закрыть окно
Содержание  Назад  Вперед