Студенческий сайт КФУ - ex ТНУ » Учебный раздел » Учебные файлы »ПРОГРАММИРОВАНИЕ

Переглядач для файлів різних типів, з визначенням типу файлу по розширенню і, відповідно, способу перегляду (txt, hex, bin)

Тип: курсовая работа
Категория: ПРОГРАММИРОВАНИЕ
Скачать
Купить
Робота з файлами, використовування програм-переглядачів, що забезпечують прокрутку тексту у вікні перегляду. Перегляд файлів в текстовому та інших форматах (шістнадцятеричному та бінарному). Алгоритм програми, системні вимоги, інструкція для користувача.
Краткое сожержание материала:

Міністерство освіти та науки України

Кіровоградський Державний Технічний університет

Кафедра програмного забезпечення

Курсова робота

з дисципліни “Програмування на мові ASM-86”

на тему:

“Переглядач для файлів різних типів, з визначенням типу файлу по розширенню і, відповідно, способу перегляду (txt, hex, bin)”

Зміст

Вступ

1. Постановка задачі

2. Обґрунтування вибору методів розв'язку задачі

3. Алгоритм програми

4. Реалізація програми

5. Системні вимоги

6. Інструкція для користувача

Висновки

Використана література

Лістинг програми

Вступ

При роботі з файлами їх буває необхідно переглянути. Для цього необхідно використовувати програми-переглядачі, які забезпечують прокрутку тексту у вікні перегляду.

Іноді виникає потреба переглядати файли не лише в текстовому, а в інших форматах, зокрема в шістнадцятеричному та бінарному. Переглядач, який розроблено в роботі, дозволяє переглядати файли у вказаних трьох режимах.

1. Постановка задачі

Необхідно розробити програму-переглядач файлів у різному вигляді - війковому, шістнадцятеричному або текстовому, тип перегляду повинен визначатися за розширенням файлу.

2. Обґрунтування вибору методів розв'язку задачі

Для роботи з відео зручно використовувати прямий доступ до відеопам'яті, оскільки такий спосіб має високу ефективність. Для роботи з файлами - функції ДОС (21 переривання).

Для обробки клавіатури будемо використовувати функції прокрутки зображення. Ці функції для спрощення будуть різними для різних типів файлів, оскільки необхідно по-різному обчислювати зміщення при прокрутці і по-різному відображати інформацію.

Для програми використовується модель “small” пам'яті, цього достатньо для невеликих файлів.

3. Алгоритм програми

1. Введення імені файла.

2. Визначення типу файла за символами в розширенні.

3. Читання змісту файла в пам'ять.

4. Очікування натиснення клавіші.

5. Якщо натиснута клавіша “сторінка вгору”, то 24 рази викликати ф-цію прокрутки вгору на 24 рядки.

6. Якщо натиснута клавіша “сторінка вниз”, то 24 рази викликати ф-цію прокрутки вниз на 24 рядки.

7. Якщо натиснута клавіша “вниз”, то збільшити вказівник кадру на довжину верхнього рядка.

8. Якщо натиснута клавіша “вгору”, то зменшити вказівник кадру на довжину рядка, який знаходиться над верхнім рядком (поза кадром).

9. Відобразити новий кадр на екран.

10. Якщо натиснута клавіша ESC, то завершити програму.

11. Перейти на п. 4. і продовжити роботу.

4. Реалізація програми

Після початку роботи програма запитує користувача про ім'я файла, який треба переглянути і робить спробу відкрити його. Якщо нема помилки, то з імені визначається його тип і у змінні в програмі заноситься інформація про тип. Введення з клавіатури здійснюється з використанням функцій DOS.

При перегляді використовується запис текстової інформації у відеопам'ять.

Після відкриття і читання файла програма чекає на натиснення клавіші. Використовується переривання 16 - функція 0. Потім аналізується код клавіші. Якщо код = 1 (вихід), то програма завершує роботу. Обробляються також клавіші “вгору”, “вниз”, “сторінка вгору” і “сторінка вниз”. Програма містить 3 групи функцій для кожного типу перегляду, кожна з яких містить по 3 функції: відображення на екрані поточного кадру, прокрутка зображення вгору і вниз.

Програма містить вказівник, який показує відстань від початку тексту до початку поточного кадру. При прокрутці вниз він збільшується (якщо досягне довжини 32000 - стає 0), а при прокрутці вгору - зменшується (якщо 0, то стоїть на місці - прокрутки немає). При натисненні клавіш “сторінка вгору” і “сторінка вниз” прокрутка відбувається на 24 рядки у відповідному напрямку.

