Программа архивация
Понятие цели и задачи разработки. Аппаратные и технические средства, характеристика информации о среде разработки "Delphi". Описание библиотеки Zlib и применение программы. Особенности архивации файлов и распаковки архива. Исходный код программы.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 26.05.2015 |
Размер файла | 2,0 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Департамент науки и образования Тюменской области
Государственное автономное образовательное учреждение
Среднего профессионального образования Тюменской области
«Западно-Сибирский государственный колледж»
(ГАОУ СПО ТО «ЗСГК»)
Курсовая работа
Тема работы: «Программа Архивация»
Содержание
Введение
1. Цель разработки
2. Задача разработки
3. Аппаратные и технические средства, использованные при разработке
4. Информация о среде разработки “Delphi”
5. Описание библиотеки Zlib
6. Применение программы
6.1 Архивация файлов
6.2 Распаковка архива
7. Исходный код программы
Заключение
Список использованной литературы
Введение
Основной причиной, по которой я выбрал тему курсового проекта «Разработка Архиватора» является то, что сжатие информации позволяет добиться уменьшения размера исходной информации для последующего ее использования. delphi архивация программа код
Существует много всяких причин выделять ресурсы ЭВМ в расчете на сжатое представление, т.к. более быстрая передача данных и сокращение пространства для их хранения позволяют сберечь значительные средства и за частую улучшить показатели ЭВМ.
Сжатие, вероятно, будет оставаться в сфере внимания из-за возрастающих объемов, хранимых и передаваемых данных в ЭВМ, кроме того, можно использовать для преодоления некоторых физических ограничений, таких как, например, сравнительно низкая скорость Интернета.
Свою историю архиваторы берут ещё с тех времён, когда жёсткие диски были маленькие, и каждый (кб) был навес золота.
Архиватором удобно пользоваться ещё и потому, что он может из папки с множеством файлов и папок сделать один единственный файл.
1. Цель разработки
Цель данного курсового проекта разработка программы «Архиватор» с помощью среды разработки Delphi.
2. Задачи разработки
· Информация о среде разработки «Delphi»
· Поиск различной информации по теме «Архивация».
· Написание программы - архиватора.
3. Аппаратные и технические средства, использованные при разработке
При разработке использовались:
· Операционная система Windows 8.1
· Borland Delphi 7
Для нормальной работы программы требуется:
· ОЗУ не менее 256 МБ
· Не менее 2 Мб. на жестком диске
· Операционная система MS-DOS или Windows (любой версии)
Программа написаны с использованием стандартной библиотеки сжатия данных ZLib.
4. Информация о среде разработки “Delphi”
Delphi - императивный, структурированный, объектно-ориентированный язык программирования со строгой статической типизацией переменных. Основная область использования -- написание прикладного программного обеспечения.
Первоначально носил название Object Pascal и исторически восходит к одноименному диалекту языка.
Изначально среда разработки Delphi была предназначена исключительно для разработки приложений Windows, затем был реализован вариант для платформ Linux.
На сегодняшний день, наряду с поддержкой разработки 32 и 64-разрядных программ для Windows, реализована возможность создавать приложения для Apple Mac OS X, iOS, а также, в Delphi XE5, для Google Android.
Также предпринимались попытки использования языка в проектах GNU (например, Notepad GNU) и написания компилятора для GCC.
Object Pascal (Delphi) -- результат развития языка Турбо Паскаль, который, в свою очередь, развился из языка Паскаль. Паскаль был полностью процедурным языком, Турбо Паскаль, начиная с версии 5.5, добавил в Паскаль объектно-ориентированные свойства, а в Object Pascal -- динамическую идентификацию типа данных с возможностью доступа к метаданным классов (то есть к описанию классов и их членов) в компилируемом коде, также называемую интроспекцией -- данная технология получила обозначение RTTI. Так как все классы наследуют функции базового класса TObject, то любой указатель на объект можно преобразовать к нему, после чего воспользоваться методом ClassType и функцией TypeInfo, которые и обеспечат интроспекцию.
Delphi является результатом функционального расширения Turbo Pascal.
Delphi for .NET -- среда разработки Delphi, а также язык Delphi (Object Pascal), ориентированные на разработку приложений для .NET.
Первая версия полноценной среды разработки Delphi для .NET -- Delphi 8. Она позволяла писать приложения только для .NET. Delphi 2006 поддерживает технологию MDA с помощью ECO (Enterprise Core Objects) версии 3.0.
Структура программы
Каждая написанная программа на языке Delphi состоит из заголовка программы, поля используемых модулей Uses, который может не входить в саму структуру, а также блоков описания и исполнения.
program Project1; // Заголовок программы, с её именем «Project1»
uses
Forms,
Unit1 in 'Unit1.pas' {Form1};// модули, которые подключены к проекту и используются программой
{$R *.res}
begin
Application.Initialize; // Инициализация приложения
Application.CreateForm(TForm1, Form1); // Создание формы/окна
Application.Run;// Запуск и исполнение
end.
Пример
Вывод сообщения «Hello, world!» в консольном приложении Delphi
program Helloworld; //название программы
{$APPTYPE CONSOLE}//директива компилятору о создании консольного приложения
begin
writeln('Hello, world!'); //вывод сообщения Hello, world!
readln; //ожидание нажатия клавиши пользователем
end.
Расширения файлов
· .pas -- исходный код модуля (pascal)
· .dpr -- исходный код проекта (pascal)
· .dproj -- исходный код проекта (xml)
· .dproj.local -- исходный код проекта (xml)
· .dfm -- исходный код формы
· .dpk -- скомпилированный пакет
· .dcu -- скомпилированный модуль
· .exe -- скомпилированное приложение
· .res -- ресурсы
· .dsk -- привязки к файлам
· .identcache -- кэшированные привязки к файлам
5. Описание библиотеки ZLib
ZLib -- свободная кроссплатформенная библиотека для сжатия данных, Является обобщением алгоритма сжатия данных DEFLATE, используемого в их компрессоре данных gzip. Первая публичная версия 0.9, выпущена 1 мая 1995 года для использования вместе с библиотекой libpng. Распространяется под лицензией zlib.
ZLib является стандартной библиотекой Delphi начиная с 7 версии.
ПО, использующее zlib
zlib широко применяется, к примеру, zlib и DEFLATE часто заменяют друг друга в текстах стандартов. Сотни приложений для Юникс-подобных ОС (например, Linux) используют zlib. Также она используется и на других платформах, например на Windows и Palm OS. Несколько значимых применений:
· Ядро Linux -- реализация сетевых протоколов со сжатием, прозрачное сжатие, интегрированное в файловые системы, сжатие загрузочного образа ядра для хранения на дисках (с распаковкой во время загрузки).
· libpng, реализация формата изображений PNG, использует DEFLATE для потокового сжатия данных.
· HTTP-сервер Apache использует zlib для реализации сжатия для протокола HTTP/1.1.
· Клиент и сервер OpenSSH, для опционального сжатия, поддерживаемого протоколом SSH.
· Библиотека GnuTLS также может использовать zlib для сжатия соединений Transport Layer Security.
· Пакет программ 1С:Предприятие версий 7.7 и 8 использует zlib для сжатия файлов своей базы данных (при файловом режиме организации данных) и данных в таблицах SQL (при серверной организации данных).
· Игра World of WarCraft использует zlib для сжатия больших объёмов трафика идущего от сервера к клиенту.
zlib используется и во встраиваемых устройствах.
Тип: библиотека для сжатия данных
Разработчик: Jean-loup Gailly, Mark Adler
Написана на: C
ОС: кроссплатформенное ПО
Версия: 1.2.3 -- 18 июля 2005
Лицензия: лицензия zlib
Сайт: http://zlib.net
6. Применение программы
Программа имеет интуитивно-понятный интерфейс.
После запуска программы пользователь видит основное окно программы.
Программа, осуществляет сжатие и/или упаковку одного и более файлов в архив или серию архивов для удобства переноса или хранения, а также распаковку архивов.
Простейшие архиваторы просто последовательно объединяют (упаковывают) содержимое файлов в архив. Архив должен также содержать информацию об именах и длине оригинальных файлов для их восстановления, поэтому большинство архиваторов также сохраняют метаданные файлов, предоставляемые операционной системой, такие, как время создания и права доступа. Многие архиваторы используют сжатие без потерь для уменьшения размера архива.
Сжатие данных
Программа, создавая архив, обрабатывает как текстовые файлы, так и бинарные файлы. Первые всегда сжимаются в несколько раз (в зависимости от архиватора), тогда как сжатие бинарных файлов зависит от их характера. Одни бинарные файлы могут быть сжаты в десятки раз, сжатие же других может и вовсе не уменьшить занимаемый ими объём.
Нахождение для любого входного файла программы наименьшего возможного размера, печатающей этот файл, является алгоритмически неразрешимой задачей, поэтому «идеальный» архиватор невозможен.
Сжатие данных обычно происходит значительно медленнее, чем обратная операция.
6.1 Архивация файлов
1. Кликаем на пустое меню
2. Кликаем на файл
3. Нажимаем на кнопку «Архивировать»
4. Наш заархивированный файл готов.
6.2 Распаковка архива
1. Кликаем на пустое меню
2. Кликаем на наш заархивированный файл в формате «SSA»
3. Нажимаем на «Распаковка»
7. Исходный код программы
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls, Buttons, ComCtrls, zLib;
type
TForm1 = class(TForm)
GroupBox1: TGroupBox;
PackS: TLabeledEdit;
Label1: TLabel;
PackD: TLabeledEdit;
PackDeg: TListBox;
GroupBox2: TGroupBox;
UnpackS: TLabeledEdit;
PackBtn: TBitBtn;
UnpackBtn: TBitBtn;
CheckBox1: TCheckBox;
StatusBar1: TStatusBar;
SaveDialog1: TSaveDialog;
procedure FormCreate(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
function SaveToZUP(filein,fileout:string;compression:TCompressionLevel):boolean;
function LoadFromZUP(filein:string):boolean;
procedure PackSClick(Sender: TObject);
procedure UnpackSClick(Sender: TObject);
procedure PackBtnClick(Sender: TObject);
procedure UnpackBtnClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
Const cBufferSize = 65536;
var
Form1: TForm1;
temp:THandle=0;
PackThread,UnpackThread:THandle;
implementation
{$R *.dfm}
function TForm1.SaveToZUP(filein,fileout:string;compression:TCompressionLevel):boolean;
var
ms:TMemoryStream;
OutFile:TStream;
ZStream: TCustomZLibStream;
filename:string[255];
begin
try
ms:=TMemoryStream.Create;
ms.LoadFromFile(filein);
OutFile:=TFileStream.Create(Fileout,fmCreate);
filename:=ExtractFileName(filein);
OutFile.Write(filename,sizeof(filename));
Try
ZStream:=TCompressionStream.Create(compression,OutFile);
Try
ZStream.CopyFrom(ms,0);
finally
ZStream.Free;
end;
finally
ms.free;
OutFile.Free;
result:=true;
end;
except result:=false;
end;
end;
function TForm1.LoadFromZUP(filein:string):boolean;
var
S,fileout: string[255];
Count: Integer;
InFile:TStream;OutFile:TMemoryStream;
ZStream: TCustomZLibStream;
Buffer: array[0..cBufferSize-1] of Byte;
begin
try
InFile:= TFileStream.Create(filein, fmOpenRead);
InFile.Read(S,sizeof(S));
try
OutFile:= TMemoryStream.Create;
try
ZStream:=TDecompressionStream.Create(InFile);
try
while True do
begin
Count:=ZStream.Read(Buffer,cBufferSize);
if Count <> 0 then OutFile.WriteBuffer(Buffer, Count)
else Break;
end;
finally ZStream.Free;
end;
finally
end;
finally
InFile.Free;
Try
fileout:=ExtractFilePath(filein)+S;
OutFile.SaveToFile(fileout);
finally
OutFile.Free;
end;
end;
except result:=false;
end;
result:=true;
end;
procedure Compress(lpvoid:pointer);
const compression:array[0..2] of TCompressionLevel=(clFastest,clDefault,clMax);
begin
try
form1.GroupBox1.Enabled:=false;
form1.GroupBox2.Enabled:=false;
form1.StatusBar1.SimpleText:='Архивирую…';
if form1.CheckBox1.Checked then SetThreadPriority(PackThread,THREAD_PRIORITY_HIGHEST);
if form1.SaveToZUP(form1.PackS.Text,ChangeFileExt(form1.PackD.Text,'.SSA'),compression[form1.PackDeg.ItemIndex])then
form1.StatusBar1.SimpleText:='Архивация закончена.'
else form1.StatusBar1.SimpleText:='Ошибка. Может Вы неправильно задали параметры.';
form1.GroupBox1.Enabled:=true;
form1.GroupBox2.Enabled:=true;
TerminateThread(PackThread,0);
except form1.StatusBar1.SimpleText:='Ошибка. Может Вы неправильно задали параметры.';
end;
end;
procedure Decompress(lpvoid:pointer);
begin
try
form1.GroupBox1.Enabled:=false;
form1.GroupBox2.Enabled:=false;
form1.StatusBar1.SimpleText:='Извлекаю...';
if form1.CheckBox1.Checked then SetThreadPriority(UnpackThread,THREAD_PRIORITY_HIGHEST);
if form1.LoadFromZUP(form1.UnpackS.Text)then
form1.StatusBar1.SimpleText:='Извлечение закончено...'
else form1.StatusBar1.SimpleText:='Ошибка. Может Вы неправильно задали параметры.';
form1.GroupBox1.Enabled:=true;
form1.GroupBox2.Enabled:=true;
TerminateThread(UnpackThread,0);
except form1.StatusBar1.SimpleText:='Ошибка. Может Вы неправильно задали параметры.';
end;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
PackDeg.Selected[0]:=true;
end;
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
TerminateThread(PackThread,0);
TerminateThread(UnpackThread,0);
end;
procedure TForm1.PackSClick(Sender: TObject);
begin
form1.SaveDialog1.Filter:='';
if form1.savedialog1.execute then
begin
PackS.Text:=form1.savedialog1.FileName;
PackD.Text:=changefileext(form1.savedialog1.FileName,'.ssa');
end;
end;
procedure TForm1.UnpackSClick(Sender: TObject);
begin
form1.SaveDialog1.Filter:='Файлы архива|*.ssa|Любые файлы|*.*';
if form1.savedialog1.execute then UnpackS.Text:=form1.savedialog1.FileName;
end;
procedure TForm1.PackBtnClick(Sender: TObject);
begin
if fileexists(PackS.Text)and(PackD.Text<>'')then PackThread:=CreateThread(0,0,@Compress,0,0,temp)
else form1.StatusBar1.SimpleText:='Ошибка. Может Вы неправильно задали параметры.';
end;
procedure TForm1.UnpackBtnClick(Sender: TObject);
begin
if fileexists(UnpackS.Text){and(UnpackD.Text<>'')}then UnPackThread:=CreateThread(0,0,@DeCompress,0,0,temp)
else form1.StatusBar1.SimpleText:='Ошибка. Может Вы неправильно задали параметры.';
end;
end.
Заключение
В процессе написания курсовой работы было собрано большое количество по теме: информация о среде разработки «Delphi», информации по теме «Архивация», написана программа-архиватор. Также была описана библиотека Zlib и обширно показано применение программы на практике.
В итоге получили готовый программный продукт, соответствующий теме курсовой работы «Разработка архиватора».
Все цели и задачи, поставленные в работе были выполнены.
Список использованной литературы
1. ZLib - библиотека для сжатия общего назначения:
2. Руководство по библиотеке ZLib -Режим доступа: http://zlib.net.ru
3. Википедия: Свободная энциклопедия - Режим доступа: http://ru.wikipedia.org
4. Сжатие данных: Крупнейший каталог ресурсов по сжатия данных - Режим доступа: http://compression.ru
5. Библиотека алгоритмов - Режим доступа: http://algolist.manual.ru
Размещено на Allbest.ru
...Подобные документы
Понятие процесса архивации файлов. Программы, осуществляющие упаковку и распаковку файлов. Защита информации от несанкционированного доступа. Самораспаковывающиеся архивы. Основные характеристики программ-архиваторов. Распространенные алгоритмы сжатия.
презентация [801,6 K], добавлен 23.10.2013Общее понятие об архивации данных. Перечень наиболее популярных программ-архиваторов. Разархивирование самораспаковывающегося архива. Особенности копирующей, ежедневной и разностной архивации. Общее понятие о разархивировании (распаковке) файлов.
презентация [879,8 K], добавлен 23.12.2012Основные действия при работе с архивами. Архиваторы как программы, осуществляющие сжатие (упаковку файлов). Понятие избыточности информации. Архивация с помощью оболочки WinRAR. Кодирование информации наиболее естественным, но не экономичным способом.
презентация [416,5 K], добавлен 14.03.2015Характеристика работы архиватора - компьютерной программы, которая осуществляет сжатие данных в один файл архива для более легкой передачи, компактного их хранения. Особенности процесса архивирования - записи файлов и разархивирования - открытия файлов.
реферат [216,5 K], добавлен 26.03.2010Обзор средств программирования. Описание и свойства языка Delphi. Основания для разработки, ее назначение, предъявляемые требования, стадии разработки. Описание схемы основного модуля, процедур, программы. Используемые технические и программные средства.
курсовая работа [42,8 K], добавлен 25.02.2012Изучение понятия архивации, сжатия файлов с целью экономии памяти и размещения сжатых данных в одном архивном файле. Описания программ, выполняющих сжатие и восстановление сжатых файлов в первоначальном виде. Основные преимущества программ-упаковщиков.
контрольная работа [534,7 K], добавлен 11.01.2015Описание входной и выходной информации. Программно-технические средства, необходимые для разработки программы "Автоматизированная информационная справочная система аптеки". Возможность формирования и корректировки файлов, тестирование программы.
курсовая работа [761,7 K], добавлен 18.12.2013История интегрированной среды разработки, версии Delphi. Организация библиотеки компонентов. Страница Additional, ряд часто используемых компонентов общего назначения. Исполняемый файл программы "Архиватор текстовых файлов", интерфейс приложения.
курсовая работа [1019,0 K], добавлен 16.05.2017Особенности разработки приложений для операционной системы с помощью императивного, структурированного, объектно-ориентированного языка программирования Delphi. Формальное начало программы. Выделение конца программного блока. Листинг и описание программы.
курсовая работа [1,2 M], добавлен 04.08.2014Утилиты архивации для создания резервных копий файлов путем помещения их в архив в сжатом виде. Операции над архивами. Алгоритмы архивации. Универсальные алгоритмы уплотнения. Формат задания команд. Степень сжатия файлов. Основные виды архиваторов.
презентация [241,0 K], добавлен 13.08.2013Выбор состава технических и программных средств для создания данного приложения "Экзаменатор", использование среды разработки Borland Delphi. Основные компоненты и спецификация программы. Используемые технические средства, описание и запуск программы.
курсовая работа [540,8 K], добавлен 18.07.2012Ознакомление с основными средствами архивации данных, антивирусными программами, криптографическими и другими программными средствами защиты информации. Аппаратные ключи защиты, биометрические средства. Способы охороны информации при работе в сетях.
дипломная работа [2,4 M], добавлен 06.09.2014Delphi - среда быстрой разработки, в которой в качестве языка программирования используется типизированный объектно-ориентированный язык Delphi. Варианты программного пакета. Особенности работы, вид экрана после запуска. Описание структуры программы.
курсовая работа [1,3 M], добавлен 25.11.2014Особенности разработки программы и выбор методов решения задачи. Составление алгоритма, распределение регистров программы и формирование файлов. Описание процедуры очистки памяти, сложения, вычитания, умножения. Тестирование и листинг программы.
лабораторная работа [51,2 K], добавлен 14.05.2011Создание программы, реализующей игру "Линии". Среда разработки программы, описание ее общего вида. Основные алгоритмы программы. Реализация программы в среде разработки Microsoft Visual Studio 2008 на языке объектно-ориентированного программирования С++.
курсовая работа [639,0 K], добавлен 16.03.2012Формулирование и создание программы по вычислению определенного интеграла по формуле трапеций с тремя десятичными знаками и по формуле Симпсона. Выбор Delphi как программного средства разработки программы. Создание алгоритма и листинг программы.
курсовая работа [990,9 K], добавлен 15.06.2009Особенности разработки программы в среде Delphi 7, которая предлагает случайно вычислить одну из последовательностей "рыбы" в игре Домино. Особенности создания интерфейсов для рабочей программы. Формальная постановка задачи. Руководство пользователя.
курсовая работа [295,1 K], добавлен 19.10.2010Исследование основных видов программ-архиваторов. Сжатие файлов при архивации. Показатель степени сжатия файлов. Оценка функциональности самых популярных программ-упаковщиков. Технические характеристики процессов сжатия. Методы архивации без потерь.
реферат [1,6 M], добавлен 05.12.2013Описание документов, на основании которых ведется разработка. Назначение разработки и анализ функций проектируемого программного средства. Этапы разработки программы для поиска и открытия файлов. Руководство для пользователя на разработанную программу.
курсовая работа [3,3 M], добавлен 10.11.2010Delphi как среда разработки программ, ориентированных на работу в Windows. Назначение и преимущество использования электронных учебников. Описание возможностей среды Delphi 5 для разработки электронного учебника. Варианты применения служб Internet.
дипломная работа [3,6 M], добавлен 13.07.2011