
- •Робота з файлами
- •Теоретичні відомості
- •Работа с файлами с длинными именами в ms-dos
- •Описание функций для работы с файлами с длинными именами:
- •716Сh - открыть или создать файл
- •7141H – удаление файла с длинным именем.
- •714Eh - поиск первого соответствующего файла с длинным именем
- •714Fh – найти следующий файл
- •5706H – получить дату и время создания файла
- •5707H – установить дату и время создания или последней модификации файла
- •7143H – получить или установить атрибуты файла
- •7156H – переименовать файл
- •7160H – Получить полный путь файла
- •Вспомогательные функции при работе с файлами:
- •67H – изменить максимальное число идентификаторов файлов, доступных для одновременной работе в системе:
- •71A7h – Преобразование времени из Windows-формата в dos-формат и наоборот
- •Рекомендации по построению программы, использующей функции работы с файлами
- •1) Обработка ошибок – вывод сообщения о конкретной ошибке
- •Int 21h
- •Int 21h
- •Int 21h
- •Int 21h
- •2) Вывод информации о файле
- •3) Поиск файла с длинным именем
- •Int 21h
- •Додаток 0
- •Приложение 2 Примеры и алгоритмы программ, использующих функции работы с файлами
- •Int 21h
- •Int 21h
- •Int 21h
- •Int 21h
- •Int 21h
- •Int 21h
- •Int 21h
- •Int 21h
- •Int 21h
- •Int 21h
- •Int 21h
- •Int 21h
- •Int 21h
- •Int 21h
- •Xor ah,ah
- •Int 21h
- •Int 21h
3) Поиск файла с длинным именем
Вызов функции 714ehприводит к тому, что находится первый файл, соответствующий критериям поиска, если он есть. Если есть необходимость, продолжить поиск можно с помощью функции 714Fh. Если поиск считается удачным или его необходимо прекратить, то вызывается функция 71A1h– прекратить поиск.
…
mov cx,0; заполнение информации об атрибутах для поиска
mov dx, offset file_name; формирование указателя на строку-имя файла для поиска
mov di, info;формирование указателя на область для хранения данных о файле
mov ax, 714eh
xor si,si ; указание формата для вывода даты
int 21h;поиск первого файла
jc no_files_found;если файл не был найден, перейти на
;соответствующую следующую команду
mov handle, ax;в ах был возвращён дескриптор файла. Надо сохранить его
nextone: ….; обработка найденного файла; в АХ – дескриптор текущего файла
mov bx, handle;возвращаем дескриптор в BX
mov di, info;формирование указателя на область для хранения данных о файле
mov ax, 714Fh
xor si,si ; указание формата для вывода даты
int 21h;поиск следующего файла
jnc nextone
mov ax,71A1h
mov bx, handle
Int 21h
…
Варіанти:
Визначити кількість символів текстового файлу.
Посторінковий вивід тексту на екран.
У текстовому файлі замінити всі малі букви кирилиці і латиниці на прописні.
Ввід символьної інформації з клавіатури-стандартного файлу, в файл.
У текстовому файлі збільшити проміжки між словами на один пропуск.
Вивести вміст файлу на єкран – стандартний файл виводу.
Копіювання файла з диска на диск.
У текстовому файлі видалити кожне друге слово.
Переміщення файла з диска на диск.
Пошук в текстовому файлі заданої послідовності слів.
Написати програму, що виконує дії аналогічно команді DIR ДОС. Програма повинна вводити з клавіатури ім'я файла або маску (*.txt,? ?uot.dcu) і видавати на екран інформацію про файл ( розмір, дата, час, якщо була вказана маска – то повне ім'я)
Написати програму, що виконує дії аналогічно команді TYPE операційної системи MS-DOS.
Написати перекодувальник CP1251 (WIN) -> CP866 (DOS). Імена вхідного і вихідного файлів задаються константами в тексті програми. Необхідно початковий файл в кодуванні WIN перекодувати в кодування cp866 (DOS) і зберегти у вихідному файлі. Таблиця перекодування знаходиться в додатку 0.
Скинути в файл вміст екрана в форматі символ/атрибут. Для читання символа/атрибута використати INT 10h.
Визначити кількість символів текстового файлу.
Посторінковий вивід тексту на екран.
У текстовому файлі замінити всі малі букви кирилиці і латиниці на прописні.
Ввід символьної інформації з клавіатури-стандартного файлу, в файл.
У текстовому файлі збільшити проміжки між словами на один пропуск.
Вивести вміст файлу на єкран – стандартний файл виводу.
Копіювання файла з диска на диск.
У текстовому файлі видалити кожне друге слово.
Переміщення файла з диска на диск.
Пошук в текстовому файлі заданої послідовності слів.
Написати програму, що виконує дії аналогічно команді DIR ДОС. Програма повинна вводити з клавіатури ім'я файла або маску (*.txt,? ?uot.dcu) і видавати на екран інформацію про файл ( розмір, дата, час, якщо була вказана маска – то повне ім'я)
Написати програму, що виконує дії аналогічно команді TYPE операційної системи MS-DOS.
Написати перекодувальник CP1251 (WIN) -> CP866 (DOS). Імена вхідного і вихідного файлів задаються константами в тексті програми. Необхідно початковий файл в кодуванні WIN перекодувати в кодування cp866 (DOS) і зберегти у вихідному файлі. Таблиця перекодування знаходиться в додатку 0.
Скинути в файл вміст екрана в форматі символ/атрибут. Для читання символа/атрибута використати INT 10h.
Визначити кількість символів текстового файлу.
Посторінковий вивід тексту на екран.
У текстовому файлі замінити всі малі букви кирилиці і латиниці на прописні.
Ввід символьної інформації з клавіатури-стандартного файлу, в файл.
У текстовому файлі збільшити проміжки між словами на один пропуск.
Вивести вміст файлу на єкран – стандартний файл виводу.
Копіювання файла з диска на диск.
У текстовому файлі видалити кожне друге слово.
Переміщення файла з диска на диск.
Пошук в текстовому файлі заданої послідовності слів.
Написати програму, що виконує дії аналогічно команді DIR ДОС. Програма повинна вводити з клавіатури ім'я файла або маску (*.txt,? ?uot.dcu) і видавати на екран інформацію про файл ( розмір, дата, час, якщо була вказана маска – то повне ім'я)
Написати програму, що виконує дії аналогічно команді TYPE операційної системи MS-DOS.
Написати перекодувальник CP1251 (WIN) -> CP866 (DOS). Імена вхідного і вихідного файлів задаються константами в тексті програми. Необхідно початковий файл в кодуванні WIN перекодувати в кодування cp866 (DOS) і зберегти у вихідному файлі. Таблиця перекодування знаходиться в додатку 0.
Скинути в файл вміст екрана в форматі символ/атрибут. Для читання символа/атрибута використати INT 10h.
Визначити кількість символів текстового файлу.
Посторінковий вивід тексту на екран.
У текстовому файлі замінити всі малі букви кирилиці і латиниці на прописні.
Ввід символьної інформації з клавіатури-стандартного файлу, в файл.
У текстовому файлі збільшити проміжки між словами на один пропуск.
Вивести вміст файлу на єкран – стандартний файл виводу.
Копіювання файла з диска на диск.
У текстовому файлі видалити кожне друге слово.
Переміщення файла з диска на диск.
Пошук в текстовому файлі заданої послідовності слів.
Написати програму, що виконує дії аналогічно команді DIR ДОС. Програма повинна вводити з клавіатури ім'я файла або маску (*.txt,? ?uot.dcu) і видавати на екран інформацію про файл ( розмір, дата, час, якщо була вказана маска – то повне ім'я)
Написати програму, що виконує дії аналогічно команді TYPE операційної системи MS-DOS.
Написати перекодувальник CP1251 (WIN) -> CP866 (DOS). Імена вхідного і вихідного файлів задаються константами в тексті програми. Необхідно початковий файл в кодуванні WIN перекодувати в кодування cp866 (DOS) і зберегти у вихідному файлі. Таблиця перекодування знаходиться в додатку 0.
Скинути в файл вміст екрана в форматі символ/атрибут. Для читання символа/атрибута використати INT 10h.
Визначити кількість символів текстового файлу.
Посторінковий вивід тексту на екран.
У текстовому файлі замінити всі малі букви кирилиці і латиниці на прописні.
Ввід символьної інформації з клавіатури-стандартного файлу, в файл.