Разработка программы сжатия и восстановления файлов с помощью фиксированного блочного кода постоянного смещения
Состав работы
|
|
|
|
Необходимые программы
Работа представляет собой zip архив с файлами (распаковать онлайн), которые открываются в программах:
- Microsoft Word
Описание
Используемые компоненты среды Delphi:
1. SaveDialog, OpenDialog. Копомненты необходимые для чтения и сохранения файлов, а так же получения названия файла и его пути до него.
2. Button - компонент кнопка.
3. ListBox - компонент, состоящий из строк, хранит кодовые слова.
4. ProgressBar - компонент, необходимый для отслеживания этапов выполнения программы.
5. Label - компонент для вывода строковых данных.
Краткое описание работы приложения:
1. При нажатии кнопки Button1 “Считать для сжатия” происходит получение имени считываемого файла и пути до него. Измеряется размер файла (функция FileSize). Полностью очищаются Label.
2. При нажатии кнопки Button2 “Проверить” происходит обнуление всех необходимых для работы переменных. Запускается процесс считывания (по-байтово) и анализа сжимаемого файла, в результате которого высчитывается средняя длинна кодового слова. Она необходима для определения возможности сжатия. В зависимости от полученного результата выводится сообщение о том, что файл можно сжимать, в противном случае, что нельзя. Так же формируется массив частот повторений символов в файле, необходимый для соотнесения кодовых слов и символов в файле.
3. При нажатии Button3 “Сжать” происходит побайтовое считывание сжимаемого файла с помощью команды BlockRead. Далее происходит соотнесение считанного байта кодовому слову. Алгоритм соотнесения основан на частоте появлений символов в файле. Чем чаще данный символ встречается в файле, тем меньшей длинны ему присваивается кодовое слово. Запись нового файла производится с помощью команды BlockWrite так же по-байтово. Новому файлу присваивается новое расширение. Когда файл полностью считан, выполняется проверка на наличие оставшихся битов. Если таковые имеются, то пустое пространство забивается нулями до тех пор, пока количество битов не будет равно 8.
4. При нажатии Button4 “Считать для восстановления” происходит получение имени сжатого файла, пути до него.
5. При нажатии Button5 “Восстановить" происходит побайтового считывание файла. Алгоритм разжатия состоит из двух этапов. На первом этапе происходит считывание файла блоками размером в 1 байт. Производится запись считанных байтов в специальную переменную. Когда длина переменной составляет 16 символов или более, начинается анализ считанной информации. Производится проверка на соответствие кодовым словам и последующая запись полученных значений в новый файл. На втором этапе производится проверка на остаток и удаление лишних данных (случай, когда было выполнено дополнение нулями при сжатии).
1. SaveDialog, OpenDialog. Копомненты необходимые для чтения и сохранения файлов, а так же получения названия файла и его пути до него.
2. Button - компонент кнопка.
3. ListBox - компонент, состоящий из строк, хранит кодовые слова.
4. ProgressBar - компонент, необходимый для отслеживания этапов выполнения программы.
5. Label - компонент для вывода строковых данных.
Краткое описание работы приложения:
1. При нажатии кнопки Button1 “Считать для сжатия” происходит получение имени считываемого файла и пути до него. Измеряется размер файла (функция FileSize). Полностью очищаются Label.
2. При нажатии кнопки Button2 “Проверить” происходит обнуление всех необходимых для работы переменных. Запускается процесс считывания (по-байтово) и анализа сжимаемого файла, в результате которого высчитывается средняя длинна кодового слова. Она необходима для определения возможности сжатия. В зависимости от полученного результата выводится сообщение о том, что файл можно сжимать, в противном случае, что нельзя. Так же формируется массив частот повторений символов в файле, необходимый для соотнесения кодовых слов и символов в файле.
3. При нажатии Button3 “Сжать” происходит побайтовое считывание сжимаемого файла с помощью команды BlockRead. Далее происходит соотнесение считанного байта кодовому слову. Алгоритм соотнесения основан на частоте появлений символов в файле. Чем чаще данный символ встречается в файле, тем меньшей длинны ему присваивается кодовое слово. Запись нового файла производится с помощью команды BlockWrite так же по-байтово. Новому файлу присваивается новое расширение. Когда файл полностью считан, выполняется проверка на наличие оставшихся битов. Если таковые имеются, то пустое пространство забивается нулями до тех пор, пока количество битов не будет равно 8.
4. При нажатии Button4 “Считать для восстановления” происходит получение имени сжатого файла, пути до него.
5. При нажатии Button5 “Восстановить" происходит побайтового считывание файла. Алгоритм разжатия состоит из двух этапов. На первом этапе происходит считывание файла блоками размером в 1 байт. Производится запись считанных байтов в специальную переменную. Когда длина переменной составляет 16 символов или более, начинается анализ считанной информации. Производится проверка на соответствие кодовым словам и последующая запись полученных значений в новый файл. На втором этапе производится проверка на остаток и удаление лишних данных (случай, когда было выполнено дополнение нулями при сжатии).
Другие работы
Гидравлика и нефтегазовая гидромеханика Хабаровск ТОГУ Задача 12 Вариант 9
Z24
: 26 ноября 2025
На нагнетательном патрубке вентилятора диаметром d1 (рис. 11), подающего воздух (ρ=1,2 кг/м³) с расходом Q, при избыточном давлении p1, установлен диффузор с диаметром выходного сечения d2. Определить давление на выходе из диффузора. Изменение плотности воздуха и потери в диффузоре не учитывать.
150 руб.
Английский язык
Анастасия160
: 19 января 2016
Тест.
Вариант 2
I.Поставьте слова в алфавитном порядке:
II.Разделите слова на две группы с долгим [ju:] и кратким [ᴧ]:
III.Образуйте множественное число существительных:
IV.Который час:
V.Заполните пропуски, используя don’t или doesn’t:
VI.Составьте из данных слов вопросительные предложения:
VII.Выберите нужную форму глагола:
VIII.Выберите вопросительное слово, которое следует использовать в вопросе к подчеркнутому
слову:
IX.Вставьте притяжательные местоимения из данных в скобках:
X.Вставьте wa
70 руб.
Центробежный секционный насос ЦНС 240-1900 с модернизированной защитой подшипников от попадания механических примесей-Дипломная работа-Оборудование для добычи и подготовки нефти и газа
lesha.nakonechnyy.92@mail.ru
: 25 июля 2016
Центробежный насос секционный ЦНС 240-1900 с модернизированной защитой подшипников от попадание воды.
Осуществлено устновить на подаче маслосистемы дополнительного фильтра , для защиты маслосистемы от механических примесей, а также засорения дроссельной шайбы, котоый приводит к повышению температуры подшипника, и к остановке насоса. В результате чего, из за недостаточного поступления масла в полость подшипника, приводит к износу подшипника скольжения , и шейку вала.
2770 руб.
Аудит и анализ финансового состояния предприятия
Elfa254
: 25 октября 2013
В настоящее время, с переходом экономики к рыночным отношениям, рефор-мированием бухгалтерского учета повышается самостоятельность предприятий, их экономическая и юридическая ответственность. Появление большого количества изменений в правилах бухгалтерского учета требует значительных усилий по их применению на практике со стороны, в частности:
1. руководителей организаций - понимания экономической природы и рас-чета (как ответственных в соответствии с федеральным законом "О бухгал-терском учете"
10 руб.