Ввод-вывод¶
Работа с файлами¶
Путь¶
- GetTempFileName(prefix, suffix: String) String ¶
Метод возвращает уникальное имя файла во временном каталоге.
- Parameters:
prefix (
String
) – Префикс имени файлаsuffix (
String
) – Окончание имени файла с расширением
- Return type:
String
See also
- 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
Для корректной работы метода требуется установленный плагин Gs3-browser-cmd
Пример использования¶<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
Для корректной работы метода требуется установленный плагин Gs3-browser-cmd
Пример использования¶<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.
Сохранение в файловой системе пользователя происходит только при наличии установленного плагина. Если плагин отсутствует - произойдет сохранение файла через загрузчик бразуера.