Разработка приложения FileInfo по средствам среды программирования Microsoft Visual C#

Автор работы: Пользователь скрыл имя, 04 Мая 2013 в 09:59, курсовая работа

Описание работы

Требования к программному продукту:
Язык программирования – С++ (С#) с использованием API функций Win 32
Среда разработки – VisualC++, C++ Builder, C# (или другая, позволяющая создавать 32-разрядные Windows-приложения)
Интерфейс – оконное приложение, содержащее стандартные элементы управления (меню, кнопки, панели и т.п.)
Для всех приложений выполнить структурную обработку исключений (SEH).

Файлы: 1 файл

Пояснительная записка.doc

— 614.50 Кб (Скачать файл)

Аргументы:

Стартовый – Обязательный. Целое  значение индекса (начиная с  нуля), указывающее начало подстроки.

Конечный – Необязательный. Целое  значение индекса (начиная с нуля), указывающее конец подстроки. Подстрока  включает знаки до знака, задаваемого  конечным значением, но не включая его.

Если конечно значение опущено, будут возвращены знаки от начального до конца исходной строки.

Пример из кода программы:

tmp_fname = tmp_fname.Substring(0, 25);

 

  • ShowDialog – Отображает форму как модальное диалоговое окно

Пространство имён: System.Windows.Forms

Возвращаемое значение:

Тип: System.Windows.Forms.DialogResults

Одно из значений DialogResults

  • Refresh  - Удаляет любые кэщированные внутри компонента процесса сведения о связном процессе
  • ToString – Преобразует числовое значение данного экземпляра в эквивалентное строковое представление с использованием указанного формата.

Пространство имён: System

Параметры:

Тип: System.String

Строка числового формата.

Возвращаемое значение:

Тип: System.String

Строковое представление значения данного экземпляра, определяемое параметром

  •    ReadLine – Выполняет чтение строки символов из текущего потока и возвращает данные в виде строки

Пространство имён: System.IO

Возвращаемое значение: System.String

Следующая строка из входного потока иди значение Nothing, если достигнут конец входного потока.

  • Close – Закрытие файла для чтения содержимого

Пространство имён: System.Data

 

 

 

 

 

 

 

 

 

 

 

 

 

 

4. Руководство пользователя

4.1 Системные требования

  • Операционная система : Windows XP, Vista, 7
  • Оперативная память: не менее 16 МБ
  • Свободное пространство на диске: 400КБ
  • Наличие .Net Framework 4.0 или выше

4.2 Инструкция  пользователя

1. Для запуска программы дважды  кликните на файле File_info.exe

2. После этого откроется окно программы с одной действующей кнопкой “Открыть файл”. Это показано на Рисунке 11

Рисунок 11 – Окно приложения File_info

 

3. Нажмите на кнопку и выберете желаемый файл. Если вы будете вводить несуществующее имя – появится сообщение об ошибке, затем будет предложено попробовать ввести имя вновь.

4. Далее появятся несколько активных  кнопок: “Атрибуты файла”, “Переименовать”, “Переместить”, “Скопировать”, а так же если вы открыли файл с разрешением *.txt кнопка “Информация о *.txt-файле” так же станет активной.

5. В крайнем правом углу будет располагаться информация о файле: Размер, дата создания, дата изменения, дата открытия. Под кнопкой “Открыть файл” располагается имя файла

6. Нажав кнопку “Атрибуты файла” можно посмотреть какие атрибуты имеются у данного файла, а так же добавить желаемые. Что бы сохранить изменения нажмите кнопку “Сохранить изменения”. Это показано на Рисунке 12

 

Рисунок 12 – Атрибуты

7. Если тот файл, который вы  открыли имеет формат *.txt можно посмотреть количество строк, слов, символов, символов без пробелов данного файла, нажав на кнопку “Информация о *.txt-файле”. Это показано на Рисунке 13

Рисунок 13 – Информация о текстовом  файле

8. Для переименования файла нажмете на кнопку “Переименование”

После чего открывается окно с текущим  именем файла. Его можно изменить на желаемое и сохранить, нажав на кнопку “Применить”. Если имя не будет содержать ни одного символа – появится сообщение об ошибке, после чего предлагается вновь попробовать ввести имя. Это показано на Рисунках 14 и 15

    

Рисунок 14 – Переименование     Рисунок 15 – Сообщение об ошибке

9. Для перемещения файла нажмите  кнопку “Переместить”. После нажатия кнопки появится окно, в котором будет предложено выбрать куда переместить данный файл. Так же будет активна кнопка “Создать папку”, с помощью которой вы можете создать папку для хранения выбранного файла. Это показано на Рисунке 16

Рисунок 16 – Перемещение

10. Для копирования файла нажмите  кнопку “Скопировать”. После нажатия кнопки появится окно, в котором будет предложено выбрать куда скопировать данный файл. Так же будет активна кнопка “Создать папку”, с помощью которой вы можете создать папку для хранения выбранного файла. Если вы скопируете файл в туда где он уже находится – появится сообщение об ошибке и три активных кнопки: “Сведения” – подробнее познакомиться с ошибкой, “Продолжить – продолжить работу с программой без завершения последней операции” и “Выход” – завершение работы программы. Это показано на Рисунках 17 и 18.

Рисунок 17 – Копирование

 

Рисунок 18 – Сообщение об ошибке

11. Если необходимо закончить  работу с текущим файлом и  начать работу с другим –  просто нажмите “Открыть файл”

12. Что бы закончить работу  с приложением – нажмите крестик

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

5. Результаты разработки

Результатом разработки является пользовательское Windows – приложение. После запуска приложения и открытия файла можно посмотреть основную информацию о файле: Размер, дата создания, дата изменения, дата открытия, имя. Так же можно посмотреть какими атрибутами обладает файл и внести желаемые изменения и сохранить их.

Так же можно выполнить переименование, перемещение и копирование файла.

Программа обладает способностью посчитать  количество букв, слов, символов, символов без пробелов у текстовых файлов.

Программа может быть использована как замена некоторых функций  Проводника Windows и текстовых редакторов. Функционал приложения ограничен поставленными задачами.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

6. Заключение

    1. В ходе данной работы были выполнены все поставленные задачи, повышен навык работы с платформой .NETFramework, языком программирования C#.

 

    1. Простейший интерфейс позволяет работать даже начинающим пользователям ПК.

 

    1. Предусмотрено уведомление пользователя об ошибках.
    2. Выполнены все требования к приложению, кроме применения функций WinAPI, т.к. они устарели и их использование значительно увеличило время разработки.
    3. Данное приложение можно доработать до более серьёзного приложения, к примеру до приложения, выполняющего базовые функции файл – менеджера.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Список используемой литературы

http://msdn.microsoft.com/ru-ru/library

http://wincmd.ru/plugring/totalcmd.html

http://msdn.microsoft.com/ru-ru/library/bb383977.aspx

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Приложение.

Form1.cs:

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Windows.Forms;

using System.IO;

 

namespace File_info

{

 

    public partial class Form1 : Form

    {

 

        FileInfo fileinf;

        public Form1()

        {

            InitializeComponent();

        }

 

        public bool check_exists(string fname) //проверка существования файла

        {

            if (File.Exists(fname))

            {

                return true;

            }

            else

            {

                MessageBox.Show("Анализируемый файл был перемещён или удалён");

                return false;

            }

        }

 

 

        public void update_fname_info(string fname)

        {

            string tmp_fname = fileinf.Name;

            if (tmp_fname.Length > 25)

            {

                tmp_fname = tmp_fname.Substring(0, 25);

            }

 

            label1.Text = "Имя файла:\n" + tmp_fname;

 

            if (fileinf.Extension == ".txt")

            {

                button5.Enabled = true;

            }

            else

            {

                button5.Enabled = false;

            }

        }

 

 

        private void button1_Click(object sender, EventArgs e)

        {

            if (openFileDialog1.ShowDialog() == DialogResult.OK)

            {

                fileinf = new FileInfo(openFileDialog1.FileName);

 

                update_fname_info(fileinf.Name);

 

                label2.Visible = true;

                label2.Text = "Информация о файле:\n"

                    + "Размер: "+fileinf.Length.ToString()+" байт.\n"

                    + "Создан:    "+fileinf.CreationTime.ToString()

                    + "\nИзменён: " + fileinf.LastWriteTime.ToString()

                    + "\nОткрыт:    " + fileinf.LastAccessTime.ToString();

 

                button6.Enabled = true;

 

                button2.Enabled = true;

                button3.Enabled = true;

                button4.Enabled = true;

            }

        }

 

        private void button6_Click(object sender, EventArgs e)

        {

            Form2 form_attrib = new Form2();

            form_attrib.fname = fileinf.FullName;

 

 

            if ((fileinf.Attributes & FileAttributes.Archive) == FileAttributes.Archive) //Является ли архивным?

            {

               form_attrib.checkBox1.Checked = true;

            }

 

            if ((fileinf.Attributes & FileAttributes.Hidden) == FileAttributes.Hidden)//Является ли скрытым?

            {

                form_attrib.checkBox2.Checked = true;

            }

 

            if ((fileinf.Attributes & FileAttributes.ReadOnly) == FileAttributes.ReadOnly) //Является ли только для чтения?

            {

                form_attrib.checkBox3.Checked = true;

            }

 

            if ((fileinf.Attributes & FileAttributes.NotContentIndexed) == FileAttributes.NotContentIndexed) //Является ли включенным в индексацию?

            {

                form_attrib.checkBox4.Checked = false;

            }

 

            if ((fileinf.Attributes & FileAttributes.System) == FileAttributes.System) //Является ли системным?

            {

                form_attrib.checkBox5.Checked = true;

            }

 

            form_attrib.ShowDialog();

            fileinf.Refresh();

 

        }

 

        private void button2_Click(object sender, EventArgs e)

        {

            if (check_exists(fileinf.FullName))

            {

                Form3 form_rename = new Form3(); //Создаём форму 3 - окно переименования

                form_rename.textBox1.Text = fileinf.Name;

                form_rename.ShowDialog(); //выводим форму

                if (form_rename.change_name == true) //проверяем, изменили имя файла или нет

                {

                    try

                    {

                        fileinf.MoveTo(fileinf.DirectoryName +@"\" +form_rename.textBox1.Text);

                        update_fname_info(fileinf.Name); //обновляем в программе название файла

                    }

                    catch (Exception err)

                    {

                        MessageBox.Show(err.Message.ToString());

                    }

                }

            }

        }

 

        private void button3_Click(object sender, EventArgs e)

        {

            if (check_exists(fileinf.FullName))

            {

                if (folderBrowserDialog1.ShowDialog() == DialogResult.OK)

                {

                    fileinf.MoveTo(folderBrowserDialog1.SelectedPath + @"\" + fileinf.Name);

                    MessageBox.Show("Файл перемещён в " + folderBrowserDialog1.SelectedPath.ToString());

                }

 

            }

        }

 

        private void button4_Click(object sender, EventArgs e)

        {

            if (check_exists(fileinf.FullName))

            {

                if (folderBrowserDialog1.ShowDialog() == DialogResult.OK)

                {

                    fileinf.CopyTo(folderBrowserDialog1.SelectedPath + @"\" + fileinf.Name);

                    MessageBox.Show("Файл скопирован в " + folderBrowserDialog1.SelectedPath.ToString());

                }

 

            }

        }

 

        private void button5_Click(object sender, EventArgs e)

        {

            if (check_exists(fileinf.FullName))

            {

                // if (fileinf.Length > 1024*1024*1024)

 

                int slov = 0; //объявляем переменные для статистики

                int strok = 0;

                int sym = 0;

                int sym_all = 0;

                string cur_line="";

                bool str_have_sym ;

 

                TextReader reader = new StreamReader(fileinf.OpenRead()); // создаём объект для чтение содержимого файла

                while (true)

                {

                    cur_line = reader.ReadLine(); //считываем 1 строку

 

                    if (cur_line != null) //Если строка существует

                    {

                        str_have_sym = false;

 

                        for (int i = 0; i < cur_line.Length; i++)

                        {

                            sym_all++; //считаем все символы

 

                            if (cur_line[i] == ' ') // Не является ли текущий символ пробелом?

                            {

                                if (((i + 1) < cur_line.Length) && (cur_line[i + 1] != ' ')) // если символ не является последним и не явл. пробелом

                                {

                                    slov++;

                                }

 

                            }

                            else

                            {

                                str_have_sym = true; //Строка имеет символы

                                sym++; //Считаем символы, без пробелов

                            }

Информация о работе Разработка приложения FileInfo по средствам среды программирования Microsoft Visual C#