Встроенная система FastScript - стандартные объекты и функции

Данный список содержит неполный перечень фукнций, доступных в fastscript. Список функций постоянно расширяется как средствами системы FastReport, так и засчет собственных разработок.

Объекты

TMyWait

Форма ожидания и прогресса, появляется обычно в правом верхнем углу окна, хотя положение ее может и измениться. Отображает ход длительных процедур и прогресс выполнения. На данный момент реализация такова, что все одновременно открытые объекты TMyWait отображаются в одном окне, по принципу LIFO, видим последний созданный, когда он удаляется то видим предпоследний созданный прогресс. Время от времени реализация меняется.

 

Функции:

CreateHint(Const Msg: String; Const Header: String = ''; Const Sec: Integer = -1; HintType: TMsgDlgType = mtCustom ) :variant
CreateHintC(Const Msg: String; Const Header: String = ''; Const Sec: Integer = -1) :variant
CreateHintE(Const Msg: String; Const Header: String = ''; Const Sec: Integer = -1) :variant
CreateHintI(Const Msg: String; Const Header: String = ''; Const Sec: Integer = -1) :variant
CreateHintW(Const Msg: String; Const Header: String = ''; Const Sec: Integer = -1) :variant

- Данный набор функций служит для вывода всплывающих окошек (справа сверху на экране) разного типа (CreateHint: общая с указанием типа, другие без указания, специально для каждого типа: обычный, ошибка, информация, предупреждение) с текстом MSG, с заголовком Header, и определенным количеством секунд (по умолч. 5 сек).

StringToList(const Str: string; List: TStrings; const Separators: string = ';')

- Разложить строку в несколько (из параметра Str в параметр List, используя как разделители переменную Separators, разделителей может быть несколько, предполагается наличие разделителя из одного символа.

bvMessage(Mess: string; CapString: string = '!')
bvMessageError(Mess: string)
bvMessageWarning(Mess: string; CapString: string = '!')

- Набор функций для вывода модальных сообщений с кнопкой Ok. Сообщения могут быть обычны, сообщения об ошибках, предупреждения.

GetConfirm(Text: string; VarIgnoreText: string = ''; VarOkText: string = ''; VarCancelText: string = ''): integer

- Выводит диалоговое окно с текстом запроса Text и кнопками Ignore (опционально, если указано, Ok и Cancel). Можно указать тексты для этих кнопок. Возвращает значения mrIgnore, mrOk, mrCancel.

GetFileList(const Directory: string; List: TStrings; const mask: string = '*'; ReturnFullPath :boolean = False; SubDirs :Boolean = False;ShowAccessTime :Boolean = false)

- получение списка файлов в каталоге Directory, для вывода используется List. Файлы могут фильтроваться маской mask (tmp_*.db). Можно указать полные пути к файлам в соответствии с переенной ReturnFullPath. Можно поднять список файлов во всех подкаталогах указанного каталога, можно в имя файла включить техническую информацию - время доступа к файлу, время создания файла (удобно для выявления новых и изменившихся файлов в каталоге).


GetUniqueFileName(Directory: string = '?'; FileName: string = ''): string

- Получить уникальное имя файла в каталоге Directory. Можно использовать шаблоны через FileName, в соответствии с которыми сгенерится это имя (tmp_*.db)

StringToFile(const FileName: string; const Contents: String)

- Сохранить текст из Contents в текстовом файле Filename

CreateOleObject(ClassName: String): Variant

- Создать OleObject класса ClassName.

RaiseException(Param: String)

- Сгенерировать объект исключение с текстом Param (аналог raise в Delphi)

ValidDate(cDate: String): Boolean

- Проверка строки на корректность ее с точки зрения перевода в дату

ValidFloat(cFlt: String): Boolean

- Провека корректности строки с точки зрения перевода в число с фикс. запятой

ValidInt(cInt: String): Boolean

- Проверка корректности строки с точки зрения перевода ее в целое

VarArrayCreate(Bounds: Array; Typ: Integer): Variant

- Создать объект VarArray

VarType(V: Variant): Integer

- Вернуть тип вариантной переменной

ExceptMessage :string

- Вернуть сообщение из текущего Exception

ExceptObject :Exception

- Вернуть текущий объект Exception (аналог except on e:exception do end)

Объекты-аналоги:


ExceptionClassName: String
ExceptionMessage: String

 

FibExecSQL(const SQL:string; Params :array of variant; DB:TpFibDatabase)

- Выполнить SQL с параметрами Params (если пусто, следует указать [NULL]) для базы DB)

