Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву
Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Namespace FilePropertiesAndMovementСодержание книги
Поиск на нашем сайте
{ public partial class Form1: Form { private string currentFolderPath; private System.Windows.Forms.Label label8; private System.Windows.Forms.Button buttonDisplay; private System.Windows.Forms.Button buttonUp; private System.Windows.Forms.TextBox textBoxLastWriteTime; private System.Windows.Forms.Label label2; private System.Windows.Forms.TextBox textBoxInput; private System.Windows.Forms.Label label1; private System.Windows.Forms.TextBox textBoxCreationTime; private System.Windows.Forms.ListBox listBoxFiles; private System.Windows.Forms.ListBox listBoxFolders; private System.Windows.Forms.GroupBox groupBox1; private System.Windows.Forms.Label label6; private System.Windows.Forms.TextBox textBoxLastAccessTime; private System.Windows.Forms.Label label5; private System.Windows.Forms.Label label3; private System.Windows.Forms.TextBox textBoxFileSize; private System.Windows.Forms.Label label7; private System.Windows.Forms.TextBox textBoxFileName; private System.Windows.Forms.Label label4; private System.Windows.Forms.TextBox textBoxFolder; private System.Windows.Forms.GroupBox groupBox2; private System.Windows.Forms.GroupBox groupBox3; private System.Windows.Forms.Label label9; private System.Windows.Forms.TextBox textBox1; private System.Windows.Forms.Label label10; private System.Windows.Forms.Label label11; private System.Windows.Forms.TextBox textBox2; private System.Windows.Forms.Label label12; private System.Windows.Forms.TextBox textBox3; private System.Windows.Forms.Label label13; private System.Windows.Forms.TextBox textBox4; private System.Windows.Forms.GroupBox groupBox4; private System.Windows.Forms.Button button1; private System.Windows.Forms.TextBox textBox5; private System.Windows.Forms.GroupBox groupBox5; private System.Windows.Forms.Label label14; private System.Windows.Forms.TextBox textBoxNewPath; private System.Windows.Forms.Button buttonDelete; private System.Windows.Forms.Button buttonCopyTo; private System.Windows.Forms.Button buttonMoveTo; public Form1() { InitializeComponent(); } // Функции ClearAllFields, DisplayFileInfo, DisplayFolderList, // DisableMoveFeatures не являются обработчиками событий. Коды этих // функций в класс главной формы необходимо добавить вручную
// Очистка содержимого всех элементов управления protected void ClearAllFields () { listBoxFolders.Items.Clear(); listBoxFiles.Items.Clear(); textBoxFolder.Text = ""; textBoxFolder.Text = ""; textBoxFileName.Text = ""; textBoxCreationTime.Text = ""; textBoxLastAccessTime.Text = ""; textBoxLastWriteTime.Text = ""; textBoxFileSize. Text = ""; }
// Отображение информации о файлах в текстовых полях protected void DisplayFileInfo(string fileFullName) { // Создание объекта класса FileInfo. В конструктор класса // передается строка, содержащая путь к файлу FileInfo theFile = new FileInfo(fileFullName); if (!theFile.Exists) throw new FileNotFoundException(" Файл не найден: " + fileFullName); // Вывод информации об имени файла textBoxFileName. Text = theFile. Name; // Вывод информации о дате создания файла textBoxCreationTime.Text = theFile.CreationTime.ToLongTimeString(); // Вывод информации о времени последнего доступа к файлу textBoxLastAccessTime.Text = theFile.LastAccessTime.ToLongDateString(); textBoxLastWriteTime.Text = theFile.LastWriteTime.ToLongDateString(); // Вывод информации о размере файла textBoxFileSize.Text = theFile.Length.ToString() + "bytes"; // Разрешение перемещения, удаления, копирования файлов textBoxNewPath.Text = theFile.FullName; textBoxNewPath.Enabled = true; buttonCopyTo.Enabled = true; buttonDelete.Enabled = true; buttonMoveTo.Enabled = true; }
// Отображение содержимого заданной папки в двух окнах списков // listBoxFolders и listBoxFiles protected void DisplayFolderList(string folderFullName) { // Создание объекта класса DirectoryInfo. В конструктор класса // передается строка, содержащая путь к папке DirectoryInfo theFolder = new DirectoryInfo(folderFullName); // Свойство Exists позволяет проверить, существует ли объект файловой // системы if (!theFolder.Exists) throw new DirectoryNotFoundException(" Папка не найдена: " + folderFullName); ClearAllFields(); DisableMoveFeatures(); textBoxFolder.Text = theFolder.FullName; currentFolderPath = theFolder.FullName; // Вывод в элемент listBoxFolders списка всех вложенных папок в папке foreach (DirectoryInfo nextFolder in theFolder.GetDirectories()) listBoxFolders.Items.Add(nextFolder.Name); // Вывод в список listBoxFiles списка всех файлов в папке foreach (FileInfo nextFile in theFolder.GetFiles()) listBoxFiles.Items.Add(nextFile.Name); }
// Щелчок по кнопке Отобразить protected void OnDisplayButtonClick(object sender, EventArgs e) { try { string folderPath = textBoxInput.Text; DirectoryInfo theFolder = new DirectoryInfo(folderPath); if (theFolder.Exists) { (theFolder.FullName); return; } FileInfo theFile = new FileInfo(folderPath); if (theFile.Exists) { DisplayFolderList(theFile.Directory.FullName); int index = listBoxFiles.Items.IndexOf(theFile.Name); listBoxFiles.SetSelected(index, true); return; } throw new FileNotFoundException("There is no file or folder with" + "this name:" + textBoxInput.Text); } catch (Exception ex) { MessageBox.Show(ex.Message); } } // Объявление недоступными элементов управления для перемещения, // удаления копирования файлов void DisableMoveFeatures() { textBoxNewPath.Text = ""; textBoxNewPath.Enabled = false; buttonCopyTo.Enabled = false; buttonDelete.Enabled = false; buttonMoveTo.Enabled = false; } // Выбор элемента в окне списка Файлы protected void OnListBoxFilesSelected(object sender, EventArgs e) { try { string selectedString = listBoxFiles.SelectedItem.ToString(); string fullFileName = Path.Combine(currentFolderPath, selectedString); DisplayFileInfo(fullFileName); } catch (Exception ex) { MessageBox.Show(ex.Message); } }
// Выбор элемента в окне списка Папки protected void OnListBoxFoldersSelected(object sender, EventArgs e) { try { string selectedString = listBoxFolders.SelectedItem.ToString(); string fullPathName = Path.Combine(currentFolderPath, selectedString); DisplayFolderList(fullPathName); } catch (Exception ex) { MessageBox.Show(ex.Message); } }
// Щелчок по кнопке Вверх protected void OnUpButtonClick(object sender, EventArgs e) { try { string folderPath = new FileInfo(currentFolderPath).DirectoryName; DisplayFolderList(folderPath); } catch (Exception ex) { MessageBox.Show(ex.Message); } }
// Щелчок по кнопке Удаление protected void OnDeleteButtonClick(object sender, EventArgs e) { try { string filePath = Path.Combine(currentFolderPath, textBoxFileName.Text); string query = "Really delete the file\n" + filePath + "?"; if (MessageBox.Show(query, "Delete File?", MessageBoxButtons.YesNo) == Dialog Result.Yes) { File.Delete(filePath); DisplayFolderList(currentFolderPath); } } catch (Exception ex) { MessageBox.Show("Unable to delete file. The following exception" + "occurred:\n" + ex.Message, "Failed"); } } // Щелчок по кнопке Перемещение protected void OnMoveButtonClick(object sender, EventArgs e) { try { string filePath = Path.Combine(currentFolderPath, textBoxFileName.Text); string query = "Really move the file\n" + filePath + "\nto " + textBoxNewPath.Text + "?"; if (MessageBox.Show(query, " Переместить файл?", MessageBoxButtons.YesNo) == DialogResult.Yes) { File.Move(filePath, textBoxNewPath.Text); DisplayFolderList(currentFolderPath); } } catch (Exception ex) { MessageBox.Show(" Невозможно выполнить перемещение файла " + "occurred:\n" + ex.Message, "Failed"); } } // Щелчок по кнопке Копирование protected void OnCopyButtonClick(object sender, EventArgs e) { try { string filePath = Path.Combine(currentFolderPath, textBoxFileName.Text); string query = "Really copy the file\n" + filePath + "\nto" + textBoxNewPath.Text + "?"; if (MessageBox.Show(query, " Копировать файл?", MessageBoxButtons.YesNo) == DialogResult.Yes) { File.Copy(filePath, textBoxNewPath.Text); DisplayFolderList(currentFolderPath); } } catch (Exception ex) { MessageBox.Show(" Невозможно выполнить копирование файла " + "occurred:\n" + ex.Message, "Failed"); } } } }
textBoxInput textBoxFolder buttonDisplay
textBoxFileSize textBoxLastWriteTime buttonMoveTo buttonCopyTo buttonDelete
Рис. 7.1. Интерфейс приложения Простой браузер файлов Порядок выполнения работы
1. Изучить теоретические сведения и примеры, представленные в гл. 13 «Работа с файловой системой» учебного пособия В. В. Вдовенко «Разработка приложения на языке С#» (с. 272–285), а также пример приложения Простой браузер файлов, представленный выше. 2. Ответить на контрольные вопросы. 3. Выполнить практическое задание. 4. Составить отчет в электронном виде, который должен содержать титульный лист, цель лабораторной работы, задание, ответы на контрольные вопросы, листинг программы и результаты ее работы. Контрольные вопросы и задания
1. В каком пространстве имен определены классы для работы 2. Охарактеризуйте различия в использовании классов DirectoryInfo, FileInfo и Directory, File? 3. Какие классы обеспечивают выполнение операций чтения и записи содержимого файлов? 4. Опишите организацию обработки файлов с помощью объектных технологий. 5. Каким образом можно вывести информацию о логических дисках компьютера? 6. В каких элементах управления отображается информация о файлах и папках? 7. Назовите методы, позволяющие выполнять копирование, перемещение, удаление файлов. 8. Для каких операций применяются методы класса DirectoryInfo? 9. Каким образом можно создать объекты классов DirectoryInfo и FileInfo? 10. Назовите свойства классов DirectoryInfo и FileInfo, позволяющие получить информацию об объекте файловой структуры. Практическое задание
Разработать приложение Браузер файлов, поддерживающее следующие действия: – вывод информации о логических дисках компьютера; – вывод дерева файлов и папок; – предоставление информации о выделенных файле или папке, дате создания, размере, атрибутах, времени последней модификации; – выполнение операций создания, копирования, переименования, перемещения файлов и папок. Интерфейс программы должен поддерживаться с помощью главного меню, контекстного меню и панелей инструментов. В главном меню необходимо предусмотреть пункт О программе, при выборе которого будет выводиться диалоговое окно, содержащее справочную информацию.
Лабораторная работа 8
|
||||||||||||||||||||||||||||||||
|
Последнее изменение этой страницы: 2022-09-03; просмотров: 135; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 216.73.217.39 (0.006 с.) |