gambas: save to file
This commit is contained in:
parent
0ef9623e64
commit
1331bb299c
74
content/posts/2023/basic/gambas-save-to-file.md
Normal file
74
content/posts/2023/basic/gambas-save-to-file.md
Normal file
@ -0,0 +1,74 @@
|
|||||||
|
---
|
||||||
|
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 символы,
|
||||||
|
убрать которые я не смог 🤷🏻♀️
|
Loading…
Reference in New Issue
Block a user