--- title: "✒️ Как записать строку в файл на Gambas" date: 2023-03-26T17:23:51+03:00 draft: false tags: [tutorial, basic, development] --- В этом руководстве на примерах покажу как записать данные в файл на [Gambas 3](https://gambas.sourceforge.net/en/main.html). ## Подготовка Начну с того, что я создам новый файл и открою его. ```basic Dim TextFile As File TextFile = Open Application.Path &/ "example.txt" For Write Append ``` Параметры `Write` и `Append` говорят компилятору, что файл отрывается в режиме записи и дополнения. _Из документации:_ ```text Stream = OPEN FileName [ FOR [ READ | INPUT ] [ WRITE | OUTPUT ] [ CREATE | APPEND ] [ WATCH ] ] ``` Подробнее про остальные параметры можно прочитать в документации [lang/open](https://gambaswiki.org/wiki/lang/open). ## Способ №1 — оператор `Print` Чтобы добавить данные в файл, можно воспользоваться оператором `Print`. Необходимо лишь указать, что я пишу в файл, добавив `#TextFile` в качестве первого аргумента. ```basic Print #TextFile, "Example Text" ``` Обрати внимание, что добавлять символ конца строки не нужно. Перенос строки добавиться автоматически, правда в формате `\r\n` (Windows), как подсказывает мне мой текстовый редактор. Даже если указать в параметр `EndOfLine` равным `gb.Unix`, который отвечает за символ конца строки ничего не поменяется. ```basic TextFile.ByteOrder = gb.LittleEndian TextFile.EndOfLine = gb.Unix ``` ## Способ №2 — Метод `Save` Второй способ заключается в использовании метода `Save` объекта `File`. ```basic File.Save(Application.Path &/ "example.txt", "Example Text" & "\n") ``` Но в таком случае, файл будет перезаписан, несмотря на параметр `Append`, который был указан при его открытии. ## Способ №3 — Оператор `Write` Третий способ, это использовать оператор `Write`. ```basic Write #TextFile, "Example Text" & "\n" as String ``` Но в файл будут добавлены специальные Unicode символы, убрать которые я не смог 🤷🏻‍♀️