PureBasic
Руководство - Чтение и запись файлов
В этом примере будет записано 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
Навигация Руководства
< Директивы компилятора - Обзор - Доступ к памяти >