Ввод-вывод#

Работа с файлами#

Загрузка/Сохранение#

SaveToFile(FileName, FileText: String)#

Сохраняет текст FileText в файл FileName. Если имя файла пустое - вызывается диалоговое окно выбора файла.

Parameters
  • FileName (String) – Имя файла.

  • FileText (String) – Сохраняемый текст.

Пример использования#
    <sql>
      <sAfter>
        [out svRes]
        begin
          :svRes := AC_Loader.GetAfterScript;
        end;
      </sAfter>
    </sql>

<pascal>
  v := ExecSqlEx('sAfter', 'svRes', [ftOraClob], ['']);
  SaveToFile('', v[0]);
</pascal>

Note

  • Ввиду технических ограничений, на текущий момент, открывается не системный диалог сохранения файла, а системный диалог выборка файла. Таким образом, если файл для сохранения отсутствует, его необходимо создать вручную заранее, либо в окне выбора файла.

SaveToFile()

Экспортирует содержимое выборки в файл формата .xls во временную директорию

Пример использования#
<pascal>
  SaveToFile();
</pascal>
SaveBlobToFile(FileName: String; BlobData: Variant)#

Сохранение бинарных данных в файл.

Parameters
  • FileName (String) – Имя файла

  • BlobData (Variant) – Бинарные данные.

Пример использования#
<sql>
  <SaveBlob>
   begin
      BlobOpen_testAPI.SetblobData(:id, :FileInBlob);
   end;
  </SaveBlob>
</sql>

<PASCAL>
   blob := LoadFromFileToBlob('D:\1.mp3'); // загрузка из файла
   Selection.AddVar('FileInBlob',blob, ftOraBlob);
   SaveBlobtoFile('D:\2.mp3', GetVar('FileInBlob')); // сохрание в другой файл
   ExecSQL('SaveBlob'); // Сохрание на сервере
</PASCAL>
SaveTextToFileProc(FileName: String; Encoding: Integer; TextData: String; Preamble: Boolean)#

Метод сохраняет символьные данные TextData в файле в заданной кодировке Encoding. Параметр Preamble применяется для кодировки Unicode и определяет задавать префикс с типом Unicode кодировки или нет. Большинство приложений (Блокнот, NotePad++ и др.) считывают префикс и отображают текст в нужной кодировке. Рекомендуется всегда задавать префикс, передавая в параметре Preamble значение True.

Parameters
  • FileName (String) – Имя файла.

  • Encoding (Integer) –

    Кодировка файла. Доступные значения:

    • 1200 - UTF-16 LE

    • 1201 - UTF-16 BE

    • 65000 - UTF-7

    Warning

    Кодировка UTF-7 не поддерживается в AS. При использовани данного значения будет использована кодировка UTF-8

    • 65001 - UTF-8

  • TextData (String) – Массив символьных данных.

  • Preamble (Boolean) – Флаг определяет задавать префикс или нет.

Пример использования#
<PASCAL>
  str := LoadTextFromFileProc('D:\utf8file_in.txt', 65001); // Загружаем utf-8 (unicode) файл и преобразуем в AnsiString
  ShowMessage(str); // Выводим Ansi строку в сообщение
  SaveTextToFileProc('D:\utf8file_out.txt', 1200, str, true); // Сохраняем строку в кодировке Utf-16(unicode)
</PASCAL>

Warning

  • BOM префикс добавляется всегда и аргумент Preamble не влияет на добавление

Note

  • Если в агрумент Encoding передано значение, отсутствующее в перечислении, будет использована кодировка UTF-8.