Руководство - Чтение и запись файлов
В этом примере будет записано 100 случайных записей, каждая из которых содержит байт (Bute), число с плавающей запятой (Float), целое 4-х байтное число (long) и строку (String). Затем он считывает все записи и отображает их в окне debug.EnableExplicit ; Определить константы: #MAXBYTE = 255 #MAXLONG = 2147483647 ; Определить некоторые переменные. Define.f Float Define.l Count, File Define.s Folder, FileName, String ; Создать временное имя файла. Folder = GetTemporaryDirectory() FileName = Folder + "test.data" ; Создать временный файл. ; Если используется #PB_Any, CreateFile возвращает Номер файла. ; Это полезно, если одновременно вы должны открыть несколько файлов. File = CreateFile(#PB_Any, FileName) If File ; Если файл создан успешно - запишем 100 случайных записей. For Count = 1 To 100 ; Запишем случайный байт (значение 0 - 255). WriteByte(File, Random(#MAXBYTE)) ; Создать и записать произвольное число с плавающей запятой (Float). ; Эти вычисления необходимы для того, чтобы число имело компонент с плавающей запятой. Float = Random(#MAXLONG) / ((Random(7) + 2) * 5000) WriteFloat(File, Float) ; Запись случайного 4-х байтного числа (long). WriteLong(File, Random(#MAXLONG)) ; Создание и запись произвольной строки в формате Unicode. ; Обратите внимание на использование WriteStringN для разграничения строки с маркером конца строки. String = "String " + StrU(Random(#MAXLONG)) WriteStringN(File, String, #PB_Unicode) Next Count ; Закрыть файл. CloseFile(File) Else ; Если создать файл не удалось. Debug "Не удалось создать файл: " + FileName EndIf ; В этот раз откройте файл для чтения. File = ReadFile(#PB_Any, FileName) If File ; Если открыть файл удалось - прочитать и отобразить записи из файла. ; Сбросить счетчик. Count = 1 ; Цикл до достижения "конца файла". ; Будут прочитаны все записи независимо от их количества. While Eof(File) = 0 ; Печать строки заголовка. Debug "------------------------------------------------------------------------------------------------" Debug "[" + StrU(Count) + "]" Count + 1 ; Прочитаем и распечатаем значения байта (Bute). Debug StrU(ReadByte(File), #PB_Byte) ; Прочитаем значения с плавающей запятой (Float). Debug StrF(ReadFloat(File)) ; Прочитаем 4-х байтные целые значения (Long). Debug StrU(ReadLong(File), #PB_Long) ; Прочитаем значения строки (String). Debug ReadString(File, #PB_Unicode) Wend ; Распечатайте завершающую линию. Debug "------------------------------------------------------------------------------------------------" ; Закрыть файл. CloseFile(File) ; Удалить файл. DeleteFile(FileName) Else ; Если открыть файл не удалось. Debug "Не удалось открыть файл: " + FileName EndIf
Навигация Руководства
< Директивы компилятора - Обзор - Доступ к памяти >