Автор работы: Пользователь скрыл имя, 04 Мая 2013 в 09:59, курсовая работа
Требования к программному продукту:
Язык программирования – С++ (С#) с использованием API функций Win 32
Среда разработки – VisualC++, C++ Builder, C# (или другая, позволяющая создавать 32-разрядные Windows-приложения)
Интерфейс – оконное приложение, содержащее стандартные элементы управления (меню, кнопки, панели и т.п.)
Для всех приложений выполнить структурную обработку исключений (SEH).
Аргументы:
Стартовый – Обязательный. Целое значение индекса (начиная с нуля), указывающее начало подстроки.
Конечный – Необязательный. Целое значение индекса (начиная с нуля), указывающее конец подстроки. Подстрока включает знаки до знака, задаваемого конечным значением, но не включая его.
Если конечно значение опущено, будут возвращены знаки от начального до конца исходной строки.
Пример из кода программы:
tmp_fname = tmp_fname.Substring(0, 25);
Пространство имён: System.Windows.Forms
Возвращаемое значение:
Тип: System.Windows.Forms.
Одно из значений DialogResults
Пространство имён: System
Параметры:
Тип: System.String
Строка числового формата.
Возвращаемое значение:
Тип: System.String
Строковое представление значения данного экземпляра, определяемое параметром
Пространство имён: System.IO
Возвращаемое значение: System.String
Следующая строка из входного потока иди значение Nothing, если достигнут конец входного потока.
Пространство имён: System.Data
4. Руководство пользователя
4.1 Системные требования
4.2 Инструкция пользователя
1. Для запуска программы дважды
кликните на файле File_info.
2. После этого откроется окно программы с одной действующей кнопкой “Открыть файл”. Это показано на Рисунке 11
Рисунок 11 – Окно приложения File_info
3. Нажмите на кнопку и выберете желаемый файл. Если вы будете вводить несуществующее имя – появится сообщение об ошибке, затем будет предложено попробовать ввести имя вновь.
4. Далее появятся несколько
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. Заключение
Список используемой литературы
http://msdn.microsoft.com/ru-
http://wincmd.ru/plugring/
http://msdn.microsoft.com/ru-
Приложение.
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.
update_fname_info(fileinf.
label2.Visible = true;
label2.Text = "Информация о файле:\n"
+ "Размер: "+fileinf.Length.ToString()+" байт.\n"
+ "Создан:
"+fileinf.CreationTime.
+ "\nИзменён: " + fileinf.LastWriteTime.
+ "\nОткрыт:
" + fileinf.LastAccessTime.
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.
{
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.
{
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.
update_fname_info(fileinf.
}
catch (Exception err)
{
MessageBox.Show(err.Message.
}
}
}
}
private void button3_Click(object sender, EventArgs e)
{
if (check_exists(fileinf.
{
if (folderBrowserDialog1.
{
fileinf.MoveTo(
MessageBox.Show("Файл перемещён
в " + folderBrowserDialog1.
}
}
}
private void button4_Click(object sender, EventArgs e)
{
if (check_exists(fileinf.
{
if (folderBrowserDialog1.
{
fileinf.CopyTo(
MessageBox.Show("Файл скопирован
в " + folderBrowserDialog1.
}
}
}
private void button5_Click(object sender, EventArgs e)
{
if (check_exists(fileinf.
{
// 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] == ' ') // Не является ли текущий символ пробелом?
{
slov++;
}
else
{
}