Ввод-вывод¶
Работа с файлами¶
Путь¶
- GetTempFileName(prefix, suffix: String) String¶
Метод возвращает уникальное имя файла во временном каталоге.
- Parameters:
prefix (
String) – Префикс имени файлаsuffix (
String) – Окончание имени файла с расширением
- Return type:
String
Attention
Для корректной работы метода в Application Server требуется установленный плагин Gs3-browser-cmd версии 0.19.4 и выше, поддерживающий команду gettempfilename
При наличии плагина, если версия плагина меньше требуемой, будет выброшено исключение
При отсутствии плагина метод вернет только уникальное имя файла (без пути) с указанными префиксом и суффиксом
Changed in version AS: 1.25.0_rc13 Добавилась реализация получения временного файла в системе клиента, с помощью плагина Gs3-browser-cmd
See also
- GetTempDirectory() String¶
Метод возвращает путь к временному каталогу. Путь формируется плагином Gs3-browser-cmd из пути до временного каталога операционной системы и вложенных подпапок “GlobalSystem” и “gs3-browser-cmd”. Если указанные подпапки отсутствуют, они будут созданы автоматически.
- Return type:
String
Attention
Для корректной работы метода в Application Server требуется установленный плагин Gs3-browser-cmd версии 0.19.4 и выше, поддерживающий команду gettempdirectory
При наличии плагина, если версия плагина меньше требуемой, будет выброшено исключение
При отсутствии плагина метод вернет пустую строку
Changed in version AS: 1.25.0_rc27 Добавилась реализация получения пути в системе клиента, с помощью плагина Gs3-browser-cmd
See also
- 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(Path: String)¶
Создаёт каталог по указанному пути, включая все промежуточные каталоги, которые могут отсутствовать.
- Parameters:
Path (
String) – Полный путь к каталогу.
Warning
Может вызвать исключение ApplicationException в случаях: если указан пустой путь, путь содержит недопустимые символы, превышена длина пути (Windows) или нет прав для доступа.
Attention
Для корректной работы метода в Application Server требуется установленный плагин Gs3-browser-cmd версии 0.19.6 и выше, поддерживающий команду mkdir
При наличии плагина, если версия плагина меньше требуемой, будет брошено исключение
При отсутствии плагина будет брошено исключение.
Changed in version AS: 1.25.2 Добавилась реализация с помощью плагина Gs3-browser-cmd
- 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
Attention
Для корректной работы метода в Application Server требуется установленный плагин Gs3-browser-cmd версии 0.19.5 и выше, поддерживающий команду deletefile
При наличии плагина, если версия плагина меньше требуемой, будет выброшено исключение
При отсутствии плагина метод бросит исключение
Changed in version AS: 1.25.0_rc42 Добавилась реализация удаления файла в файловой системе клиента с помощью плагина Gs3-browser-cmd
- RenameFile(OldName, NewName: String) Variant¶
Переименовывает файл. Возвращает True, если результат операции успешен.
- Parameters:
OldName (
String) – Полное старое имя файла.NewName (
String) – Полное новое имя файла.
- Return type:
Variant
Warning
Не реализовано
Информация и каталогах¶
- DirectoryExists(Path: String) Boolean¶
Проверяет существование каталога с именем Path.
- Parameters:
Path (
String) – Полный путь до каталога.- Return type:
Boolean
Attention
Для корректной работы метода в Application Server требуется установленный плагин Gs3-browser-cmd версии 0.19.5 и выше, поддерживающий команду getfileinfo
При наличии плагина, если версия плагина меньше требуемой, будет брошено исключение
При отсутствии плагина будет брошено исключение
Changed in version AS: 1.25.2 Добавилась реализация с помощью плагина Gs3-browser-cmd
- FileExists(FileName: String) Boolean¶
Проверяет существование файла с именем FileName.
- Parameters:
FileName (
String) – Полное имя файла (с именем диска и каталога).- Return type:
Boolean
Attention
Для корректной работы метода в Application Server требуется установленный плагин Gs3-browser-cmd версии 0.19.5 и выше, поддерживающий команду getfileinfo [field=’isfile’]
При наличии плагина, если версия плагина меньше требуемой, будет выброшено исключение
При отсутствии плагина метод вернет false
Changed in version AS: 1.25.0_rc43 Добавилась реализация с помощью плагина Gs3-browser-cmd
- 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
Для корректной работы метода в Application Server требуется установленный плагин Gs3-browser-cmd версии 0.19.4 и выше, поддерживающий команду getdirfilelist
При наличии плагина, если версия плагина меньше требуемой, будет брошено исключение
При отсутствии плагина функция бросит исключение
Changed in version AS: 1.25.0_rc18 Реализовано с помощью плагина Gs3-browser-cmd
Загрузка/Сохранение¶
- LoadFromFile(FileName: String) String¶
Загружает текст из файла в кодировке utf-8.
Функция возвращает содержимое файла или null если диалог выбора файла был отменен пользователем.
Для загрузки в других кодировках подойдет метод
LoadTextFromFile().- Parameters:
FileName (
String) – Имя файла.- Return type:
String
Attention
Для корректной работы метода в Application Server требуется установленный плагин Gs3-browser-cmd, поддерживающий команду uploadfile
При наличии плагина загрузка файла осуществляется непосредственно из файловой системы пользователя
При отсутствии плагина загрузка будет выполнена обозревателем, причем:
Если перед вызовом LoadFromFile вызывался
AskFileNameForOpen()илиAskFileNamesForOpen()и указано выбранное имя файла, то загружается ранее выбранный файл.В иных случаях откроется диалоговое окно для выбора файла. Если его отменить, то функция вернет null
BOM не распознается и не используется при загрузке
Пример использования¶<PASCAL> str := LoadFromFile('D:\utf8file_in.txt'); // Загружаем utf-8(unicode) файл ShowMessage(str); // Выводим загруженную строку </PASCAL>
Changed in version AS: 1.25.0_rc24 Добавлена загрузка файла из файловой системы клиента с помощью плагина Gs3-browser-cmd
- LoadTextFromFile(FileName: String; Encoding: Integer) String¶
Функция загружает и возвращает текст из файла с указанной кодировкой Encoding.
- 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
При использовании не поддерживаемых кодировок будет выброшено исключение.
- Return type:
String
Attention
Для корректной работы метода в Application Server требуется установленный плагин Gs3-browser-cmd, поддерживающий команду uploadfile
При наличии плагина загрузка файла осуществляется непосредственно из файловой системы пользователя
При отсутствии плагина загрузка будет выполнена обозревателем, причем:
Если перед вызовом
LoadTextFromFile()вызывалсяAskFileNameForOpen()илиAskFileNamesForOpen()и указано выбранное имя файла, то загружается ранее выбранный файл.В иных случаях откроется диалоговое окно для выбора файла. Если его отменить, то функция вернет null
BOM не распознается и не используется при загрузке
Пример использования¶<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>
Changed in version AS: 1.25.0_rc18 Добавлена загрузка файла из файловой системы клиента с помощью плагина Gs3-browser-cmd
- LoadFromFileToBlob(FileName: String) Variant¶
Метод загружает данные из файла в бинарный массив (blob).
- Parameters:
FileName (
String) – Имя файла.- Return type:
Variant
Attention
Для корректной работы метода в Application Server требуется установленный плагин Gs3-browser-cmd, поддерживающий команду uploadfile
При наличии плагина файлы загружаются из файловой системы пользователя по указанному полному пути.
При отсутствии плагина загрузка будет выполнена обозревателем, причем:
Если перед вызовом LoadFromFileToBlob вызывался
AskFileNameForOpen()илиAskFileNamesForOpen()и указано выбранное имя файла, то загружается ранее выбранный файл.В иных случаях откроется диалоговое окно для выбора файла. Если его отменить, то функция вернет null
Пример использования¶<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>
Changed in version AS: 1.25.0_rc24 Добавлена загрузка файла из файловой системы клиента с помощью плагина Gs3-browser-cmd
Если его отменить, то функция вернет null
- SaveToFile(FileName, FileText: String)¶
Сохраняет текст FileText в файл FileName. Если имя файла пустое - вызывается диалоговое окно выбора файла.
- Parameters:
FileName (
String) – Имя файла.FileText (
String) – Сохраняемый текст.
Attention
Для корректной работы метода в Application Server требуется установленный плагин Gs3-browser-cmd, поддерживающий команды downloadfile, askfilename
При наличии плагина сохранение файла осуществляется непосредственно в файловую систему пользователя
При отсутствии плагина произойдет сохранение файла с помощью обозревателя
Пример использования¶<sql> <sAfter> [out svRes] begin :svRes := AC_Loader.GetAfterScript; end; </sAfter> </sql> <pascal> v := ExecSqlEx('sAfter', 'svRes', [ftOraClob], ['']); SaveToFile('', v[0]); </pascal>
Changed in version AS: 1.25.0_ms6 Добавлена реализация с помощью плагина Gs3-browser-cmd
- SaveToFile()
Экспортирует содержимое выборки в файл формата .xls во временную директорию
Пример использования¶<pascal> SaveToFile(); </pascal>
- SaveBlobToFile(FileName: String; BlobData: Variant)¶
Сохранение бинарных данных в файл.
- Parameters:
FileName (
String) – Имя файлаBlobData (
Variant) – Бинарные данные.
Attention
Для корректной работы метода в Application Server требуется установленный плагин Gs3-browser-cmd, поддерживающий команду downloadfile
При наличии плагина сохранение файла осуществляется непосредственно в файловую систему пользователя
При отсутствии плагина произойдет сохранение файла с помощью обозревателя
Пример использования¶<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>
Changed in version AS: 1.25.0_ms6 Добавлена реализация с помощью плагина Gs3-browser-cmd
- SaveTextToFile(FileName: String; Encoding: Integer; TextData: String; Preamble: Boolean)¶
Метод сохраняет символьные данные TextData в файле в заданной кодировке Encoding. Параметр Preamble применяется для кодировки Unicode и определяет задавать префикс с типом Unicode кодировки или нет. Большинство приложений (Блокнот, NotePad++ и др.) считывают префикс и отображают текст в нужной кодировке. Рекомендуется всегда задавать префикс, передавая в параметре Preamble значение True.
- 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
При использовании не поддерживаемых кодировок будет выброшено исключение.
TextData (
String) – Массив символьных данных.Preamble (
Boolean) –Флаг определяет сохранять префикс BOM или нет.
Warning
префикс добавляется всегда и аргумент Preamble не влияет на добавление
Attention
Если в аргумент Encoding передано значение, отсутствующее в перечислении, будет выброшено исключение.
Для корректной работы метода в Application Server требуется установленный плагин Gs3-browser-cmd, поддерживающий команду downloadfile
При наличии плагина сохранение файла осуществляется непосредственно в файловую систему пользователя
При отсутствии плагина произойдет сохранение файла с помощью обозревателя
Пример использования¶<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>
Changed in version AS: 1.25.0_ms6 Добавлена реализация с помощью плагина Gs3-browser-cmd