Tutorial Script (Por) PDF
Tutorial Script (Por) PDF
Índice:
1 Introdução ao Scripting 4
2 Usando FrontPage 2000 5
? Configurando o FrontPage 5
? Instalando o Microsoft Script Editor 6
3 Primeira Lição: Introdução para salvar, repetir e diálogos simples 7
3.1 Salvando e repetindo um scripting 7
? Começando a gravação do script 7
? Parando a gravação do script 8
? Repetindo o script 8
3.2 Visualizando o script 9
? Visualizando a fonte HTML 9
? Salvando a cópia de referência do Script 10
? Salvando a imagem do logo Datamine 10
? Rodando o Script pelo Internet Explorer 11
3.3 Sintaxe dos comandos Datamine 11
? Colocar quadro 11
? Sintaxe do comando Datamine 12
? Exemplos 12
3.4 Método de Adição de Janelas 13
? Adicionando alert() 13
? Adicionando prompt() 14
? Adicionando confirm() 15
? Sumário 16
4 Segunda Lição - Introdução para ao Script Library Component 17
? Usando o SLC 17
? Browser do arquivo Datamine 18
4.1 Adicionando o Browser de Arquivo de Projeto 19
5 Terceira Lição - Exemplo de Criação de Polígono 21
? Iniciando Datamine Studio 21
5.1 Criando a Interface 22
? Desenhando uma tabela para conter objetos de interface 22
? Adicionando textos e caixas de texto 22
? Adicionando caixas de checagem para seleção de dados 23
? Adicionando botões “OK” e “Cancel” 23
? Especificando nomes e valores para os controles 23
? Arrumando a tabela 24
? Dê à página um título e salve -a 25
? Link com o Padrão Datamine (CSS) 25
5.2 Adicionando o Script 26
? A janela do evento onload 26
? O evento onclick para o botão “OK” 27
? O que este Script faz? 28
5.3 Rodando o Script 30
? “Debugando” seu Script 30
? Sugestões para extensões mais avançadas 31
6 Lição Quatro - Introdução para ler e copiar 32
? Iniciando 32
6.1 Criando a Interface 33
? Criando uma tabela para conter os objetos de interface 33
11º Workshop DATAMINE do Brasil & 3º Conferencia Latino Americana de Usuarios DATAMINE -2-
Datamine Latin America Tutorial Script
________________________________________________________________________
? Adicionando textos e caixas de textos 33
? Adicionando botões “Browse” 33
? Atribuindo nomes e valores para os comandos 34
? “Link” para as planilhas padrão do Datamine Studio 34
? Dando um título para a página e salvando 35
6.2 Adicionando o Script 36
? A janela evento Onload 36
? A janela evento onunload 37
? O manipulador do botão OK onclik 37
? Os botões de Browse 38
? Rodando o Script 39
? Compilando seu script 39
6.3 Sugestões para extensões adicionais 40
? Copie um único campo 40
? Copiando múltiplos campos 41
7 Quinta Lição - Introdução para rodar uma macro de um script 43
7.1 Exemplo de Macro usando XRUN 44
7.2 Criando a Interface 46
? Atribuir Nomes e Valores para os Controles 47
7.3 Adicionando o Script 48
? Eventos para serem definidos 48
? Métodos do Script Library Component 48
? Microsoft Script Editor (MSE) 49
? Caixa de texto da entrada do arquivo de calares – tbIN1 50
? Botão para escolha do arquivo de colares de entrada - btnBrowseIN1 51
? Botão para selecionar arquivo de saída – btnBrowseOUT1 51
? Criar botão de plotagem – btnCreatePlot 51
? Botão de carregamento padrão – btnLoad 52
? Evento Window onload 52
? Conectando a biblioteca SLC 53
? Janela de Evento onunload 54
? O script completo 54
7.4 Rodando o Script 54
? Edite a Macro 54
? Rodando o Script 55
? Validação 55
8 Sexta Lição - Introdução para Exemplos de Scripts 55
8.1 Criação de um Protótipo de Modelo 56
? Objetos HTML 56
? Métodos SLC 57
? Criando a Wireframe 57
? Comandos com Respostas Interativas 58
? Barra de Progressão 58
? Pontos a serem observados 59
8.2 Exemplo de Macro 2 59
8.3 Acessando Registros e Valores de Campos 60
8.4 O método DCM de menu de Comando 60
? Exemplo Script 61
11º Workshop DATAMINE do Brasil & 3º Conferencia Latino Americana de Usuarios DATAMINE -3-
Datamine Latin America Tutorial Script
________________________________________________________________________
1 Introdução ao Scripting
Datamine Studio traz uma novidade: um modelo de interface que permite a você escrever
scripts usando JavaScript ou VBScript. Estes scripts estão inseridos num documento
HTML, que podem ser carregados para a interface do Datamine Studio para executar
comandos Datamine. Tanto quanto rodar comandos individuais de scripts você também
pode rodar as macros e CL’s que vem sendo ao longo do tempo uma característica da
Datamine Systems.
A linguagem HTML pode ser usada para criar uma interface gráfica simples e mais
compreensiva para scripts. Este pode ser visto como um substituto do comando
!SCREEN, com a vantagem de ser muitas vezes mais poderoso.
Alterações na interface são feitas editando o arquivo HTML. Entretanto, tanto quanto
adicionar uma caixa de texto ou botões de ação, você também deverá definir a ação ou
evento que ocorre quando você entra com dados dentro da caixa de textos ou clica o
botão. Isto é feito usando-se JavaScript ou VBScript. Você pode executar comandos das
janelas de Design ou da Base de Dados utilizando estes scripts asssim como carregando
as funções habituais do programa. Você pode, também, fazer interfaces integradas com
outros sistemas através de scripts (Ex. AutoCad, Excel, Word ou qualquer outro aplicativo
executável).
Estamos fornecendo algumas funções JavaScript úteis para simplificar tarefas como rodar
macros adaptando-as às listas selecionadas. Estas são fornecidas como parte de uma
biblioteca básica “SLC” (Script Library Component), que é descrita mais adiante neste
tutorial.
Este tutorial leva você através de todos os passos de rotinas e execução para projetar sua
própria interface e adicionar os scripts. A finalidade do tutorial não é ensinar HTML e Java
Script. Ambos são softwares de outras empresas, existindo muitos livros e outros recursos
que ensinam a usá-los de forma correta. Este tutorial concentra ferramentas que são
necessárias para criar e administrar páginas HTML, macros e outros arquivos que são
11º Workshop DATAMINE do Brasil & 3º Conferencia Latino Americana de Usuarios DATAMINE -4-
Datamine Latin America Tutorial Script
________________________________________________________________________
usados no Datamine Studio. O seu entendimento do tutorial será bem mais fácil se você
já estiver familiarizado com os conceitos e métodos do JavaScript e HTML.
Usuários experientes irão reconhecer a disponibilidade de uma interface COM com todos
os comandos Datamine Studio, abrirá enormes possibilidades de integração do Datamine
Studio com outros Softwares dentro do sistema de sua empresa. Comandos do Datamine
Studio podem agora ser acessados e executados remotamente via Internet ou Intranet,
através de qualquer linguagem de programação ou sistemas, incluindo Access Basic,
Sybase PowerBuilder, Borland Delphi, Visual Basic ou C++.
Desenvolver páginas HTML e scripts requer mais que apenas um editor de texto. Existe
um grande número de editores HTML utilizáveis comercialmente e/ou como “freeware” ou
“shareware” na internet. Estes produtos se assemelham muito na criação de páginas
HTML, mas quase todos são desenvolvidos apenas para criar HTML para a internet e
poucos têm bom suporte para desenvolver e compilar scripts.
Antes de você completar este tutorial, você necessitará de uma cópia do Microsoft
FrontPage 2000. Para checar se sua versão do FrontPage é a correta, carregue o
FrontPage e selecione Help | About Microsoft FrontPage.
??Configurando o FrontPage
Quando se usa o script para enviar informações para um servidor internet ou intranet, os
vários objetos de interface (caixa de texto, caixa verificação, etc), que são usados para
especificar valores, são reunidos numa “figura”. Quando se pressiona o botão de enviar,
11º Workshop DATAMINE do Brasil & 3º Conferencia Latino Americana de Usuarios DATAMINE -5-
Datamine Latin America Tutorial Script
________________________________________________________________________
os valores especificados por todos os campos numa figura são reunidos e transmitidos.
Isto é indispensável para um usuário de sripting, como mostrado neste tutorial.
Como padrão, o FrontPage automaticamente coloca os campos que você inseriu como
campos de um formulário. Para desabilitar esta função devemos selecionar Tools | Page
Options... desabilitando a segunda opção “Automatically enclose form fields within a
form”, conforme figura abaixo:
O editor e compilador de script são manuseados por um componente opcional, que não é
instalado junto com o FrontPage 2000. Ele é chamado de Microsoft Script Editor. Se
você não instalou o script editor, recarregue seu CD do FrontPage e carregue os
componentes: HTML Source Editing e Web Scripting a partir do Office Tools.
11º Workshop DATAMINE do Brasil & 3º Conferencia Latino Americana de Usuarios DATAMINE -6-
Datamine Latin America Tutorial Script
________________________________________________________________________
Como primeira parte da lição, você deverá salvar e repetir a seqüência de comandos do
Datamine para associar e avaliar dados do Downhole Explorer.
Se você errou quando entrou com algum dos oito comandos, não se preocupe. Ignore o
erro e entre com o comando correto.
11º Workshop DATAMINE do Brasil & 3º Conferencia Latino Americana de Usuarios DATAMINE -7-
Datamine Latin America Tutorial Script
________________________________________________________________________
??Parando a gravação do script
??Repetindo o script
Agora, repita o script que foi salvo usando S? ou selecionando Tools | Run Script.
Quando for pedido o nome do script, selecione desurvey.htm. Assegure-se de que a
Customization Window esteja sendo e xibida e selecione a janela de script::
11º Workshop DATAMINE do Brasil & 3º Conferencia Latino Americana de Usuarios DATAMINE -8-
Datamine Latin America Tutorial Script
________________________________________________________________________
3.2 Visualizando o script
Como mencionamos anteriormente, iremos utilizar o FrontPage 2000 para editar o script.
Contudo, é possível ver e editar o script usando um editor de texto, embora este não seja
o caminho recomendado para fazê -lo.
11º Workshop DATAMINE do Brasil & 3º Conferencia Latino Americana de Usuarios DATAMINE -9-
Datamine Latin America Tutorial Script
________________________________________________________________________
Mananger e o Browser, dependendo de que método é selecionado, que serão
abordados posteriormente neste tutorial.
?? Então, nós temos alguns comentários a mais que acompanham duas funções
JavaScript – btnExecute_onclick() e btnHelp_onclick(). Estas funções
descrevem qual ação é feita quando os botões Execute e Help são clicados.
?? E, finalmente, existe o código HTML descrevendo a interface – o logo Datamine e
os botões Execute e Help.
Esperamos que você tenha criado com sucesso sua própria cópia do desurvey.htm.
Contudo, se você precisa ver a cópia referência e/ou salvar a cópia, acesse o arquivo
desurvey.htm presente no tutorial encontrado no DMStudio.
Este deverá abrir uma nova janela e exibirá o Script. Para ver o código atual, você deve
clicar com o botão direito na janela e selecionar View Source (Exibir Código Fonte),
como descrito anteriormente. Se você precisar salvar uma cópia do arquivo selecione File
| Save As na barra de ferramentas do Notepad. Você deverá usar o browser para
navegar para o diretório do projeto Tutorial. Você deverá, também, escolher um nome
para o arquivo. Por exemplo, chame o arquivo de desurvey1.htm. Adicione a
extensão.htm no nome do arquivo e não use a extensão .txt.
O Script executa o logo do Datamine depois do nome do script. Contudo, ele assume que
o Logo Image (dmlogo200x93.gif) está no diretório do seu projeto, o qual não é o caso,
inicialmente. O código HTML que mostra a imagem está perto do fim do arquivo:
<td><img src="dmlogo200x93.gif"
alt="Datamine: The Mining Software" width="100"
height="46"></td>
Ou,
?? Adicionar o atalho para o script:
11º Workshop DATAMINE do Brasil & 3º Conferencia Latino Americana de Usuarios DATAMINE - 10
-
Datamine Latin America Tutorial Script
________________________________________________________________________
O primeiro é provavelmente o melhor, desde que o arquivo esteja no diretório correto
quando você salvar outros scripts no tutorial. Caso contrário você precisará editar cada
script para salvá-los. Você pode executar o script sem o Logo, mas ele não é irá ficar tão
bonito!
??Colocar quadro
Note que como nas macros, simbologias precedem os arquivos por & (eg &IN), nomes de
campos por * (eg *BHID) e parâmetros por @ (eg @BINS=5). Contudo, existem
diferenças com relação às macros como, por exemplo, o sinal de igual (=) entre o símbolo
e o nome do arquivo atual (eg &IN=_collars) e entre o símbolo e o nome do campo (eg
11º Workshop DATAMINE do Brasil & 3º Conferencia Latino Americana de Usuarios DATAMINE - 11
-
Datamine Latin America Tutorial Script
________________________________________________________________________
*KEY1=BHID). Os arquivos, campos e parâmetros distribuídos são separados por um ou
mais espaços.
Se você cometeu um erro quando entrou com os comandos você pode editar o
código.Tenha certeza que você guardou a sintaxe correta. Se enquanto entrava com os
comandos você clicou na janela Design (Design Window), você encontrará o comando
dm.command (“select-string”); tendo sido recuperado. Este pode ser deletado.
Se você tiver feito alguma mudança, salve o arquivo antes de sair. Para rodar um script
editado você pode também clicar S? ou selecionar Tools | RunScript, como
anteriormente, ou você pode ainda clicar com o botão direito na caixa cinza da janela do
script. No menu que irá aparecer selecione Refresh e rode novamente clicando no botão
Execute.
Note que:
??Exemplos
Copie os registros do arquivo “collars” para o arquivo “temp” usando o critério de restrição
XCOLLAR>=10200:
11º Workshop DATAMINE do Brasil & 3º Conferencia Latino Americana de Usuarios DATAMINE - 12
-
Datamine Latin America Tutorial Script
________________________________________________________________________
Crie uma nova string, na forma de um quadrado, na janela Design:
dm.command (“new-string “ +
“ @point= 0, 0, 0, 1“+
“ @point= 0, 100, 0, 1“+
“ @point= 100, 100, 0, 1“+
“ @point= 100, 0, 0, 1“+
“ @point= 0, 0, 0, 4 “);
dm.command (“cancel-command”);
Existem três métodos de adição de janelas largamente utilizadas, que podem ser
adicionadas no seu script:
??Adicionando alert()
O método alert() é usado para executar uma caixa de diálogo contendo o valor de uma
variável ou de um texto, na forma de string. Por exemplo, insira um alert() no começo da
função para mostrar um título. Para fazer este script clique com o botão direito e selecione
View Source, depois adicione o alert() como mostrado abaixo.
Salve o arquivo e retorne para o Datamine Studio. Clique com o botão direito na caixa
cinza do script na Customization Window para executar o menu. Selecione Refresh,
depois Execute.
11º Workshop DATAMINE do Brasil & 3º Conferencia Latino Americana de Usuarios DATAMINE - 13
-
Datamine Latin America Tutorial Script
________________________________________________________________________
??Adicionando prompt()
O método prompt() executa uma caixa de diálogo que inclui uma mensagem determinada
por você e um campo para que você possa entrar com os dados. Dois botões, OK e
Cancel lhe dão as opções para:
O método prompt() tem dois argumentos. O primeiro é uma mensagem rápida que é
mostrada na caixa de diálogo. O segundo argumento mostra uma resposta, que é inserida
numa caixa de texto. Se você não tem necessidade de especificar uma resposta basta
inserir duas aspas duplas ““.
O método retorna um valor quando você clica em um dos botões. Clicando o botão
Cancel, retorna um valor null, independente de qual é a caixa de texto. Clicando o botão
OK, retorna o valor da string texto, na caixa de texto.
Use o método prompt() para solicitar o nome do arquivo collars, e armazene o valor na
variável cfile. Você poderá adicionar um texto para checar o valor do cfile. Se cfile está
vazio (“”) ou null então o ‘enter’ terminará a função.
Finalmente, você precisará substituir o arquivo _collars por uma variável no comando
Datamine que irá executar o comando SORTX no arquivo. Observe que cfile é uma
variável, e não deve ser incluída dentro de aspas duplas. Portanto, o argumento para o
comando dm é dividido em três partes separadas pelo sinal de +, como mostrado no
exemplo abaixo. Tenha certeza de que existe um espaço imediatamente em frente a
&OUT=tempcollars, de maneira que arquivos, campos e parâmetros estejam separados.
Salve o arquivo texto, atualize o script (refresh) e execute-o. Após o alert() que mostra o
título, o prompt() irá executar a caixa de diálogo.
Para aceitar o nome do arquivo _collars, clique OK. Neste instante o script irá rodar e
executar o comando Datamine.
11º Workshop DATAMINE do Brasil & 3º Conferencia Latino Americana de Usuarios DATAMINE - 14
-
Datamine Latin America Tutorial Script
________________________________________________________________________
Você pode, agora, adicionar rapidamente outros quatro arquivos, usando os nomes:
?? assays – afile
?? geology – gfile
?? survey – sfile
?? holes – hfile
Não esqueça de substituir o nome de todos os arquivos (_assays, _geology, etc) pelos
nomes das variáveis correspondentes (afile, gfile etc). Em todas é necessária a
declaração do comando dm.
??Adicionando confirm()
11º Workshop DATAMINE do Brasil & 3º Conferencia Latino Americana de Usuarios DATAMINE - 15
-
Datamine Latin America Tutorial Script
________________________________________________________________________
\n é um comando que ao ser inserido dentro de um texto começará uma nova linha.
O ! em frente de confirm() inverte o valor Booleano. Por exemplo, se clicar Cancel, o valor
de confirm() será falso. Contudo, adicionando ! a resposta tornar-se-á verdadeira. Então,
a ação será retornada e a operação terminará. O diálogo confirm() será como:
??Sumário
Os métodos alert() e confirm() são particularmente úteis para compilar um script. Embora,
o método prompt() possa ser usado para entrar com um valor, ele é, certamente, um
caminho grosseiro para fazer uma interface atrativa, como veremos em seguida. Para ver
o script completo, contendo alert(), prompt() e confirm() clique no botão desurvey.htm
encontrado no tutorial de script encontrado no Datamine Studio.
11º Workshop DATAMINE do Brasil & 3º Conferencia Latino Americana de Usuarios DATAMINE - 16
-
Datamine Latin America Tutorial Script
________________________________________________________________________
A SLC (Script Library Component) básica do Datamine proporciona uma série de funções
JavaScript úteis para simplificar tarefas semelhantes como acessar o Browser, rodar
macros e criar listas de opções. Para ver um sumário das propriedades e métodos
associados com o SLC vá ao manual de script encontrado no Help do Datamine Studio
abra a seção “Introduction to the Script Library Component” e clique no botão SLC, que se
encontra na página. Escolha uma propriedade ou um método da lista para exibir os
detalhes correspondentes. Nós usaremos algumas dessas propriedades e métodos em
outra etapa deste tutorial.
Na lição anterior, Visualizando o Script, sua atenção estava voltada para os comentários
que são incluídos no script, quando você usa salvar automaticamente. Datamine Studio é
operado por um script via dois objetos ActiveX: o Datamine Command Manager (ou
DMC), e o Project File Browser (dmBrowser). Um script salvo automaticamente inclui o
código para iniciar os dois objetos, que criam uma conexão entre script e o seu projeto
Datamine. O método default, (method = 1), inicia o DMC e o dmBrowser Active X.
Alternativamente, se você quizer customizar o script, você deve preferir usar o SLC. Ao
iniciar o SLC, o DMC e o dmBrowser são iniciados automaticamente para você, e
adicionalmente, o SLC proporciona um número de “funções convenientes” que fazem a
customização do script facilmente. Para usar o SLC você deve instalá-lo do CD de
instalação do Datamine Studio. Ele não está instalado como padrão, então você deve
selecionar a opção para instalá-lo. Você deve, também, rodar a versão 5, ou superior do
Internet Explorer.
??Usando o SLC
Primeiro faça uma cópia do script (desurvey.htm) que você criou no exercício anterior, e
nomeie o novo script como: desurvey2.htm. Então, edite o novo script e altere o method =
1 para method = 2, assim, você pode usar a livraria.
// ------------------------------------------------------------------------
var method = 2;
var dm = null;
if (method == 1) { // Initialise the DCM and browser ActiveX Objects
Note que para selecionar o método 2, as duas linhas do código de inicialização são:
dm = new ActiveXObject("dmLib");
dm.initialize(self);
A variável “dm” é apenas um nome usado no script. Ele não tem que ser “dm”. Na
verdade, em alguns exemplos posteriores, nós usaremos “dmlib”.
11º Workshop DATAMINE do Brasil & 3º Conferencia Latino Americana de Usuarios DATAMINE - 17
-
Datamine Latin America Tutorial Script
________________________________________________________________________
??Browser do arquivo Datamine
11º Workshop DATAMINE do Brasil & 3º Conferencia Latino Americana de Usuarios DATAMINE - 18
-
Datamine Latin America Tutorial Script
________________________________________________________________________
4.1 Adicionando o Browser de Arquivo de Projeto
1. O tipo do arquivo:
As opções são:
typeModel typeSection
11º Workshop DATAMINE do Brasil & 3º Conferencia Latino Americana de Usuarios DATAMINE - 19
-
Datamine Latin America Tutorial Script
________________________________________________________________________
Substitua o método prompt() pelo arquivo Browser, para um dos cinco arquivos. Por
exemplo:
function btnExecute_onclick()
{
alert("This script desurveys downhole data.");
Note que não há necessidade de testar se os primeiros quatro arquivos estão vazios ou
null, porque ao marcar o terceiro argumento como “falso” asseguramos que o arqui vo já
existe. Entretanto o arquivo de saída pode ser um novo arquivo (true), e assim
precisamos testar o valor do hfile.
11º Workshop DATAMINE do Brasil & 3º Conferencia Latino Americana de Usuarios DATAMINE - 20
-
Datamine Latin America Tutorial Script
________________________________________________________________________
5 Terceira Lição - Exemplo de Criação de Polígono
Esta lição introduz muitas das idéias a respeito do Datamine Studio Scripting, e
desenvolve um exemplo muito útil, passo a passo. Você estará desenvolvendo um nova
interface com caixas de texto e botões, e adicionalmente, um Script. A partir de agora
você estará usando Microsoft FrontPage 2000 e o Microsoft Script Editor (MSE) como
descrito na introdução deste tutorial. Certifique-se de que ambos estão instalados.
Crie alguns dados de pontos na janela de Design do Datamine Studio. Escolha duas ou
três cores diferentes para os dados de pontos.
Provavelmente você está rodando este tutorial do Help | Scripting Tutorial, menu
Datamine Studio. Isto significa que se você minimizar o Datamine Studio então o tutorial é
minimizado também. Se você quiser você pode rodar uma versão independente deste
tutorial dando dois clicks no arquivo script_tutorial.chm que se encontra no diretório
onde foi previamente instalado o Datamine Studio, geralmente é: c:/Program files/
datamine/DmStudio.140. Isto permitirá a você minimizar o Datamine Studio enquanto roda
FrontPage 2000.
11º Workshop DATAMINE do Brasil & 3º Conferencia Latino Americana de Usuarios DATAMINE - 21
-
Datamine Latin America Tutorial Script
________________________________________________________________________
5.1 Criando a Interface
No canto inferior esquerdo da janela FrontPage estão três abas: Normal, HTML e Preview
ou Visualização. A aba Normal é onde projetamos a forma HTML, e a aba Preview ou
Visualização é onde podemos visualizar o que projetamos tão bem como operar controles
e comandos. Usamos a vista HTML somente quando estamos adicionando o Script na
página.
Com a aba Normal selecionada, selecione Table | Insert | Table... e especifique uma
tabela com cinco linhas e duas colunas.
Ao invés de Table | Insert | Table... você pode usar Table | Draw Table... e
efetivamente desenhar as linhas separando as linhas e duas colunas. Esta característica
é particularmente utilizada se você deseja desenhar tabelas com arranjos complexos de
células.
Em seguida, adicionaremos duas caixas de texto no topo de duas células do lado direito
da tabela. O texto descrevendo o conteúdo destas caixas vai para o topo de duas células
do lado esquerdo.
Mova o cursor para a célula mais alta no lado esquerdo e digite “Distância - Extensão”.
Então mova para a segunda linha, a coluna e digite “Filtro”. Agora nós adicionaremos as
duas caixas de texto. Posicione seu cursor no topo da célula mais alta do lado direito, e
selecione Insert | Form | One-Line Text Box. O FrontPage inserirá a caixa de texto.
Agora insira outra caixa de texto no lado direito da coluna, próximo da célula de “Filtro”.
11º Workshop DATAMINE do Brasil & 3º Conferencia Latino Americana de Usuarios DATAMINE - 22
-
Datamine Latin America Tutorial Script
________________________________________________________________________
??Adicionando caixas de checagem para seleção de dados
Insira outra caixa de checagem dentro da célula de baixo, com o texto “Inclusão de dados
de strings”.
Antes que você faça alguma coisa acontecer, precisamos destinar nomes e valores
iniciais para todos os controles da interface. Os nomes podem ser qualquer coisa que
você deseje, mas lembre-se que letras maiúsculas e minúsculas são distintas (OK é
diferente de Ok). Uma boa idéia é fixar os nomes dos controles com duas ou três letras
que identificam o tipo de controle, exemplo “btnOK” ou botão “OK”, ou “tbSelectedFile”
para uma caixa de texto que contenha o nome do arquivo selecionado.
11º Workshop DATAMINE do Brasil & 3º Conferencia Latino Americana de Usuarios DATAMINE - 23
-
Datamine Latin America Tutorial Script
________________________________________________________________________
Não importa qual método você use, todos podem ser visualizados na caixa Properties
dialog. Faça isto primeiro para a caixa de texto “Distância - Extensão”. Especifique o
nome tbExtension e posicione o valor inicial para “0”.
Certifique-se do uso dos nomes exatos para os controles como dados no texto.
Em seguida, designe o nome tbFilter (tb de text box) e nenhum valor inicial para a
segunda caixa de texto. Então, designe o nome cbIncludePoints (cb de check box) para a
caixa de verificação “Incluir os pontos”, e selecione “Checked” (ou verificado) como o
“Initial state” (Estágio Inicial). Nomeie a segunda caixa de verificação cbIncludeStrings e
deixe o “Initial State” como “Not Checked” (Não verificado).
??Arrumando a tabela
Agora você pode melhorar o aspecto da tabela. Este passo não é absolutamente
necessário, mas aperfeiçoará a integração visual com o Datamine Studio, e fará a
interface funcionar melhor se a janela Script no Datamine Studio for redimensionada.
Todos os melhoramentos no layout da tabela podem ser feitos com um clique com o
botão direito do mouse, e mudando os valores nos diálogos resultantes. Contudo esta
lição lhe dará alternativas de comando do menu.
Primeiro selecione todas as células da tabela, clicando e arrastando o mouse com o botão
esquerdo pressionado. Selecione Table | Properties | Cell e desative as caixas “Specify
Width” e “Specify Height”, para permitir o browser selecionar a melhor largura e altura
para as células.
11º Workshop DATAMINE do Brasil & 3º Conferencia Latino Americana de Usuarios DATAMINE - 24
-
Datamine Latin America Tutorial Script
________________________________________________________________________
Alinhando como “center” manteremos a tabela no centro da janela do Script quando esta
for redimensionada.
Finalmente, realce a linha da base das células (clique e arraste o mouse) e selecione
Table | Properties | Cell. Mude o alinhamento Horizontal para o Centro, para centralizar
os botões nas células.
A interface está quase completa. Você deveria dar à página HTML um nome (Clique com
o botão direito, selecione Page Properties... e com um título como “Polygon Script”), e
então salve a página no mesmo diretório do Datamine Studio Project, com o nome
“polygon.htm”.
Novamente isto não é necessário, mas linkar sua página HTML com o Padrão Datamine
será muito melhor para a integração visual do sistema com o script.
Para linkar o Padrão Datamine com a página HTML, seleciona Format | Style Sheet
Links..., e pressione Add e localize o arquivo dmstyle.css.
Agora clique na aba Preview para ver como ficará sua interface.
11º Workshop DATAMINE do Brasil & 3º Conferencia Latino Americana de Usuarios DATAMINE - 25
-
Datamine Latin America Tutorial Script
________________________________________________________________________
5.2 Adicionando o Script
O primeiro passo está completo: temos uma interface para usuário HTML, junto com
todos os ‘ganchos’ para o script.
Lembre-se, o importante aspecto novo do Datamine Studio é que ele pode ser
programado. A linguagem Script usada não é uma parte do Datamine Studio – você pode
usar uma das inúmeras linguagens de programação padronizadas: JavaScript, VBScript,
PerlScript, PowerBuilder’s PowerScript, etc. As duas linguagens que favorecem o
FrontPage são VBScript e JavaScript.
Ao contrário das macros e menus, scripts são geralmente constituídos por um número de
eventos manipuláveis, pequenas janelas do script são executadas pelo brownser quando
algum evento relevante ocorre. Somente dois eventos são manipulados neste script.
Como você estará usando o Microsoft Script Editor freqüentemente é uma boa idéia
adiciona-lo como um botão na barra de ferramentas. Selecione Tools | Customize e na
caixa de diálogo Customize selecione a tabela de comandos. Do painel de categorias
selecione Tools, e role os comandos até o ícone do Microsoft Script Editor ser
mostrado. Arraste o ícone e coloque-o em uma barra de ferramentas – por exemplo, barra
de ferramentas contendo os botões e caixas de texto.
11º Workshop DATAMINE do Brasil & 3º Conferencia Latino Americana de Usuarios DATAMINE - 26
-
Datamine Latin America Tutorial Script
________________________________________________________________________
comando em HTML necessário para conter seu Script, e define uma função
Window_onload ().
(Se o título diz Sub Window_onload(), o FrontPage ainda está configurado para usar
VBScript. Pressione Shift – F4 e mude-o antes de prosseguir).
Agora podemos entrar com o código JavaScript para ser executado quando este evento
ocorre. Primeiro precisa-se estabelecer a conecção entre o Script e a Datamine Studio
Scripting Library Component (“SLC”). Em termos de programação, precisamos criar um
inicializador para a SLC. Este é feito conforme a linha de comando abaixo:
Se você está lendo este documento on-line, copie as linhas JavaScript e cole na
janela de trabalho, usando Paste as HTML do menu Edit do FrontPage para
passar para seu documento HTML.
A linha de comando cria uma variável (global), chamada “dmlib”, através da qual nos
comunicaremos com o Datamine Studio. Consulte um manual JavaScript se você não
entendeu isto. Em seguida, precisamos dizer à biblioteca para iniciar-se. Entre com uma
segunda linha de código, que diz:
dmlib.initialize(self);
Observe que o programa do editor de Script ajuda você, mostrando uma lista de métodos
e propriedades disponíveis na biblioteca. Quando executado, o método inicial tentará
conectar a seção corrente executando o Datamine Studio. Portanto devemos antes de
rodá-lo estar com o Datamine Studio aberto.
Agora dê dois cliques em btnOK e dois cliques no evento onclick. Outra definição de
função, chamada btnOK_onclick(), é inserida. O Script Editor também modifica a HTML
que cria o botão OK, de maneira que esta função é chamada quando o evento é
escolhido. Role para a base do HTML para encontrar o comando <input> para o botão OK
observando o que tem foi inserido, se você está interessado.
Quando o botão é pressionado, o Script deve salvar o ponto e/ou dados da string,
processa-los usando CONPOL e outros comandos, e recarregar o polígono resultante de
volta para a Design Window do Datamine Studio. Este código é extremamente confiável,
mas razoavelmente extenso sendo mostrado na caixa abaixo. Se você estiver on-line
pode copiar o comando bastando apenas selecionar as linhas de comando com o mouse
e no menu que irá aparecer, ao se clicar na seleção com o botão direito, escolher a opção
“Copy”. Coloque a cursor dentro do corpo da função btnOK_onclick(), e use “Copy and
Paste with HTML” para adicionar o texto. Certifique-se que o código foi digitado
corretamente, como mostrado.
11º Workshop DATAMINE do Brasil & 3º Conferencia Latino Americana de Usuarios DATAMINE - 27
-
Datamine Latin America Tutorial Script
________________________________________________________________________
if (tbExtension.value != "")
command += " @EXTDIS=" + tbExtension.value;
dmlib.command(command);
dmlib.command("proper &PERIMIN=_tmp001 &PERIMOUT=_tmp002 @TOL=0.000001
@CLOSE=1");
dmlib.command("get-all-strings &_tmp002 {}"); // load new polygon into
Design Window
dmlib.command("delete-file '_tmp*' 'Y'"); // Remove temporary work files
Depois de você adicionar o script para seu documento HTML, salve-o e feche a janela do
Editor de Script. A janela do FrontPage reaparecerá, mas agora seu Script foi adicionado
para o mesmo. Selecione a tabela HTML e role-a até o topo para verificá-la.
11º Workshop DATAMINE do Brasil & 3º Conferencia Latino Americana de Usuarios DATAMINE - 28
-
Datamine Latin America Tutorial Script
________________________________________________________________________
Se a caixa de verificação “Inclusão de Pontos” é acionada, o script escreve as strings para
outro arquivo, novamente usando qualquer filtro que seja especificado, e usa o comando
EXTRA para remover e renomear campos. Se ambas caixas de verificação foram
especificadas, ele junta ambos os dados em um arquivo.
O CONPOL não fecha o polígono resultante. Portanto o Script usa PROPER para fechar
recarregando antes o polígono para dentro da Janela de Design do Datamine Studio.
11º Workshop DATAMINE do Brasil & 3º Conferencia Latino Americana de Usuarios DATAMINE - 29
-
Datamine Latin America Tutorial Script
________________________________________________________________________
Certifique-se de que você salvou o Script por completo. Se você quer usar a versão de
Se você está rodando seu Script da aba Preview do FrontPage, lembre-se que
você também deve ter o Datami ne Studio rodando!
A Microsoft traz um meio sofisticado para verificar se seu script está certo ou não, sendo
de longe o melhor caminho para entender onde um script está tendo erros. Mas para este
exemplo, a mais simples ajuda “debugging” é a chamada JavaScript alert(). Usando o
comando alert() você pode mostrar mensagens e os valores da variáveis em caixas de
mensagens, a qual será criada em algum ponto durante a execução do seu script. Por
exemplo, para verificar o valor da caixa de texto do Filtro utilizado, você pode adicionar a
declaração seguida no topo do procedimento do polígono criado, ou com o evento
manipulador btnOK_onClick, conforme a linha de comando abaixo:
Quando executado esta declaração produz uma caixa de mensagem como a seguinte:
11º Workshop DATAMINE do Brasil & 3º Conferencia Latino Americana de Usuarios DATAMINE - 30
-
Datamine Latin America Tutorial Script
________________________________________________________________________
5.3.1.1.1.1.1 Debugging com o Microsoft Script Editor
Uma discussão completa de como usar o Microsoft Script Editor para o debugging está
fora do alcance deste tutorial. Para maiores detalhes, consulte o Help on-line.
Contudo, para dar uma amostra do que é possível, vamos estudar alguns dos aspectos
disponíveis. Primeiro ative o Script Editor do FrontPage, selecionando Tools | Macro |
Microsoft Script Editor...
Para iniciar o debugging, selecione Debug | Start no Script Editor. Isto executa o Script
Editor reconfigurando-o, e inicia a janela Internet Explorer contendo sua HTML e o Script.
Você pode retornar ao Script Editor a qualquer hora, e inserir um “breakpoint” em uma
linha particular. Para inserir um breakpoint, clique na barra cinza na margem à esquerda
da janela, para a linha onde você quer que a execução seja interrompida. Por exemplo,
quebre a primeira linha do evento manipulador bntOK_onClick(), conforme a figura abaixo:
Para finalizar o debugging, selecione Debug | Detach All Proceses do menu Script
Editor.
Este exemplo funcional é designado para ser uma lição instrutiva. O Script resultante tem
um número de limitações. Você poderia tentar algumas das seguintes melhorias:
?? Use filtros separados para pontos e strings
?? Permita ao usuário especificar um valor para o parâmetro @MAXLEN em CONPOL
?? Faça o Script funcionar em um plano horizontal
?? Faça o Script funcionar em qualquer plano
11º Workshop DATAMINE do Brasil & 3º Conferencia Latino Americana de Usuarios DATAMINE - 31
-
Datamine Latin America Tutorial Script
________________________________________________________________________
6 Lição Quatro - Introdução para ler e copiar
Esta lição cria um script para copiar um arquivo com critério de restrição opcional. Ele usa
o project File browser através do Datamine Studio Library Component. Obviamente, este
exemplo pode ser facilmente estendido para transportar alguns arquivos processados ao
longo do caminho, ou, por exemplo, para criar um script que lê múltiplos arquivos de
entrada e cria um ou mais arquivos de saída.
??Iniciando
Inicie o Datamine Studio. Como visto em todas as lições anteriores, você deverá iniciar o
Datamine Studio de forma que ele seja capaz de responder quando requisitado. Inicie o
FrontPage 2000. Use a versão correta e configure-o corretamente como descrito na lição
anterior. Você poderá, também, usar o Microsoft Script Editor.
11º Workshop DATAMINE do Brasil & 3º Conferencia Latino Americana de Usuarios DATAMINE - 32
-
Datamine Latin America Tutorial Script
________________________________________________________________________
6.1 Criando a Interface
Será criada uma interface com três caixas de texto e três botões.
Como na lição anterior, criaremos uma tabela para conter a caixa de texto, botões e
textos associados. No FrontPage escolha a aba normal e selecione o menu suspenso:
Table | Insert | Table… e especifique uma tabela com cinco linhas e três colunas. Não se
preocupe com o layout ou estilo dos parâmetros. Trataremos disso depois.
Na célula mais alta à esquerda (posição inicial do cursor), digite “Copy a File”. Você pode
realçar o texto e selecionar negrito na barra de ferramentas, se você quiser. Depois
selecione Insert | Horizontal Line no menu do FrontPage.
Agora, precisamos unir todas as células na linha do alto. Use o mouse para realçar a linha
do alto da célula, clique com o botão direito e selecione Merge Cells.
Agora, nós adicionaremos as duas caixas de texto que irão conter os nome dos arquivos
de entrada e saída. Posicione o cursor na segunda linha, coluna do meio e selecione
Insert | Form | One-Line Text Box ou.......... O FrontPage irá inserir a caixa de texto.
Agora insira outra caixa de texto na célula abaixo, próximo do “Output file”.
Finalmente, insira outra caixa de texto na quarta linha, coluna do meio. Esta é onde você
entrará com o critério de retenção.
Agora, adicione botões na coluna da direita, nas linhas dois e três. Não se preocupe com
os botões rotulados, por agora (eles irão dizer “Button”, por default), nós o fixaremos
depois. Finalmente, adicione outro botão dentro da célula do meio, última linha.
11º Workshop DATAMINE do Brasil & 3º Conferencia Latino Americana de Usuarios DATAMINE - 33
-
Datamine Latin America Tutorial Script
________________________________________________________________________
Agora, clique com o botão direito na tabela, selecione Table Properties... e escolha
borda tamanho zero (0). Depois selecione a célula do meio da linha de base, clique com o
botão direito, selecione Cell Properties... e escolha o alinhamento horizontal das células
para “center”. Faça o mesmo para as células da primeira linha.
Agora, precisamos atribuir nomes para cada um dos controles, e escolher os botões
rotulados. Atribuímos nomes individuais de maneira que possamos nos referir a cada
controle no script.
Para atribuir um nome para um controle, selecione-o com o mouse e execute o comando
Properties (pressione Alt-Enter + clique com o botão direito e selecione “Form Fields
Properties...” ou clique duas vezes). Atribua o nome tbInputFile para a primeira caixa de
texto, tbOutputFile para a segunda e tbRetrieval para a terceira caixa de texto.
Você poderá linkar planilhas estilo padrão do Datamine Studio, dmstyle.css, para
promover a integração visual do script. Você já terá criado o arquivo dmstyle.css como
descrito na previous lesson.
Para linkar as planilhas estilo, selecione Format | Style Sheet Links... pressione Add,
depois use o brower para selecionar a planilha estilo padrão Datamine, dmstyle.css.
Agora clique na faixa Preview, para ver como ficou a interface completa.
11º Workshop DATAMINE do Brasil & 3º Conferencia Latino Americana de Usuarios DATAMINE - 34
-
Datamine Latin America Tutorial Script
________________________________________________________________________
A interface, agora, está quase completa. Você deve dar um nome HTML para a página
(clique com o botão direito, selecione Page Properties... e entre com um título, como:
“Browser example”), e depois, salve a página no seu tutorial, no diretório do projeto, com
o nome “copyfile1.htm”.
11º Workshop DATAMINE do Brasil & 3º Conferencia Latino Americana de Usuarios DATAMINE - 35
-
Datamine Latin America Tutorial Script
________________________________________________________________________
6.2 Adicionando o Script
O primeiro passo, fazer a interface HTML, está completo. Agora, precisamos transmiti-lo e
adicionar o script que fará as coisas acontecerem.
?? Quando carrega a janela (um evento onload), o script faz a conecção com o
Datamine Script Library Component (SLC).
?? Quando outro botão “Browse” é pressionado (um evento onclick), o script executa
uma chamada do SLC, que executa o botão browser, esperando por uma seleção
e cópia do nome de alguma tabela selecionada dentro da caixa de texto
correspondente.
?? Quando o botão OK é pressionado (outro evento onclick), um script verifica se
ambos os arquivos foram especificados, adiciona qualquer critério de retenção que
tenha sido especificado e depois executa o comando copiar o arquivo do Datamine
Studio, outra vez pelo SLC.
Lembre-se de que se aparecer “Sub window _onload()”, o FrontPage está configurado pra
usar VBScript. Clique no painel HTML, e pressione Shift-F4 e repita o procedimento
anterior.
11º Workshop DATAMINE do Brasil & 3º Conferencia Latino Americana de Usuarios DATAMINE - 36
-
Datamine Latin America Tutorial Script
________________________________________________________________________
Quando a janela carregar, precisamos estabilizar a conecção entre o script e o SLC, e
inicializá-lo. Isto é feito com os seguintes comandos do JavaScript:
Você pode entrar com o código diretamente ou marcar o texto acima e selecionar Copy
com o menu gerado com o botão direito. Depois mova para a janela do Script Editor e
clique o cursor na linha vazia entre as linhas “function window_onload() {“and”}”. Clique
com o botão direito no menu e selecione “paste como HTML”.
Depois crie um evento manipulador onunload, e insira a seguinte linha de código dentro:
dmlib.unLoadDmLib();
Isto descarrega corretamente o SLC e libera qualquer memória alocada por ele quando a
janela é descarregada (quando ela é substituída por outra página HTML).
Agora, clique duplamente no btnOk e no evento onclick. Outra função definida, chamada
btn_onclick() é inserida.
Quando o botão é pressionado, o script deve verificar que os nomes dos arquivos de
entrada e saída tenham sido especificados e assim, executar o comando para copiar o
arquivo, opcionalmente com o conteúdo do critério de retenção.
if (tbRetrieval.value != "")
theCommand += " {" + tbRetrieval.value + "}";
dmlib.command(theCommand);
}
O valor de cada caixa de texto (a propriedade “valor”) de cada caixa de texto é verificada
para ver se ele é uma string característica cheia. Se outra faltar, o script não é feito.
11º Workshop DATAMINE do Brasil & 3º Conferencia Latino Americana de Usuarios DATAMINE - 37
-
Datamine Latin America Tutorial Script
________________________________________________________________________
Cada botão do browse deve executar mais ou menos as mesmas funções pra adicionar
ou atualizar o valor em uma das caixas de texto. O SLC contém uma função específica
para fazer isso.
O primeiro argumento especifica o tipo de arquivo que deve ser selecionado. O SLC
permite você selecionar todos os modelos permitidos; dmlib.typeAny permitirá ao usuário
escolher algum tipo de arquivo. Alternativamente, dmlib.typeModel obriga o usuário a
selecionar um arquivo de modelo de blocos.
Se você quer permitir o usuário para selecionar mais que um tipo de arquivo, você pode
adicionar valores diferentes juntos. Para encontrar o valor digitado de alguma categoria,
aplica-se , e seleciona-se o arquivo digitado apropriado na caixa Properties.
O valor digitado é exibido na caixa de valor.
11º Workshop DATAMINE do Brasil & 3º Conferencia Latino Americana de Usuarios DATAMINE - 38
-
Datamine Latin America Tutorial Script
________________________________________________________________________
Depois você deve adicionar o script no seu documento HTML, salvá-lo e fechar a janela
do editor de Scripts. A janela FrontPage irá reaparecer, mas agora o seu script está
adicionado a ele. Selecione a faixa HTML e role para o topo para checar isto.
??Rodando o Script
Certifique que você tenha salvado o script completo. Se você precisar usar a versão
original, então faça uma cópia como dentro do diretório do seu tutorial.
Você pode executar o script de duas formas: primeiro você deve entrar no Datamine
Studio e selecionar Tools | Run | Script especificando o nome do arquivo HTML que
você tinha criado. Este é o modo como normalmente seria rodado, sendo este o único
modo para você verificar se a interface HTML está correta dentro do Datamine Studio.
Mas para uma visão rápida, há outro caminho para rodar o Script... selecione a tabela de
Preview no FrontPage. Está é uma maneira conveniente de verificar que tudo está
funcionando da maneira que você esperava, sem ter de se lembrar de salvar o arquivo,
alternar para o DMStudio e recarregar o arquivo cada vez que você fizer uma mudança.
Se você está rodando seu Script direto do Preview do FrontPage, lembre-se que
você também deve ter o Datamine Studio rodando!
11º Workshop DATAMINE do Brasil & 3º Conferencia Latino Americana de Usuarios DATAMINE - 39
-
Datamine Latin America Tutorial Script
________________________________________________________________________
Isto muda o comando “Copy” do Datamine para uma cópia seletiva ou “selcopy”. Primeiro,
você precisa inserir uma linha adicional dentro da tabela HTML e adicionar um elemento
selecionado (Insert | Form | Drop-Down Menu ou. ) para ele. Dê ao elemento o
nome “selFields”. A fim de especificar a largura do objeto selecionado (que está
inicialmente vazio), você precisará usar a barra de ferramentas “Positioning” (View |
Toolbars | Positining no menu). Realce o objeto selecionado, e entre com o tamanho de
115 pixeles na caixa de largura do barra de ferramentas do Positioning.
A fim de preencher a lista com os nomes dos campos no arquivo de entrada, use o
método SLC makeFieldsPicklist() dentro do evento manipulador onclick do btnBrowse1. O
código do evento manipulador completo pode ser, agora, mostrado como:
function btnBrowse1_onclick() {
tbInputFile.value = dmlib.browseForFile(dmlib.typeAny, null,false);
dmlib.makeFieldsPicklist(tbInputFile.value, selFields); }
11º Workshop DATAMINE do Brasil & 3º Conferencia Latino Americana de Usuarios DATAMINE - 40
-
Datamine Latin America Tutorial Script
________________________________________________________________________
argumento opcional para esse método, que dará o valor padrão a ser exibido. O valor que
falta não precisa, necessariamente, ser o nome de um campo do arquivo.
Finalmente, nós precisamos modificar o manipulador onclick para o botão “OK”, btnOk. O
comando “copy” se tornará um “selcopy”, e nós precisamos adicionar o nome do campo
selecionado para o comando. O novo código visualizado é como este:
function btnOK_onclick() {
if (tbInputFile.value == "" || tbOutputFile.value == "") {
alert("Missing file name");
return;
}
if (tbRetrieval.value != "")
theCommand += " {" + tbRetrieval.value + "}";
dmlib.command(theCommand);
}
11º Workshop DATAMINE do Brasil & 3º Conferencia Latino Americana de Usuarios DATAMINE - 41
-
Datamine Latin America Tutorial Script
________________________________________________________________________
Nenhuma mudanças é necessária no script, fora o código adicionado para extrair os
valores dos ítens selecionados no objeto selecionado. Isto é feito com mudanças
adicionais no manipulador onclick para o btnOk.
function btnOK_onclick() {
if (tbInputFile.value == "" || tbOutputFile.value == "") {
alert("Missing file name");
return;
}
if (fieldNum == 0) {
alert("No fields selected.");
return;
}
if (tbRetrieval.value != "")
theCommand += " {" + tbRetrieval.value + "}";
dmlib.command(theCommand);
}
11º Workshop DATAMINE do Brasil & 3º Conferencia Latino Americana de Usuarios DATAMINE - 42
-
Datamine Latin America Tutorial Script
________________________________________________________________________
Você já pode ter macros que você usará para rodar sequências de comandos
DATAMINE. As entradas para estas macros são usualmente feitas pelos comandos
PROMPT ou SCREEN. Contudo, como você mesmo já deve ter percebido, a interface
HTML propicia uma maneira muito mais atrativa, compreensiva e fácil para criar uma
entrada de arquivos, campos, parâmetros e outras variáveis.
Uma boa notícia é que para tirar vantagem da sua interface HTML você não precisa
converter sua Macro inteira para Script. Você pode simplesmente alterar sua interface
para HTML e passar os valores das variáveis para sua macro. Portanto, as únicas
mudanças que você deve fazer em sua macro é remover os comando de PROMPT ou
SCREEN e substituir os comandos para ler os valores das variáveis que você entrar
através da interface HTML. Ao final da macro você pode passar os valores das variáveis
de volta para o Script.
A linguagem Script usa o arquivo “var” para transferir variáveis e seus valores entre o
script e a macro. Este é o arquivo já usado pelos comandos VARLOAD e VARSAVE para
salvar informações dentro do Datamine. É também o arquivo usado em versões mais
antigas destes comandos, STKPAR e STKSAV. Os métodos varload() e varsave(), trazem
funções equivalentes em scripting, e são incluídos como parte da Script Library
Component. Há também um método runMacro() na biblioteca para facilitar rodar uma
macro de um script. O exemplo seguinte usará todos estes trés métodos.
11º Workshop DATAMINE do Brasil & 3º Conferencia Latino Americana de Usuarios DATAMINE - 43
-
Datamine Latin America Tutorial Script
________________________________________________________________________
Para este exemplo adicionaremos uma interface HTML em uma macro que cria um plano
de localização de collares. A Macro usa uma técnica padrão para posicionar valores
ausentes e sugestões. Os principais passos são:
Você verá que cinco substituições de variáveis são sugeridas, conforme abaixo:
Removeremos estas entradas da macro e criaremos um script com interface HTML que
rodará a macro.
11º Workshop DATAMINE do Brasil & 3º Conferencia Latino Americana de Usuarios DATAMINE - 44
-
Datamine Latin America Tutorial Script
________________________________________________________________________
Salve uma cópia da macro collar1a.mac como arquivo collar1.mac em seu diretório do
projeto Tutorial. Então rode a macro retirando todos os valores padrões dos ‘prompts’. A
Macro criará e exibirá a localização do collar:
Observe que os valores das cinco variáveis substituídas são mostrados. Depois que o plot
foi criado a variável $NUMBER# foi incrementada por 1, e as variáveis foram salvas no
arquivo var collplot.var. O novo valor está mostrado na janela de OutPut Window:
11º Workshop DATAMINE do Brasil & 3º Conferencia Latino Americana de Usuarios DATAMINE - 45
-
Datamine Latin America Tutorial Script
________________________________________________________________________
Agora usaremos o FrontPage para criar uma interface onde serão colocadas as variáveis
substituídas requeridas para rodar a Macro. Inicie um novo arquivo (File | New | Page |
Normal Page ou ) e insira uma tabela de 7 linhas e 3 colunas para criar uma
interface como a mostrada abaixo. Os métodos usados para posicionar uma
interface são descritos nas lições anteriores.
A caixa de entrada “Field to annotate” é um menu de opções. Este conterá uma lista de
nomes de todos os campos do arquivo de Input Collars.
11º Workshop DATAMINE do Brasil & 3º Conferencia Latino Americana de Usuarios DATAMINE - 46
-
Datamine Latin America Tutorial Script
________________________________________________________________________
Para ajustar a largura da caixa de menu de opções (Field to annotate) você precisará usar
a barra de ferramentas de Posicionamento. Você poderá expô-la selecionando View |
Toolbars e selecionando o verificando o item Posicionamento. Uma largura de 150 é
conveniente.
Como padrão, valores introduzidos dentro da caixa de texto são justificados à esquerda.
Isto é apropriado para valores alfa -numéricos, mas você pode preferir valores numéricos
justificados à direita. Para fazer isto clique duas vezes na caixa de texto Plot Number para
expor o diálogo Text Box Properties e selecione Style | Format | Paragraph | Alignment:
Right.
Atribua nomes para as caixas de texto, botões e listas de opções como a seguir:
Você pode usar Format | Style Sheet Links... para linkar o estilo de folha para o padrão
Datamine (dmstyle.css). Salve o arqui vo em seu diretório do Tutorial como
collar_plot_1.htm.
11º Workshop DATAMINE do Brasil & 3º Conferencia Latino Americana de Usuarios DATAMINE - 47
-
Datamine Latin America Tutorial Script
________________________________________________________________________
Push
Browse for collars file btnBrowseIN1 onclick
Button
Push
Browse for output file btnBrowseOUT1 onclick
Button
Push
Create plot btnCreatePlot onclick
Button
Push
Load defaults btnLoad onclick
Button
11º Workshop DATAMINE do Brasil & 3º Conferencia Latino Americana de Usuarios DATAMINE - 48
-
Datamine Latin America Tutorial Script
________________________________________________________________________
O evento manipulador que vamos criar utiliza os métodos da biblioteca e propriedades
resumidas na tabela. Mais detalhes são dados nas seções abaixo:
method makeFieldsPicklist() Populate a select list with the names of the fields in a Datamine file
method browseForFile() Browse for a file table in the current Datamine Studio project
property projectFolder The folder that contains the current Datamine Studio project
11º Workshop DATAMINE do Brasil & 3º Conferencia Latino Americana de Usuarios DATAMINE - 49
-
Datamine Latin America Tutorial Script
________________________________________________________________________
Dê um duplo click no ítem tbIN1 encontrado no menu Script Outline (Estrutura do Script),
pressione em seguida o sinal +, para mostrar a lista de eventos, e dê um duplo clique em
onpropertychange. Essa escolha é melhor do que o evento onchange porque o
onchange é somente ativado se o valor na caixa de texto é mudado manualmente –
diretamente por digitação na caixa. O evento onpropertychange é ativado quando
qualquer propriedade (no caso a propriedade valor) necessita de mudanças.
O script que é executado quando o nome do arquivo de entrada muda usa o método
makeFieldsPicklist() para criar a lista dos nomes dos campo como mostrado abaixo:
function tbIN1_onpropertychange() {
if (event.propertyName =="value")
dm.makeFieldsPicklist (tbIN1.value, ddFieldsIN1, "BHID");
}
11º Workshop DATAMINE do Brasil & 3º Conferencia Latino Americana de Usuarios DATAMINE - 50
-
Datamine Latin America Tutorial Script
________________________________________________________________________
??Botão para escolha do arquivo de colares de entrada - btnBrowseIN1
function btnBrowseIN1_onclick() {
tbIN1.value = dm.browseForFile(dm.typeCollars, null,
false);
}
Adicione um evento onclick para a seleção do arquivo de saída. Isso irá trazer o arquivo
via browser.
function btnBrowseOUT1_onclick() {
tbOUT1.value = dm.browseForFile(dm.typePlot, null, true);
}
Observe que desta vez o terceiro argumento do browseForFile() é true – Nós queremos
permitir que seja especificado o nome para o novo arquivo. Copie o Javascript acima e
cole no seu script.
Adcione um evento onclick para que, ao clicar no botão de plotagem, o mesmo execute a
função btnCreatePlot_onclick().
function btnCreatePlot_onclick() {
dm.varsave(varfile, false);
dm.runMacro("collar1b.mac", "M1");
}
Este evento usa o método varsave() para salvar os valoes das variáveis para o arquivo
var. Os argumentos do varsave() são:
11º Workshop DATAMINE do Brasil & 3º Conferencia Latino Americana de Usuarios DATAMINE - 51
-
Datamine Latin America Tutorial Script
________________________________________________________________________
O evento também usa o método runMacro() para rodar a macro. Os argumentos são:
function btnLoad_onclick() {
dm.varload(varfile);
}
Este evento usa o método varload() para carregar os valores das variáveis do arquivo var.
O argumento do varload() é:
Adicione uma janela de evento onload. Este evento executa uma função tão logo a página
seja aberta, podendo desta forma ser utilizada para a inicialização. Quatro tarefas de
inicialização são necessárias para que se carregue o script fazendo com que ele rode
corretamente.
11º Workshop DATAMINE do Brasil & 3º Conferencia Latino Americana de Usuarios DATAMINE - 52
-
Datamine Latin America Tutorial Script
________________________________________________________________________
function window_onload () {
Os eventos definidos por nós usam métodos da biblioteca SLC (Script Library
Component) e temos nos referido a ela utilizando o objeto dm. Por exemplo, dm.varsave()
e dm.browseForFile(). Antes que estes métodos possam ser usados precisamos
estabelecer uma conexão entre o script e a SLC. Sua iniciação é feita utilizando o evento
Window onload. Entretanto para fazer isso do evento window onload nos precisaremos
definir dm como uma variável global. Essa prática não é recomendada se esta variável for
utilizada por outra biblioteca. Portanto definiremos dm para ser local em nosso script
colocando suas definições no início do script conforme pode ser visto abaixo:
function tbIN1_onpropertychange() {
11º Workshop DATAMINE do Brasil & 3º Conferencia Latino Americana de Usuarios DATAMINE - 53
-
Datamine Latin America Tutorial Script
________________________________________________________________________
A adição deste evento no script é sempre necessária uma vez que se utilizou o recurso da
janela de evento onload. A função deste evento é simplesmente liberar a memória
alocada quando a página foi carregada.
function window_onunload() {
dm.unLoadDmLib();
dm = null
}
??Edite a Macro
Antes de você rodar o script você precisará editar uma Macro e remover as declarações
de !PROMPT. O método runMacro() que você tem especificado no collar_plot_1.htm
chamam a macro collplot1b.mac. Portanto copie collplot1a.mac para collplot1b.mac e
remova as declarações !PROMPT. Você também pode remover o código inicial da macro
que estabelece valores ausentes para variáveis substitutas como todos os valores que
são estabelecidos no script. Alternativamente abra a versão referente da macro no
Notepad e clique no botão e use File | Save As para salvá-lo no seu
diretório do projeto Tutorial.
11º Workshop DATAMINE do Brasil & 3º Conferencia Latino Americana de Usuarios DATAMINE - 54
-
Datamine Latin America Tutorial Script
________________________________________________________________________
??Rodando o Script
Rode o Datamine Studio e selecione Tools | Run Script da barra de Menu principal. Todos
os defaults são estabelecidos e tudo o que você
precisa fazer é clicar no Create Plot button.
??Validação
Uma das melhores maneiras de aprender a escrever seu próprio Script é observar alguns
exemplos. Esta seção contém vários Scripts que ilustraram diferentes aspectos da
linguagem scripting.
11º Workshop DATAMINE do Brasil & 3º Conferencia Latino Americana de Usuarios DATAMINE - 55
-
Datamine Latin America Tutorial Script
________________________________________________________________________
8.1 Criação de um Protótipo de Modelo
??Objetos HTML
Os objetos HTML e os eventos correspondentes usados pelo Script são como a seguir:
11º Workshop DATAMINE do Brasil & 3º Conferencia Latino Americana de Usuarios DATAMINE - 56
-
Datamine Latin America Tutorial Script
________________________________________________________________________
Z Cell Size Text Box tbCellSizeZ onchange
??Métodos SLC
method browseForFile() Browse for a file table in the current Datamine Studio project
??Criando a Wireframe
O Wireframe é criado para definir uma string fechada ao redor de cada uma das seis
faces do modelo retangular fechando-o. Os campos dos modelos são numerados como
ilustrados aqui:
11º Workshop DATAMINE do Brasil & 3º Conferencia Latino Americana de Usuarios DATAMINE - 57
-
Datamine Latin America Tutorial Script
________________________________________________________________________
Se você grava um comando de base de dados tal como PROTOM que tem respostas
interativas então as respostas serão gravadas em aspas simples(‘ ‘). Estas aspas simples
são opcionais e podem ser removidas. Contudo você deve incluir um espaço entre cada
resposta interativa como é ilustrado no Script. Um espaço é inserido em uma String
característica como “ ”.
??Barra de Progressão
Você pode adicionar uma barra de progressão dentro do seu Script usando Insert /
Advanced / Active X Control / Microsoft Progress Bar Control, version 6. Se o Active
X Control é invalidado então tente usando o Microsoft Script Editor como a seguir:
Para o início da função principal defina a variável (delta) e estabeleça um número igual de
vezes que você irá atualizar o monitor (ex. 7). Expresso em forma de porcentagem.
Inicialize o valor de ProgressBar1.value. Para o fim da função você deve resetar o valor
para zero, para limpar a barra. Por exemplo:
11º Workshop DATAMINE do Brasil & 3º Conferencia Latino Americana de Usuarios DATAMINE - 58
-
Datamine Latin America Tutorial Script
________________________________________________________________________
Você pode também especificar quantos caracteres gostaria de conter em cada caixa de
texto. Sendo nesta também inserido um fundo (“background”). No início da função
principal defina a variável (delta) e faça que ela seja igual ao número de vezes que você
atualizará o monitor (eg.7). Expresse como porcentagem. Inicie o valor do Progress Bar.
Então você terá que inserir o número correto (eg.7) de atualização do Progress Bar no
código:
ProgressBar1.Value += delta;
ProgressBar1.Value = 0;
O máximo de caracteres nas caixas podem ser limitados. Podendo também conter uma
imagem de fundo estipulada pelo usuário.
No exemplo anterior ao rodar uma macro de um Script, todas as variáveis que foram
incluídas por ou através de uma macro (usando varsave e varload) foram especificadas
usando uma caixa de textos. Uma propriedade foi então adicionada para o nome de cada
caixa de texto e as variáveis seriam escritas pelo arquivo var. Se você quer transferir as
variáveis que são calculadas dentro do Script ao invés das especificadas pelo usuário, há
um meio alternativo de fazer isto como ilustrado pelo Script e
macro .
Neste exemplo o cálculo das dimensões de plot são definidas dentro do Script e as
variáveis são incluídas pela macro. Há várias outras diferenças do exemplo anterior,
portanto examine o Script e a macro cuidadosamente.
11º Workshop DATAMINE do Brasil & 3º Conferencia Latino Americana de Usuarios DATAMINE - 59
-
Datamine Latin America Tutorial Script
________________________________________________________________________
Em todos os exemplos anteriores os comandos para Design Window têm sido acessados
através do método de comando DCM ou do SLC básico. As sintaxes de ambos são
identificadas. Por exemplo:
11º Workshop DATAMINE do Brasil & 3º Conferencia Latino Americana de Usuarios DATAMINE - 60
-
Datamine Latin America Tutorial Script
________________________________________________________________________
??Exemplo Script
11º Workshop DATAMINE do Brasil & 3º Conferencia Latino Americana de Usuarios DATAMINE - 61
-