Ввод-вывод

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

Путь

GetTempFileName(prefix, suffix: String) String

Метод возвращает уникальное имя файла во временном каталоге.

Parameters:
  • prefix (String) – Префикс имени файла

  • suffix (String) – Окончание имени файла с расширением

Return type:

String

GetTempDirectory() String

Метод возвращает путь к временному каталогу. Путь формируется плагином Gs3-browser-cmd из пути до временного каталога операционной системы и вложенных подпапок “GlobalSystem” и “gs3-browser-cmd”. Если указанные подпапки отсутствуют, они будут созданы автоматически.

Return type:

String

Attention

  • Для корректной работы метода требуется установленный плагин Gs3-browser-cmd версии 0.19.3.2 и выше

ExtractFileName(sFileName: String) String

Выделяет имя файла из полного имени файла

Parameters:

sFileName (String) – Полное имя файла.

Return type:

String

ExtractFileExt(sFileName: Variant) String

Выделяет расширение файла (с точкой в начале) из имени файла.

Parameters:

sFileName (Variant) – Имя файла.

Return type:

String

ExtractFileDir(sFileName: String) String

Выделяет каталог из полного имени файла

Parameters:

sFileName (String) – Полное имя файла.

Return type:

String

Модификация каталогов

MkDir(S: String)

Создает новую субдиректорию.

Parameters:

S (String) – Имя директории.

Warning

Не реализовано

RemoveDir(sPath: String) Variant

Удаляет пустой каталог. Возвращает True, если результат операции успешен.

Parameters:

sPath (String) – Имя каталога (полное).

Return type:

Variant

Warning

Не реализовано

RemoveDirEx(sPath: String; bFlag: Boolean) Boolean

Удаляет каталог. Возвращает True, если результат операции успешен.

Parameters:
  • sPath (String) – Имя каталога (полное).

  • bFlag (Boolean) – Режим удаления каталога, если True, каталог будет удален вместе с подкаталогами и файлами, если False, то действие аналогично RemoveDir.

Return type:

Boolean

Warning

Не реализовано

DeleteFile(FileName: String) Boolean

Удаляет файл с именем FileName. Возвращает True, если результат операции успешен

Parameters:

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

Return type:

Boolean

Warning

Не реализовано

RenameFile(OldName, NewName: String) Variant

Переименовывает файл. Возвращает True, если результат операции успешен.

Parameters:
  • OldName (String) – Полное старое имя файла.

  • NewName (String) – Полное новое имя файла.

Return type:

Variant

Warning

Не реализовано

Информация и каталогах

DirectoryExists(Path: String) Variant

Проверяет существование каталога с именем Path.

Parameters:

Path (String) – Каталог.

Return type:

Variant

Warning

Не реализовано

FileExists(FileName: String) Boolean

Проверяет существование файла с именем FileName.

Parameters:

FileName (String) – Полное имя файла (с именем диска и каталога).

Return type:

Boolean

Warning

Не реализовано

GetFileDateTime(FileName: String) TDateTime

Функция возвращает дату создания файла.

Parameters:

FileName (String) – Полное имя файла.

Return type:

TDateTime

Пример использования
<Pascal>
  FileName := 'TEST.doc';
  If FileExists(FileName) then
    ShowMessage(DateTimeToStr(GetFileDateTime(FileName)));
</Pascal>

Warning

Не реализовано

FileSize(sFileName: Variant) Integer

Возвращает размер файла в байтах.

Parameters:

sFileName (Variant) – Полное имя файла (с именем диска и каталога).

Return type:

Integer

Warning

Не реализовано

GetDirFileList(Path: String) Array

Функция возвращает массив файлов (полные имена) входящих в каталог Path.

Parameters:

Path (String) – Имя каталога (полное).

Return type:

Array

Attention

  • Для корректной работы метода требуется установленный плагин Gs3-browser-cmd версии 0.19.4 и выше

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

LoadFromFile(FileName: String) String

Загружает текст из файла в кодировке utf-8. Функция возвращает содержимое файла. Для загрузки в других кодировках подойдет метод LoadTextFromFile().

Parameters:

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

Return type:

String

Attention

Пример использования
<PASCAL>
  str := LoadFromFile('D:\utf8file_in.txt'); // Загружаем utf-8(unicode) файл
  ShowMessage(str); // Выводим загруженную строку
</PASCAL>
LoadTextFromFile(FileName: String; Encoding: Integer) String

Функция загружает и возвращает текст из файла с указанной кодировкой Encoding преобразуя в текст с текущей скриптовой кодировкой (ANSI).

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

  • Encoding (Integer) –

    Кодировка файла.

    • 437 - OEM United States

    • 855 - OEM Cyrillic (primarily Russian)

    • 866 - OEM Russian; Cyrillic (DOS)

    • 1200 - UTF-16 LE

    • 1201 - UTF-16 BE

    • 1251 - ANSI Cyrillic; Cyrillic (Windows)

    • 1252 - ANSI Latin 1; Western European (Windows)

    • 10007 - Cyrillic (Mac)

    • 12000 - UTF-32 LE

    • 12001 - UTF-32 BE

    • 20866 - Russian (KOI8-R); Cyrillic (KOI8-R)

    • 28591 - ISO 8859-1 Latin 1; Western European (ISO)

    • 28592 - ISO 8859-2 Central European; Central European (ISO)

    • 28595 - ISO 8859-5 Cyrillic

    • 65001 - UTF-8

    Warning

    При использовании не поддерживаемых кодировок будет использована кодировка UTF-8.

Return type:

String

Attention

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

Метод загружает данные из файла в бинарный массив (blob).

Parameters:

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

Return type:

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>

Note

  • Для загрузки файлов из файловой системы пользователя необходим установленный плагин Gs3-browser-cmd. Если плагин не установлен:

    • Если перед вызовом LoadFromFileToBlob вызывался AskFileNameForOpen или AskFileNamesForOpen и указано выбранное имя файла, то загружается ранее выбранный файл.

    • В иных случаях откроется диалоговое окно для выбора файла, а загрузка будет выполнена через UploadManager.

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>

Note

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

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

Warning

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

Note

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

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