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

Запись в файл

Запись в файл происходит с помощью оператора PRINT, но надо указать порядковый номар файла.

Пример: Программа, которая запрашивает слово и записывает его в файл.

OPEN "proov.txt" FOR OUTPUT AS #1

INPUT "Введи слово"; Tekst$

PRINT #1, Tekst$ 'записываем слово в файл

CLOSE #1 'закрываем файл

Вместо оператора PRINT можно использовать оператор WRITE. Оператор WRITE добавляет запятые между числами и кавычки для символов в файл.

Пример: Программа, которая записывает в файл andmed.txt данные 5 человек.

OPEN "andmed.txt" FOR OUTPUT AS #1

FOR I = 1 TO 5

INPUT "Введи имя:"; Nimi$

INPUT "Введи возраст:"; Vanus

INPUT "Введи пол:"; Sugu$

WRITE #1, Nimi$, Vanus, Sugu$

NEXT I

CLOSE #1

Если открыть файл в режиме OUTPUT и записать туда данные, файл перепишется заново. Для добавления данных надо использовать режим APPEND.

Чтение из файла

Читать из файла можно с помощью оператора INPUT. Надо указать также порядковый номер файла.

Пример: Программа считывает из файла proov.txt текст до запятой.

OPEN "proov.txt" FOR INPUT AS #1

INPUT #1, Tekst$

PRINT "В файле был текст: "; Tekst$

CLOSE #1

Для чтения следующего значения надо снова использовать оператор INPUT . Значения в файле отделены запятыми.

Пример: Для чтения из файла, невзирая на запятые, используется оператор LINE INPUT .

OPEN "andmed.txt" FOR INPUT AS #1

'читаем данные 5 человек

PRINT "Содержимое файла:"

FOR I = 1 TO 5

LINE INPUT #1, RIDA$

PRINT RIDA$

NEXT I

CLOSE #1

Добавление текста в файл

В этом случае файл открывают в режиме APPEND.

Пример: Программа добавляет в файл proov.txt ещё один ряд.

OPEN "proov.txt" FOR APPEND AS #1

PRINT #1, "Ещё один ряд!"

CLOSE #1

Уничтожение файла

Уничтожение файла происходит с помощью оператора KILL.

Например, хотим уничтожить файл proov.txt.

Это делается командой:

KILL "proov.txt"

21. Некоторые примеры

Пример1. Программа, которая записывает числа, делящиеся на 2 в файл 2.txt, делящиеся на 3 –в 3.txt, остальные в файл teised.txt.

OPEN "2.txt" FOR OUTPUT AS #1

OPEN "3.txt" FOR OUTPUT AS #2

OPEN "teised.txt" FOR OUTPUT AS #3

INPUT "Сколько чисел смотрим"; PIIR

FOR I = 1 TO PIIR

'если I делится на 2 , то записываем в файл#1

IF I / 2 = INT(I / 2) THEN PRINT #1, I;

IF I / 3 = INT(I / 3) THEN PRINT #2, I;

'иначе - в файл #3

IF I / 3 <> INT(I / 3) AND I / 2 <> INT(I / 2) THEN PRINT #3, I

NEXT I

CLOSE

Прмер 2. Программа, которая записывает имена и возраст людей из массива в файл andmed.txt

INPUT "Сколько данных вводим"; N

'объявляем массивы

DIM Nimed$(N) 'массив имён

DIM Vanused(N) 'массив возраста

'заносим имена в массив

FOR I = 1 TO N

PRINT "Введи"; I; ". имя";

INPUT Nimed$(I)

PRINT "Введи"; I; ". возраст";

INPUT Vanused(I)

NEXT I

'Заносим данные в файл andmed.txt

OPEN "andmed.txt" FOR OUTPUT AS #1

FOR I = 1 TO N

WRITE #1, Nimed$(I), Vanused(I)

NEXT I

CLOSE #1

Пример3. Программа, которая читает из файла andmed.txt имена и возраст и выдаёт их на экран.

CLS

OPEN "andmed.txt" FOR INPUT AS #1

'повторяем цикл до тех пор, пока не иссякнут данные (функция EOF).

DO

INPUT #1, NIMI$, VANUS

PRINT "Имя:"; NIMI$

PRINT "Возраст:"; VANUS

LOOP UNTIL EOF(1)

CLOSE #1