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 // Verdadeiro quando em modo depuração
property inDesign: boolean read // Verdadeiro quando em modo design
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 ModuleName: string read // Nome do módulo
property SolutionName: string read // Nome da solução
property ServerNow: TDateTime read // Data e hora do servidor (antiga now)
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 AbortRequested: boolean read/write // Quando atribuído true o processo é cancelado
(compatibilidade, não usar, recomendado: retornar false da função)
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, 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 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 quando CONNECTION_STR_ON_SCRIPT for T
function newDataSet(): TArScriptDataSet; // Retorna dataset. Não destruir (free)
// 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;
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 iMaxRecords: integer; const cWhere: string ): boolean;
// abre a tabela com o determinado número de registros (0=todos)
// usando o filtro cWhere
function bof: boolean; // Verdadeiro quando o primeiro registro é atingido
function eof: boolean; // Verdadeiro quando o último registro é atingido
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
property isInserting: boolean read // Verdadeiro quando está inserindo
property isAppending: boolean read // Verdadeiro quando está inserindo
property tableName: string read // Nome 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 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
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
// 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
end
TArField
Esta classe extende a classe padrão TField.
TArField= class( TField )
public
property allowEdit: boolean read/write // Permissão de escrita na coluna
property allowInsert: boolean read/write // Permissão de escrita na coluna em nova lin
property hidden: boolean read/write // Oculta 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 da 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 cCaption, cGroup, cReource: string ): boolean;
// Abre uma janela (com ícone cResource) 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
property values[ const cGroup, cVarName: string ]: variant read/write default // acessa os valores
property v[ const cFullName: string ]: variant read/write // "grupo.nome"
end
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 selectedKeys: TStringList read // Chaves primárias (PK) das linhas selecionadas
// na planilha ativa da janela PAD. 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
iFolder: integer; // ID da pasta ou -1
cFileName: string; // Nome do arquivo resultado
cScriptName: string; // Script a executar onOpen
): boolean
property values[ const cFieldName: string; const index: integer ]: variant read/write default
// Valores dos filtros
property filter[ const cFieldName: string ]: boolean read/write // Verdadeiro, filtra se não mostra todos
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
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 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
function renameFile( const cFileName, cNewName: string ): boolean;
// windows.moveFile
function crcFile( const cFileName: string ): cardinal;
// CRC32 do arquivo (compatível com PKZIP)
function fileExists( const cFileName: string ): 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.
// windows.shellExecuteEx, cOperation<-'open', 'print', 'explore'
function keyIsPressed( const iVK_KEY: integer ): boolean;
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: Longint ): integer;
function newGUID: string; // retorna um novo GUID como string
function millisecOfToday: cardinal; // retorna quantidade de milisegunds transcurridos no dia
function idleMillisec: cardinal; // retorna quantidade de milisegunds transcurridos no dia
property clipboard: string read/write; // acesso ao clipboard como string
property lastError: cardinal read
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: string read // caractere separador decimal
property dateSeparator: string read // caractere separador de data
procedure beep;
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 Argow, Maior.Menor, nas ferramentas: Maior.?
property hasInterProc: boolean read // Verdadeiro quando a licença habilitar InterProc
property exeFolder: string read // pasta do executável
property tip: string read/write // Texto a ser mostrado no rodapê (quando registrado) (ver tambem TODAYS_TIP)
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 abertas
function sendMessage( msg, wparam, lparam: Longint ): boolean; // Envia a mensagem a janela principal
function doMenu( const cItem: string ): boolean; // Ativa o item de menu
function getMenuEnabled( const cItem: string ): boolean; // Retorna o estado do item de menu
procedure setMenuEnabled( const cItem: string; const bEnabled: boolean ): boolean; // Atualiza
// 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.
function call( const cLibraryName, cFunctionName: string; var cParam: string; const unLoad: boolean ): integer;
// Disponível com InterProc habilitado. Veja também shell.call
// Requer os componentes Delphi Star
// Chama a função da DLL. pParam pode ser modificada, mas não pode aumentar o tamanho.
// Protótipo: function( const sf: TArDllFrame; pParam: pChar; var iSize: integer ): integer; stdcall;
function send( const cExeName, cProcName: string; const iCommand: word; const cText: string ): integer;
// Disponível com InterProc habilitado. Veja também shell.execute
// Requer a classe dotNet argow.interproc.dll
// Abre o programa cExeName e estabelece um canal duplo de comunicação com o
// processo cProcName e envia comandos e textos definidos pelo programador.
// O comando = 0, descontecta. Outros (iCommand > 0) são repassados ao processo.
// Após aberto, Argow fica a escuta para, por exemplo, executar scripts.
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
)
|