FibExecSQLFRX(const SQL:string; Params :array of variant; DB:TFRXFIBDatabase)

- Аналог - FibExecSQL для компоненты-базы типа TFRXFibDatabse

FibExecSQLTr(const SQL:string; Params :array of variant; Tr:TpFibTransaction)

- Аналог FibExecSQL, но для идентификации базы используется Transaction

FIBQueryValue(const SQL :string; ParamValues :array of variant; const Transaction :TFibTransaction) :Variant

- Вернуть значение выполенния запроса (предполагается, что вернется одно значение)

FIBQueryValues(const SQL :string; ParamValues :array of variant; const Transaction :TFibTransaction) :Variant

- Вернуть набор значений выполнения - вариантный массив, может быть и двумерным

FIBReadQuery(Destination :TClientDataset; const SQL :string; ParamValues :array of variant; const Transaction :TFibTransaction) :Boolean

- Вернуть запрос в TClientDataset

FileExecute(const CommandLine :string; InitialState :TExecState): Integer

- Выполнить средствами операционной системы командную строку CommandLine

FileExecuteWait(const CommandLine :string; InitialState :TExecState): Integer

- Выполнить средствами операционной системы командную строку CommandLine, дождавшись ее окончания

MoneyText(Value: double; OkPunct: boolean = true; OkDigits: boolean = true; OkNullKop: boolean = false; OkCurrText: boolean = true; Pol: integer = 1; Separator: string = '') :string

- Вернуть сумму (значение - Value) в виде текста (двадцать пять рублей 40 копеек.)

ReadDataSet(DestinationCDS :TClientDataSet; SourceDataSet :TDataSet) :Boolean

- Скопировать SourceDataset в DestinationCDS - TClientDataset. Наивысшая скорость копирования

ReadDataSetToArray(SourceDataset :TDataSet;ColumnsFirst :Boolean=true; const Fields :string = '') :Variant

- Скопировать SourceDataset в массив. ColumnsFirst отражает, что быдет стоять первым индексом - колонки или строки. Fields - приведенный через точку с запятой список полей, интересующих в SourceDataset. Если не указано, то берется все. Возвращается указательно созданный массив.

