Blog/content/posts/2023/basic/gambas-save-to-file.md

2.8 KiB
Raw Blame History

title date draft tags
✒️ Как записать строку в файл на Gambas 2023-03-26T17:23:51+03:00 false
tutorial
basic
development

В этом руководстве на примерах покажу как записать данные в файл на Gambas 3.

Подготовка

Начну с того, что я создам новый файл и открою его.

Dim TextFile As File
TextFile = Open Application.Path &/ "example.txt" For Write Append

Параметры Write и Append говорят компилятору, что файл отрывается в режиме записи и дополнения.

Из документации:

Stream = OPEN FileName [ FOR [ READ | INPUT ] [ WRITE | OUTPUT ] [ CREATE | APPEND ] [ WATCH ] ]

Подробнее про остальные параметры можно прочитать в документации lang/open.

Способ №1 — оператор Print

Чтобы добавить данные в файл, можно воспользоваться оператором Print.
Необходимо лишь указать, что я пишу в файл, добавив #TextFile в качестве первого аргумента.

Print #TextFile, "Example Text"

Обрати внимание, что добавлять символ конца строки не нужно.
Перенос строки добавиться автоматически, правда в формате \r\n (Windows), как подсказывает мне мой текстовый редактор.

Даже если указать в параметр EndOfLine равным gb.Unix, который отвечает за символ конца строки ничего не поменяется.

TextFile.ByteOrder = gb.LittleEndian
TextFile.EndOfLine = gb.Unix

Способ №2 — Метод Save

Второй способ заключается в использовании метода Save объекта File.

File.Save(Application.Path &/ "example.txt", "Example Text" & "\n")

Но в таком случае, файл будет перезаписан, несмотря на параметр Append, который был указан при его открытии.

Способ №3 — Оператор Write

Третий способ, это использовать оператор Write.

Write #TextFile, "Example Text" & "\n" as String

Но в файл будут добавлены специальные Unicode символы, убрать которые я не смог 🤷🏻‍♀️