
- •Начало работы в среде разработчика FoxPro
- •Константы и переменные
- •Примеры
- •Примеры
- •Примеры
- •Комментарии
- •Процедуры и функции
- •Примеры:
- •Индексы массива
- •Примеры
- •Примеры
- •Примеры
- •2. Считывание информации из файла.
- •3. Перемещение по файлу
- •Примеры
- •Примеры
- •Примеры
- •Примеры
- •Примеры
- •Примеры
- •Задание
- •Примеры
- •Задание
- •Графические функции
- •Шрифтовые свойства
- •Метод line
- •Метод box
- •Метод Circle
- •Функции даты и времени
- •Use [файл | ?] [in рабочаяОбласть] [again] [alias Псевдоним] [exclusive | shared] [noupdate]
- •Добавление и изменение значений полей
- •Относительное перемещение:
- •Контрольные работы
Примеры
Содержание файла test.txt:
**начало файла
Это первая строка тестового файла
Это вторая строка
Далее все символы клавиатуры:
1234567890
йцукенгшщзхъ
фывапролджэ
ячсмитьбю.
ЙЦУКЕНГШЩЗХЪ
ФЫВАПРОЛДЖЭ
ЯЧСМИТЬБЮ.
qwertyuiop[]
asdfghjkl;'
zxcvbnm,./
QWERTYUIOP[]
ASDFGHJKL;'
Это последняя строка
**конец файла
1. Открытие и закрытие файла, номер канала файла
Функция fopen() в команде nf = fopen(s1,n1) открывает файл, она возвращает номер канала nf по которому, в дальнейшем, можно будет обращаться к файлу.
Строка s1 - имя файла может включать полный маршрут файла с указанием дисковода, если его локализация отличается от текущей, принятой по умолчанию. Если полный маршрут не указан, выполняется поиск файла в следующей последовательности:
1) в текущей директории;
2) по маршруту, заданному в FoxPro;
3) по маршруту, заданному в DOS.
Если файл не удалось открыть, функция возвращает -1.
Необязательный числовой параметр n1 указывает статус открываемого файла:
n1 = 0 - только чтение (принимается по умолчанию);
n1 = 1 - только запись;
n1 = 2 - чтение и запись.
Команда CLOSE ALL закрывает все файлы, открытые FOPEN().
Информация о Файлах, открытых посредством FOPEN(), может быть выведена на экран посредством команды DISPLAY STATUS. Эта команда выдает следующую информацию о файлах низкого уровня:
- диск, директорий и имя каждого открытого файла;
- ссылочный номер каждого файла;
- положение указателя для каждого файла;
- атрибуты чтения/записи.
В командном окне выполните команду открытия файла test.txt
nf=fopen("test.txt")
Проверьте значение номера канала:
? nf
Если номер канала -1, файл не открылся – возможно вы указали неверное имя файла либо файл находится в другой директории и система не может его найти в рабочей директории. Проверьте правильность написания имени файла или пути к нему либо (если имя указано верно) попробуйте указать полный путь к файлу или используйте команду SET PATH <директория>
Кстати, FoxPro по умолчанию устанавливает рабочей директорией ту директорию – из которой он был запущен. Если вы запустите FoxPro с сетевого диска, то директорией по умолчанию будет p:\studapp\foxpro25 и система не найдет ваш файл test.txt.
Если файл открылся, то при попытке его открыть повторно – командой File-> Open -> File имя этого файла будет заблокировано. Проверьте это.
2. Считывание информации из файла.
Для считывания информации из файла предназначена функция fread().
Примеры
Попытайтесь несколько раз считать информацию из открытого ранее файла с номером nf.
? fread(nf,1)
Результат: Э
? fread(nf,5)
Результат: то пе
? fread(nf,10)
Результат: рвая строк
? fread(nf,10)
Результат: а текстовог
? fread(nf,7)
Результат: о файла
Первая строка заканчивается специальными символами конца строки и перевода строки.
Примеры
Считаем их и выведем на экран их ASCII коды:
? asc(fread(nf,1))
Результат: 13
? asc(fread(nf,1))
Результат: 10
Далее идет вторая строка, считаем из нее 5 символов:
? asc(fread(nf,5))
Результат: Это в
Теперь закроем файл:
=fclose(nf)
3. Перемещение по файлу
Перемещаться по открытому файлу можно командой fseek(). Команда npos = fseek(n1, n2, n3) возвращает номер текущей позиции - npos после выполнения операции перемещения по файлу. Параметры функции имеют следующий смысл:
n1 - Ссылочный номер файла;
n2 - На сколько байт переместить указатель;
n3 - Тип перемещения указателя:
n3 = 0 - смещение относительно начала файла (по умолчанию)
n3 = 1 - смещение относительно текущей позиции указателя
n3 = 2 - смещение относительно конца файла