ReadTXT(const DestinationCDS :TClientDataset;const SourceFileName: string;const Delimiter: string = #09; const FieldNames: boolean = True;const MissStrings: string = '';const Conversion: ConversionTypes = ctNone;const NullF: Boolean = false;const NullFNum: Integer = 1; const NoCSVAlgoritm: boolean = false): boolean

- Прочитать текстовый файл с в таблицу DestinationCDS (TClientDataset). В качестве параметров испоьзуются имя файла, символ разделителя (по умолчанию табуляция, FieldNames - необходимость указать первой строкой названия полей, MissStrings - необходимость пропускать строки с указанным текстом, Conversion - необходимость конвертировать текст в Ansi или в OEM, NullF - необходимость заполнять пустые поля пустыми значениями, иначе значения остаются NULL, NoCSVAlgoritm - необходимость отключить интерпретаци кавычек, принятую в формате CSV

ReadXLS(const DestinationCDS :TClientDataset;const SourceFileName: string): boolean

- Считать таблицу из файла XLS в набор данныз DestinationCDS типа TClientDataset. Работа ведется через OLE MS Excel

ReadXML(DestinationCDS :TClientDataset; SourceFileName: string): Boolean

- Считать таблицу из XML-файла, предполагается струкрута, понимаемая компонентами TClientDataset

SaveDatasetToTxt(FileName: string; Dataset: TDataSet; p0AsNull: Boolean = true; Delimiter :string=''; ShowDialog :Boolean = False)

- Сохранить таблицу Dataset в текстовом файле с указанными разделителями

SaveDatasetToString(Dataset: TDataSet; p0AsNull: Boolean = true; Delimiter :string=''; ShowDialog :Boolean = False) :string

- Сохранить таблицу Dataset в памяти, (функция возвращает значение как string)

TableAppend(ResultTable: Tdataset; Source: TDataSet; p0asNULL: boolean = False; Fields: string=''; UseProgress :Boolean =false)

- Добавить данные в ResultTable из Source

TableCopy(ResultName, Source: string; p0asNULL: boolean = False; IDFieldName: string = '';UseProgress :Boolean = true)

- Скопировать данные из таблицы c именем Source в ResultName

TableCopyD(ResultName: string; DataSet: TDataSet; p0asNULL: boolean = False; IDFieldName: string = '';UseProgress :Boolean = true)

- Скопировать данные из таблицы Dataset в таблицу с именем ResultName

URLDownloadToFileSimple( SourceFile: string; DestinationFile: String): integer

- скачать файл из URL

ZipAdd(const ZipName :string; SourceFileName :string; const BaseDirectory :string = '' )

- Добавить файл SourceFileName в архив ZipName (создать, если нет)

ZipAddDir(const Zipname :string; SourceDirname :string; const BaseDirectory :string = '')

- Добавить все файлы из каталога SourceDirName в архив ZipName

ZipAddDirS(ZipStream: TStream; Dirname :string; const BaseDirectory :string = '')

- Добавить файлы из каталога в Zip-поток

ZipAddFS(const ZipName :string; SourceStream: TStream; const FileName :string; const BaseDirectory :string = '')

- Добавить файл с именем FileName из потока SourceStream в Zip-архив ZipName

ZipAddSF(ZipStream: TStream; SourceFileName :string; const BaseDirectory :string = '')

- Добавить файл SourceFileName в Zip-поток

ZipAddSS(ZipStream: TStream; SourceStream: TStream; const FileName :string; InitSourceStream :Boolean= true)

- Добавить файл с именем FileName из потока SourceStream в Zip-поток ZipStream

ZipExtract(const ZipName :string; DirName :string; FileName :string = '') :boolean

-

ZipExtractAll(const Zipname :string; Dirname :string) :string

- Распаковать все данные из файла ZipName в каталог DirName

ZipExtractAllL(AZipStream: TStream; Dirname :string) :string

- Распаковать все данные из потока AZipStream в каталог DirName

ZipExtractAllSL(AZipStream: TStream; AOutStreamList: TObjectList) :string

- Распаковать все данные из потока AZipStream в список потоков AOutStreamList

ZipExtractS(const ZipName :string; AOutStream :TStream; FileName :string = '') :boolean

- Распаковать файл FileName из файла ZipName в поток AOutStream

ZipExtractSS(AZipStream: TStream; AOutStream: TStream; FileName :string = '') :boolean

- Распаковать файл FileName из потока AZipStream в файл AOutStream

ZLibCompress(const InpStream,OutStream :TStream; Level :TCompressionLevel=clDefault

- Упаковать поток OutStream в ZLib-поток InpStream

ZLibDecompress(const InpStream :TStream; const OutStream :TStream))

- Распаковать ZLib-поток InpStream в поток OutStream

AppIniFile: TIniFile

- Объект TIniFile, который используется программой локально на данном рабочем месте

Application: TApplication

- Объект Appication приложения-хостера

Session: TSession

- Объект BDE Session, который присутствует во всех приложениях, имеющих доступ к BDE с помощью встроенных средств Delphi