Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
KR_var_5.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
362.18 Кб
Скачать

3. Выбор формата представления данных

В таблице 1 приведены основные переменные, используемые в программе.

Таблица 1

Переменная

Тип

Размер, байт

Назначение

header

struc

128

Для хранения заголовка РСХ файла

handl

dw

2

Дескриптор открытого файла

xSIZE

dw

2

Максимальный размер по Х(320)

ySIZE

dw

2

Максимальный размер по Y(200)

f_Corp

db

1

Флаг обрезания изображения

readbyte

db

1

Буфер для считанного из файла байта

Так же в программе определены строковые переменные:

buffer db 20h dup (' ') ;

filepath db 20h dup(' ') ;путь к файлу

COPIRAIT db '(c)Kurguskin O.S. A-7-08 "PCX_View"',10,13,'$'

INSTRUCTION db 13,10,'Print filename in root dir as "kurs1.pcx" maximum 32 characters:$'

ER_OPEN db 13,10,'ERROR OPEN FILE!file not found',10,13,'$'

ER_READ db 13,10,'ERROR READ FILE',10,13,'$'

ER_HEAD_MF db 13,10,'ERROR HEADER PCX FILE! Manufacturer error! This file is not PCX! ',13,10,'$'

ER_HEAD_EC db 13,10,'ERROR HEADER PCX FILE! No ENCODING PCX',13,10,'$'

ER_HEAD_BPPX db 13,10,'ERROR HEADER PCX FILE! NO MONOCHROME PCX',13,10,'$'

ER_HEAD_NPL db 13,10,'ERROR HEADER PCX FILE! A lot of Layers',13,10,'$'

ER_HEAD_PI db 13,10,'ERROR HEADER PCX FILE! Error Palette Info',13,10,'$'

ER_CLOSE db 13,10,'ERROR CLOSE FILE!file not found in directory',13,10,'$'

NO_ERROR db 13,10,'Directory update successful! Aufwiedersehen!',13,10,'$'

4. Реализация подзадач.

4.1. Проектирование пользовательского интерфейса.

Входными данными для программы является название РСХ файла, который пользователь вводит в консоли.

При запуске программы, она выдает сообщение:

(c)Kurguskin O.S. A-7-08 "PCX_View"

Print filename in root dir as "kurs1.pcx" maximum 32 characters:

Если в программу передан путь к РСХ файлу, то программа проверяет заголовок файла, если в нем нет ошибок, отрисовывает изображение, потом ожидает нажатия любой клавиши, завершается, иначе выдает сообщение об ошибке.

Сообщения об ошибках приведены в Таблице 2.

Таблица 2

Ошибка

Значени

ER_OPEN

Ошибка открытия файла, его либо нет либо неверно указан путь

ER_READ

Ошибка чтения файла

ER_HEAD_MF

Ошибка опознователя PCX. Открыт файл не PCX

ER_HEAD_EC

В Файле нет кодирования длинными линиями

ER_HEAD_BPPX

Число бит на пиксел не равно 1

ER_HEAD_NPL

Число слоев больше чем 1

ER_HEAD_PI

Ошибка интерпретации палитры, значение не равно 1.

ER_CLOSE

Ошибка закрытия файла

4.2. Открытие файла.

Чтобы открыть файл используется функция DOS с номером 3Dh:

INT 21 – Открыть существующий файл

Вход: AH = 3Dh

AL = доступ, и share mode(0-только чтение)

DS:DX -> ASCIIZ имя файла

Выход: CF сброшен, если нет ошибок

AX = Дескриптор файла

CF установлен -> не удалось открыть файл

AX = код ошибки

В случае успеха дескриптор сохраняется в handl

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]