5. Системні вимоги

Програма буде працювати на комп'ютері з процесором 80386 і старшим, 640 К і більше пам'яті, монітором CGA і вище. Необхідний дисковий накопичувач.

6. Інструкція для користувача

Для того, щоб переглянути файл, необхідно запустити на виконання файл thbview.exe. На екран буде виведено запит на введення імені файлу, який існує на диску. Можна ввести також і шлях. Якщо не виникне помилки, то після вводу на екрані з'явиться зміст файла у вигляді рядків тексту (файл TXT), шістнадцятеричного коду (файл HEX) або війкового формату (зображення всіх службових символів - BIN). Для переміщення можна використовувати клавіші “вгору”, “вниз”, “PgUp”, “PgDn”. Для виходу натисніть клавішу ESC.

При досягненні нижньої границі тексту перегляд буде переведено на початок файла. А при досягненні верхньої границі прокрутка здійснюватись не буде.

Розмір файла повинен бути меншим за 32 кілобайти.

Висновки

Отже, завдяки виконанню роботи, створена програма - переглядач для невеликих текстових файлів з розширеннями TXT (текстовий файл), HEX (шістнадцятеричний формат) та BIN (бінарний). Проілюстровані можливості виведення на екран на асемблері, роботу з файлами та пам'яттю. Програма має вигляд EXE-файла і невибаглива до ресурсів машини.

Використана література

1. Том Сван. Освоение Turbo Assembler. М., Діалектика, 1996

2. Зубков Д.Д. Программирование на Assembler для DOS, WINDOWS и UNIX. М., ДМК, 2000

Лістинг програми

.model compact

.386

.stack 1000

.data

file db 32767 dup(0)

handle dw 0

errmsg db 'Помилка читання!$'

msg_enter db 'Введiть iм`я файла (.txt, .bin, .hex): $'

filename db 40 dup(0)

filelength dw 0

filetype db 2 ;2-txt,0-hex,1-bin

filepointer dw 0 ;вказiвник на початок кадра

.code

start:

jmp begin

;================================== T X T

;показ дампа для вигляду txt

showtxtdump proc

pusha

;очистка

mov ax,0b800h

mov es,ax

cld

mov cx,2000

xor di,di

mov ax,0700h

rep stosw

mov bx,word ptr fs:[filepointer]

add bx,offset file

mov bp,offset file

add bp,32767

xor si,si

xor di,di

txt_l: mov al,byte ptr fs:[bx]

inc bx

cmp al,10

je tskip

cmp al,13

jne tput

add si,80*2

shl di,1

sub si,di

xor di,di

jmp tskip

tput:

mov byte ptr es:[si],al

add si,2

inc di

tskip:

cmp bx,bp

jb txt_loop

mov bx,offset file

mov word ptr fs:[filepointer],0

txt_loop:

cmp si,4000

jb txt_l

cmp bx,bp

jb txt_sav

sub bx,bp

txt_sav:

popa

ret

showtxtdump endp

;=================================================

scroll_downtxt proc

pusha

;пiдраховуємо довжину 1 рядка

mov bx,word ptr fs:[filepointer]

add bx,offset file

xor dx,dx

no_len:

...

Другие файлы:

Програма для перегляду великих текстових файлів, розмір яких більший за 64 кілобайти
Використання програм-переглядачів для перегляду текстових файлів, які дозволяють користувачу роздивлятись будь-яку частину файлу у зручному для нього...

Програма запису і перегляду графічних BMP-файлів
BMP як формат зберігання растрових зображень, огляд структури файлу. Створення програми для запису та перегляду графічних BMP-файлів на мові програмув...

Безпека в мережевій операційній системі FreeBSD
Захист файлів від несанкціонованого доступу в ОС FreeBSD. Атрибути та права доступу до файлу. Загальні принципи захисту для всіх існуючих варіантів си...

Розробка програми, призначеної для перегляду текстових файлів різного розміру
Створення програми для перегляду потрібної інформації, яка може бути використана будь яким користувачем ЕОМ. Користування та розуміння переглядачів те...

Программа для перегляду текстових файлів різного розміру
Порядок проектування програми для перегляду текстових файлів різного розміру, сфера її практичного застосування та алгоритм написання. Опис і обґрунту...