TArScriptFrame
A cada execução de script é instanciada uma classe TArScriptFrame que pode ser acessada pela variável sf.
TArScriptFrame= class
public
property ActiveCell: TArCell read // Célula ativa ou nil
property inDebug: boolean read/write // Verdadeiro quando em modo depuração
property inDesign: boolean read // Verdadeiro quando em modo design
property inBatch: boolean read // Verdadeiro quando em modo batch ou autônomo
property Context: TArActionContext read // Contexto do script
property KeyAction: TArActionKey read // Tecla de ativação
property MenuID: string read // Identificador do menu, dicAppMenu.itemID
property UserConfigFile: string read // Nome do arquivo de configuração do usuário
property UserConfigSave: boolean read // Se pode ou não salvar configurações do usuário
property MonitorLog: boolean read/write // Enquanto T, mantem um log das mensagems do Monitor
property MonitorFile: boolean read/write // Nome do arquivo para salvar o log
procedure MonitorLogSave( const cFileName: string ): boolean // Salva o arquivo de Log e o limpa
property ModuleName: string read // Nome do módulo
property SolutionName: string read // Nome da solução
procedure ExceptionDo( const cMsg: string ) // Gera um error com mensagem
property ExceptionCode: integer read // Código do último erro, se houver
property ExceptionMsg: string read // Mensagem do último erro, se houver
property User: TArUserInterface read // Informação do usuário
property License: TArLicenseInterface read // Informação do usuário
property gVars: TArScriptGlobalVars read/write // Variáveis globais
property window: TArWindow read // Acesso à janela ativa
property report: TArReport read // Manipulação de relatório
property eMail: TArSendEMail read // Gerenciamento de e-mail
property shell: TArShellInterface read // Acesso ao Windows
property ar: TArArgowInterface read // Acesso à janela principla de Argow
property db: TArDataBaseInterface read // Acesso ao banco de dados
property sv: TArStringVariant read // Funcões string e variant
property math: TArMath read // rotinas de verificação
property AbortRequested: boolean read/write // Quando atribuído true o processo é cancelado
//(quando for uma função boolean é recomendado retornar false, em lugar de solicitar o cancelamento)
end
TArUserInterface
Esta classe da acesso aos dados do usuário logado.
TArUserInterface= class
public
property name: string read // Nome do usuário, araUser.User_Name
property fullName: string read // Nome completo do usuário, araUser.User_Real_Name
property eMail: string read // e-mail do usuário, araUser.User_Email
property ip: string read // Lista de IP ativos no computador araUserInfo.User_ID
//(atualizado junto com os metadados).
property id: integer read // Identificação do usuário, araUser.User_ID
property profile: string read // Perfil ao qual o usuário pertence, araProfile.Prof_Name
property profileID: integer read // Identificação do perfil, araUser.Prof_ID
property isAdmin: boolean read // Verdadeiro quando o usuário é Admin e isPower
//(ver dicConfig variável ADMIN_USER)
property isPower: boolean read // Verdadeiro quando o usuário é Power, araUserInfo.User_is_Power
property sessionId: string read // string de um GUID que identifica a sessão em execução.
property auditMode: boolean read // Verdadeiro quando o usuário esta sendo Auditado
//(ver araUser.Audit_Mode)
end
TArLicenseInterface
Esta classe da acesso aos dados da Licença ativa.
TArLicenseInterface= class
public
property licenseTo: string read // Nome do cliente
property module: string read // Nome do Módulo da licença
property edition: TArEdition read // edição:
//( areExpress, areBusiness, areAcademic, areProfessional, areEnterprise )
property upToVersion: integer read // Versão do Argow permitida pela licença
property validUntil: TDateTime read // Data de validade
property hasInterProc: boolean read // Se a licença permite interProc
property clientName: string read // Nome do cliente, quando OEM (areEnterprise)
property clientId: string read // ID do cliente, quando OEM (areEnterprise)
end
TArDataBaseInterface
Esta classe da acesso ao banco de dados.
TArDataBaseInterface= class
public
property ActiveDataSet: TArScriptDataSet read // Data set ativo ou nil
property UserDataSet: TArScriptDataSet read // Data set para o usuário manipular
property Server: string read // Valor de 'Data Source'
property Catalog: string read // Valor de 'Initial Catalog'
property Provider: TArDataBaseProvider read // Provedor de dados
// TArDataBaseProvider= (ardbpUnknown, ardbpMSSql, ardbpOracle, ardbpInterbase, ardbpODBC)
property ConnectionString: wideString read // Disponível se CONNECTION_STR_ON_SCRIPT for T em dicConfig
function newDataSet(): TArScriptDataSet; // Retorna dataset. Não destruir (free)
function now: TDateTime // Data e hora do servidor (quando disponível, se não = shell.now)
Notar que a precisão é de +/- centésimos de segundos em relação ao servidor.
//>--- Controle de Transação de Dados no Banco
function BeginTran: boolean; // Retorna T, quando o Banco oferece transação e uma é iniciada
function inTran: boolean;
function commitTran;
function RollBackTran;
//>--- Recuperação de dados
function valueFromSql( const cSql: string ): variant; // Retorna a célula A1
function tryValueFromSql( const cSql: string; const vDefault: variant ): variant;
// Se for Null ou houver erro na execução, retorna vDefault
function rowFromSql( const cSql: string ): TVariantArray; // Retorna a primeira linha [0..Length(v)-1]
function columnFromSql( const cSql: string ): TVariantArray; // Retorna a primeira coluna [0..Length(v)-1]
function stringsFromSql( const cSql: string ): string; // Retorna a primeira coluna em
// de todas as linhas separadas por ; e entre "
property sqlLocal: boolean read/write // as funções acima, de recuperação de
// dados, usam cursor local ou no servidor (default quando no DB Local)
function execSP( const cStoredProcedure: string; const vParams: array of variant ): variant;
// retorna RETURN_VALUE
function execSql( const cSql: string ): boolean // Retorna T se executado sem erros
//>--- Metadados
function getResource( const cName, cStyle: string ): TMemoryStream // Retorna DicResource.resourceData
// Procura pelo estilo indicado, logo pelo atual e, finalmente, por nil.
// Se não encontrado, retorna NULL.
function getConfigValue( const cVarName: string ): variant
function setConfigValue( const cVarName, cVarValue, cVarDescription: string ): boolean
// Retorna ou atribue a coluna VARNAME de dicConfig. Primero procura para o módulo ativo,
// se não achar, procura para ALL, se não achar: getConfigValue retorna NULL;
// já setConfigValue insere uma linha para o módulo ativo
//>--- Interação
function display( const cTitle, cStatement, cFilter, cIcon: string;
const bDetails, bModal: boolean ): variant;
// Retorna a chave primária da linha selecionada do 'conjunto de dados' criado com
// cStatement e filtrada por cFilter
// (que pode ser interativo); ou false, se nada for selecionado.
// A janela, que pode ser modal (bModal) terá o título cTitle e ícone cIcon (armazenado como recurso),
// e, eventualmente, na parte inferior serão mostrados os detalhes (bDetails), como na janela PAD
end
TArScriptDataSet
Esta classe da acesso aos dados tabulares.
TArScriptDataSet= class
public
function open( const cCommand: string; const bLocal: boolean ): boolean;
// abre o 'conjunto de dados' resultado do comando cCommand e
// traz o resultado ao computador local se bLocal for verdadeiro
function openTable( const cTableName: string; const iMaxRec: integer;
const cWhere: string ): boolean;
// abre a tabela com o determinado número de registros (0=todos)
// susando o filtro cWhere
function bof: boolean; // Verdadeiro quando o primeiro registro é atingido
function eof: boolean; // Verdadeiro quando o último registro é atingido
function seek( const cFieldNames: string; const values: array of const ): boolean;
// equivalente a dataset.locate( cFieldNames, _ToVariant( values ), [ loCaseInsensitive ] );
procedure refresh( const bCurrent: boolean); // Atualiza a tabela ou o registro corrente
procedure first; // Ativa a primeiraseguinte linha
procedure last; // Ativa a linha última
procedure next; // Ativa a seguinte linha
procedure prior; // Ativa a linha anterior
procedure close; // Fecha o conjunto de dados
procedure edit; // Habilita a edição da linha ativa
procedure append; // Adiciona um registro vazio
procedure post; // Envia as alterações ao banco
procedure cancel; // Descarta as alterações
procedure recordCount: integer read // -1 ou número de registros
procedure keyValue: variant read/write // Valor da chave primária da linha corrente
property isEditing: boolean read // Verdadeiro quando está editando, válido até depois do post
property isInserting: boolean read // Verdadeiro quando está inserindo, válido até depois do post
property isAppending: boolean read // Verdadeiro quando está inserindo, válido até depois do post
property tableName: string read // Nome da tabela aberta
property caption: string read // Alias da tabela aberta
property dataSet: TDataSet read // Acesso ao dataset do Delphi
property active: boolean read // Verdadeiro quando ativo
property master: TArScriptDataSet read // dataset mestre, quando este dataset for detalhe
property details[ const cName: string ]: TArScriptDataSet read // datasets detalhes
property context: TArActionContext read // Contexto do dataset
property uiFilter: TArScriptUiFilter read // Acesso ao filtro Interativo
property row[ const cColumnName: string ]: TArField read/write // Acesso a linha ativa
property oldValues[ const cColumnName: string ]: Variant read // Acesso aos
// valores anteriores a edição (válidos até no evento aPost)
property values[ const cColumnName: string ]: Variant read/write default
// Acesso aos valores durante edição e inserção
property changed[ const cColumnName: string ]: Boolean read // Verdadeiro quando
// a valor da coluna mudou
property refreshRequested: TArDataSetRefreshType read/write
// Tipo de refresh a ser efetuado ao terminar o processo
property isProtected: boolean read/write // ver dicTable.isProtected
property useMetadata: boolean read/write // Os metadados da tabela e colunas são ignorados
// Restrição/Acesso Leve:
property allowEdit: boolean read/write // Permissão de edição
property allowInsert: boolean read/write // Permissão de inserção
property allowDelete: boolean read/write // Permissão de remoção
property allowPrint: boolean read/write // Permissão de impressão
property allowMulti: boolean read/write // Permissão de edição de múltiplas linhas
end
TArField
Esta classe extende a classe padrão TField.
TArField= class( TField )
public
property allowEdit: boolean read/write // Permissão de escrita, quando edição
property allowInsert: boolean read/write // Permissão de escrita, quando em inserção
property hidden: boolean read/write // Oculta/mostra a coluna
property isBlob: boolean read // Publica TField.isBlob que é uma class function
end
TArCell
Esta classe da acesso ás propriedades visuais da célula ativa (tem valor somente no evento onPaint)
TArCell= class
public
property fieldName: string read // Nome do campo (coluna) ativa
property backColor: TColor read/write // Cor de fundo
property fontColor: TColor read/write // Cor da fonte
property alignment: TAlignment read/write // Alinhamento (taLeftJustify, taCenter, taRightJustify)
property text: string read/write // Texto a mostrar
property values[ const cName: string ]: Variant read // Valores das colunas da linha ativa
property value: variant read // Valor da célula
property section: TArDisplaySection read // Seção da célula ativa
property rowIndex: integer read // Indice da linha ativa (quando em planilha e LoadAllRecords)
property selected: boolean read // Verdadeiro quando selecionada
property focused: boolean read // Verdadeiro quando com foco
property forGrid: boolean read // Verdadeiro quando as propriedades foram para a planilha
end
TArScriptGlobalVars
Esta classe da acesso ás variáveis globais.
TArScriptGlobalVars= class
public
function getFromUser( const cTitle, cGroup, cIcon: string ): boolean;
// Abre janela (com ícone armazenado em recurso) para o usuário informar os dados
procedure saveLocal; // Salva os valores das variáveis no arquivo do usuário
procedure saveGlobal; // Salva os valores das variáveis no arquivo do global
procedure deleteAll(); // Apaga todas as variáveis
procedure deleteGroup( const cGroup: string ); // Apaga o grupo de variáveis
procedure deleteVar( const cFullNameOrGroup, cVarName: string ); // Apaga a variável
procedure clearGroup( const cGroup: string ); // Limpa o contéudo das variáveis
do grupo (value:= Unassigned)
procedure clearVar( const cFullNameOrGroup, cVarName: string ); // Limpa o contéudo da variável
function existsVar( const cFullNameOrGroup, cVarName: string ): boolean; // T se a variável existe
property vars[ const cFullNameOrGroup, cVarName: string ]: TArScriptGlobalVar read/write default
// acessa as variáveis
property values[ const cFullNameOrGroup, cVarName: string ]: variant read/write // acessa os valores
property v[ const cFullName: string ]: variant read/write // "grupo.nome"
end
TArScriptGlobalVar
Esta classe da acesso às variáveis globais individualmente
TArScriptGlobalVar= class
public
property value: variant read/write // Valor
property size: integer read/write // Quando for string, tamanho máximo
property order: int read/write // Ordem na janela de entrada (0, 1,...)
property list: string read/write // Lista de opções:
// (separadas por ; e entre " se o item conter espaço)
property index: int read/write // Indice na lista (-1, 0, 1,...)
property script: string read/write // Função a executar
// Recebe o valor da variável como variant, e retorna o novo valor
property caption: string read/write // Rótulo na janela de entrada
property displayMask: string read/write // ver dicfield.displayMask
property editMask: string read/write // ver dicfield.editMask
property required: boolean read/write // Obrigatório informar na janela de entrada
property readOnly: boolean read/write // Valor não modificável
end
TArScriptUiFilter
Esta classe da acesso às variáveis do filtro Interativo
TArScriptUiFilter= class
public
property raw: string read/write // Conteúdo de dicAppMenu.TableFilter
property where: string read // O resultado que será aplicado ao Where
property fields[ fieldName: string ]: TArScriptUiFilterField read default;// Coleção dos campos
property count: integer read // Quantidade de campos
property loadAllRecords: boolean read/write // Carregar os todos os registros
property loaded: boolean read // Verdadeiro quando aplicou o resultado (Where está pronto)
end
TArScriptUiFilterField
Esta classe da acesso aos campos do filtro Interativo
TArScriptUiFilterField= class
public
property left: TArScriptUiFilterFieldData read // Campo "esquerdo" (ou superior na janela)
property right: TArScriptUiFilterFieldData read // Campo direito (ou inferior na janela)
property fieldName: string read // Nome da coluna
property dataType: TFieldType read // Tipo de dado
property allowRange: boolean read/write // Verdadeiro quando é permitido intervalo
end
TArScriptUiFilterFieldData
Esta classe da acesso ao um "lado" de um campo do filtro Interativo
TArScriptUiFilterField= class
public
procedure clear // Limpa o valor
property value: variant read/write // Valor
property operator: TArUiFilterOperator read/write // Operador
end
TArUiFilterOperator= (
arfoNone, arfoEqual, arfoDifferent, arfoLessThan, arfoLessThanOrEqual,
arfoGreaterThan, arfoGreaterThanOrEqual, arfoNull, arfoNotNull,
arfoStartsWith, arfoContains, arfoEndsWith );
TArWindow
Esta classe da acesso à janela ativa.
TArWindow= class
public
function postMessage( msg, wparam, lparam: Longint ): boolean; // Envia uma mensagem
property closeRequested: boolean read/write // Solicita que a janela seja fechada
property cardActive: boolean read // Verdadeiro quando a ficha está ativa (em uma janela PAD)
property gridActive: boolean read // Verdadeiro quando a planilha está ativa (em uma janela PAD)
property activeFieldName: string read/write // Nome completo (Tabela.Coluna) da coluna ativa do grid
// que exibe a tabela Tabela.
property selectedKeys: TStringList read // Chaves primárias (PK) das linhas selecionadas
// na planilha ativa da janela PAD ou Commander. Dispoível se
// dicTable.LoadAllRecords = 'T'. Se não sf.window.selectedKeys.count = 0.
end
TArReport
Esta classe da acesso ao relatório.
TArReport= class
public
function open( cDeviceName: string;
// impressora: printer, tela: screen, edição: design
ou arquivo: pdf
cReportName: string; // Nome do relatório (ItemName)
iFolder: integer; // ID da pasta ou -1 (FolderID)
cFileName: string; // Nome do arquivo resultado
cScriptName: string; // Script a executar onOpen (ver ar.execute por exemplos)
): boolean
property values[ const cFieldName: string; const index: integer ]: variant read/write default
// Valores dos filtros; index: [0..n] (se for list: itens separados por vírgula ou um por index)
property filter[ const cFieldName: string ]: boolean read/write // Set T, filtra
// se não mostra todas as linhas
property showFilterDialog: boolean read/write // Verdadeiro, mostra a janela de filtros
property showPrinterDialog: boolean read/write // Verdadeiro, mostra a janela da impressora
property fileName: string read/write // Nome do arquivo
end
TArMath
TArMath= class
public
function cnpj( const cValue: string ): boolean; // Valida CNPJ (true se for vazio)
function cpf( const cValue: string ): boolean; // Valida CPF (true se for vazio)
function crc( const cStr: string ): cardinal; // crc 32
function hash( const cStr: string ): string; // Hash SHA 256
end
TArStringVariant
TArStringVariant= class
public
function replace( const cString, cSearch, cReplace: string;
const qQuote: char; const bMatchWord: boolean ): string;
// Sustitue as ocorrências de cSearch por cReplace em cString
// Somente em texto fora das aspas qQuote (se for #1, ignorar aspas; #0, usar " ou '),
// Somente quando cSearch não termina em letra, número ou '_' (bMatchWord)
function extenso( const xValor: double ): string; // O valor em extenso
function hasText( const cText: string; const v: variant): boolean; // Retorna true se v conter o texto
function quote( const v: variant; const qQuote: char ): string; // Retorna v como texto entre aspas simples
function asString( const v: variant ): string; // Retorna v como um string. Se for Boolean, T ou F.
// se for vazia, nula ou desconhecida, nada ('').
function isEmpty( const v: variant ): boolean; // <- trim( toString( v ) ) = ''
function isTrue( const v: variant ): boolean; // Verdadeiro se v for T/t/1
function isNullDef( const v, vDefault: variant): variant; //Se v for empty ou null, retorna vDefault;
// se não for, retorna v
function isNull( const v: variant ): boolean; // Retorna true se v for empty ou null
procedure clear( var v: variant ); // = varClear
function encodeHtml( const cStr: string ): string; // Códifica >, <, " e &
function toStr( const ms: TStream ): ansiString; // Converte o Stream em uma string ansi
end
TArSendEMail
Esta classe da acesso API MAPI do Windows para enviar e-mail.
TArSendEMail= class
public
function send( const cToEmail, cToName, cSubject, cBody, cFileName: string ): boolean
procedure addFile( const cFileName: string );
procedure addTo( const cEmail, cName: string; const bCopy, bBlind: boolean );
procedure clear;
property result: integer read // Código de resultado da função send (Ver windows.MapiSendMail)
property fileCount: integer read // Quantidade de arquivos anexados
property fromName: string read/write // Quem envia, default sf.UserName
property fromEMail: string read/write // Email de quem envia, default sf.UserEmail
property receiptRequested: boolean read/write // Solicita confirmação de leitura
property openDialog: boolean read/write // Verdadeiro, abre a janela de e-mail
end
TArShellInterface
Esta classe da acesso ao Windows.
TArShellInterface= class
public
function deleteFile( const cFileName: string; const bToRecycle: boolean ): boolean;
// windows.deleteFile ou windows.SHFileOperation
function deleteFiles( const cPath, cFileSpec: string; const bToRecycle: boolean ): integer;
// Exclui os arquivos que correspondem ao padrão cFileSpec na pasta cPath
function listFiles( const cPath, cFileSpec: string; ): TStringList;
// Lista de nomes dos arquivos da pasta cPath com padrão cFileSpec
function copyFile( const cFileName, cNewFile: string;
const bFailIfExists, bWithProgress: boolean ): boolean;
// windows.copyFileEx ou windows.SHFileOperation
function moveFile( const cFileName, cNewName: string;
const bFailIfExists, bWithProgress: boolean ): boolean;
// windows.moveFileEx ou windows.SHFileOperation
// Se cNewName termina com \, é usado o mesmo nome.
function parseFilename( const cFullName: string;
var cDrive, cFolder, cName, cExt: string ): string;
// retorna nome.ext
function renameFile( const cFileName, cNewName: string ): boolean;
// windows.moveFile
function crcFile( const cFileName: string ): cardinal;
// CRC32 do arquivo (compatível com PKZIP)
function moduleVersion( const cFileName: string ): array of variant;
// Versão do módulo (dll, exe) v[0].v[1].v[2].v[3] (v[0] == null se erro)
function filePermission( const cFileName: string; cosnt bCanWrite, bOpenExlusive: boolean ): boolean;
// Confere se o usuário pode abrir o arquivo com os atributos especificados
function fileExists( const cFileName: string ): boolean;
function folderExists( const cFolderName: sting; const bCreateIfNot: boolean ): boolean;
function tempFile( const cPath, cPrefix: string; const iUnique: integer ): string;
// windows.GetTempFileName
function tempFolder: string;
function errorToStr( const iError: cardinal ): string;
function call( const cLibraryName, cFunctionName: string; var cParam: string;
const unLoad: boolean ): integer;
// Disponível com InterProc habilitado. Veja também ar.call
// Chama a função cFunctionName da DLL. Se '' e unLoad=T, descarga o módulo.
// pParam (o texto de um TStringList, ou param separados por #13#10)
// pode ser modificada, mas não deve aumentar o tamanho.
// Protótipo: function( pParam: pWideChar; var iSize: integer ): integer; stdcall;
function execute( const cOperation, cFile, cParameters, cPath: string;
const bModal: boolean ): cardinal;
// Disponível com InterProc habilitado.
// Usar cOperation = 'run' para programas console sem janela (ver windows.CreateProcess)
// Outros valores (como 'open', 'print', 'explore') (ver windows.shellExecuteEx)
function keyIsPressed( const iVK_KEY: integer ): boolean;
procedure beep;
procedure sayError( const cMessage, cTitle: string ); //| Mensagens usando a janela do windows
procedure sayInfo( const cMessage, cTitle: string ); // | Use \n
procedure sayWarn( const cMessage, cTitle: string ); // | para iniciar una linha
function sayQuestion( const cMessage, cTitle: string ): boolean;
function say( const cMessage, cTitle: string;
const iFlags:[sayBtn Or sayIcon]longint):[sayId]integer;
{ Flags:
sayBtnOk, sayBtnOkCancel, sayBtnYesNo, sayBtnYesNoCancel, sayBtnRetryCancel, sayBtnAbortRetryIgnore
sayIconError, sayIconWarn, sayIconQuestion, sayIconInfo
sayIdOk, sayIdYes, sayIdNo, sayIdCancel, sayIdAbort, sayIdRetry, sayIdIgnore
MB_DEFBUTTON1 = $00000000; MB_DEFBUTTON2 = $00000100; MB_DEFBUTTON3 = $00000200;
function newGUID: string; // retorna um novo GUID como string
function millisecOfToday: cardinal; // retorna quantidade de milisegunds transcurridos no dia
function now: TDateTime read // Data e hora do pc (ver db.now)
function idleMillisec: cardinal; // retorna quantidade de milisegunds desde últito evento de entrada
property clipboard: string read/write; // acesso ao clipboard como string
property exitCode: integer read/write // ExitCode da Aplicação
property lastError: cardinal read/write // acesso ao windows LastError
property lastExitCode: cardinal read // ExitCode, quando execute for modal
property userName: string read // nome do usuário logado no Windows
property pcName: string read // nome do computador
property isRemoteSession: boolean read // Verdadeiro quando em uma sessão remota
property decimalSeparator: char read // caractere separador decimal
property dateSeparator: char read // caractere separador de data
property paramCount: integer read // quantidade de parâmetros na linha de comando
property param[ vNameOrIndex: string|integer ]: variant read // retorna o parâmetro index de execução
do Argow ou, a parte value de: -<name>:<value>. Se não existir, retorna Null.
end
TArArgowInterface
Esta classe da acesso a janela principla de Argow.
TArArgowInterface= class
public
property status: string read/write // Texto da barra de status
property version: string read // Versão do SF, Maior.Menor, nas ferramentas (como Studio): Maior.?
property hasInterProc: boolean read // Verdadeiro quando a licença habilitar InterProc
property exeFolder: string read // pasta do executável (termina com \)
property exeName: string read // nome do executável
property exeVersion: array of variant read // versão do executável (v[0].v[1].v[2].v[3])
property style: string read/write // Estabelece o estilo usado na interface (dicResource.Style)
property tip: string read/write // Texto a ser mostrado no rodapê (quando registrado)
// (ver tambem TODAYS_TIP)
// sf.ar.tip:= 'Argow ' + sf.ar.version + ' Catálogo: ' + sf.db.Server + '.' + sf.db.Catalog;
function doMenu( const cItem: string ): boolean; // Abre o item de menu, ver menuEnabled
property menuEnabled[ const cItem: string ]: boolean read/write // Retorna ou atribui
// o estado do item de menu
// cItem puede ser a PK do menu (dicAppMenu) ou o nome do menu (dicAppMenu.MENUNAME)
// ou um dos itens de menu internos (ver araMenuAccess)
// Ver ver dicConfig ALLOW_SCRIPT_TO_DISABLE_MENU.
property progress: word read/write // Posição da barra de progresso
property maxProgress: word read/write // Máximo da barra de progresso (padrão 100)
procedure stepProgress; // Incrementa em um a barra de progresso
procedure doEvents; // Desabilita a janela e processa as mensagens, reativar com sf.ar.status=''
procedure sendToMonitor(const cProcess, cContext, cValue: string); // Envia os dados ao Monitor
procedure refreshTables( const cTablesName: string ); // Atualiza a lista
// (separada por ,) de tabelas (e suas dictable.views) abertas
function updateMetadata( const cTableName: string ): boolean; // Atualiza a tabela
// do dicionário ('' = todas)
function sendMessage( cosnt msg, wparam, lparam: Longint ): boolean; // Envia a mensagem
// a janela principal
function displayText( const cText, cTitle, cIcon, cExt: string; const bModal: boolean ): boolean;
// Abre janela, com Título e ícone (armazenado como recurso) modal ou não,
// para exibir o texto no formato cExt:
// htm, rtf, txt, ini, sql, xml, pas, frm ou src (código fonte html)
function displayResource( const cName, cStyle, cTitle, cIcon: string; const bModal: boolean ): boolean;
// Abre janela, com Título e ícone (armazenado como recurso) modal ou não,
// para exibir o recurso de dicRecurso de nome e estilo indicado
function call( const cLibraryName, cFunctionName: string; var cParam: string;
const unLoad: boolean ): integer;
// Disponível com InterProc habilitado. Veja também shell.call
// Chama a função cFunctionName da DLL cLibraryName. Se o nome da função for branco ('') e
// unLoad true, a DLL é finalizada.
// pParam pode ser modificada, mas não pode aumentar o tamanho.
// Protótipo: function( const sf: TArDllFrame; pParam: pChar; var iSize: integer ): integer; stdcall;
// A unit arDllAPi.pas da suporte a criação das DLL que podem usar os componentes Delphi Star
// Antes de Argow terminar, procura a função argow_end(): integer; stdcall; e, se existir e chamada
function send( const cExeName, cProcName: string; const iCommand: word;
const buffer: string ): integer;
// Disponível com InterProc habilitado. Veja também shell.execute
// Requer o assembly dotNet argow.interproc.dll
// Abre o programa cExeName e estabelece um canal duplo de comunicação com o processo cProcName.
// Assim é possível enviar comandos com textos ou buffers definidos pelo programador.
// iCommand = 0: descontecta;
// iCommand em [1..125] o buffer é enviado como um texto Unicode é recibido
// como um string dotNet (argow.interproc.ArMessageType.user).
// iCommand em [126..150] o buffer é enviado e recebido como byte[] (ArMessageType.btye).
// Após aberto, Argow fica a escuta para, por exemplo, executar scripts.
function execute( const cScript: string ): integer;
// Executa o script scriptName[.function][(<param1>,<param2><param3>...)].
// Onde scriptName está em dicScript e, opcionalmente, contém a função ou procedure function.
// Para permitir chamadas recursivas, veja ALLOW_RECURSIVE_SCRIPT.
// Os parâmetros, opcionais, são separados por virgulas:
// exemplo.teste( 1728, 891.9, "string", 2015/12/12, true, NULL )
// integer: números e -
// float: números, - e ponto [.]
// string: entre aspas ["] ou [']
// guid: entre chaves [{ }], o valor é validado, mas tratado como string (ver stringToGuid)
// date: yyyy/mm/dd hh:nn:ss.zzz (pode especificar partes das horas)
// bool: true/false
// Null: NULL
end
|
Enumerados Argow
TArActionContext
Contexto no qual o script esta sendo executado.
TArActionContext=(
aracUnkown,
aracMenu,
aracMaster,
aracDetail,
aracLookup,
aracTreeMaster,
aracWhere,
aracFilter,
aracProcess,
aracShowSelect,
aracScript,
aracAppStart,
aracAppEnd,
aracHtml,
aracReport,
aracDll,
aracInterProc
)
TArActionKey
Tecla que disparou o evento.
TArActionKey=(
arakNone,
arakConstrain,
arakFieldEvent,
arakCalculated,
arakExport,
arakWizard,
arakView,
arakOpen,
arakPrint,
arakEdit,
arakInsert,
arakDelete,
arakPost,
arakOnScroll,
arakOnFilter,
arakOnView
)
TArDataSetRefreshType
Tipo de refresh a efetuar no dataset ativo após execução do script.
TArDataSetRefreshType=(
arrtNone,
arrtCurrent,
arrtSelected,
arrtRequery
)
TArDisplaySection
Tipo de seção que a célula pertence.
TArDisplaySection=(
ardsCardCategory,
ardsCardCaption,
ardsCardValue,
ardsGridHeader,
ardsGridBody,
ardsGridFooterMain,
ardsGridFooterGroup
)
|