Buscar

Treinamento Script

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 75 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 75 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 75 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Utilização de HTML/Javascript em 
Datamine Studio
Rafael A. Souza
rafael.souza@dataminesoftware.com
Programação
• Conteúdo
• Noções das linguagens HTML, Javascript e processos Datamine;
• Customização de processos Datamine utilizando processos internos e
comandos gráficos;
• Utilização das bibliotecas DatamineStudio (ScriptHelper) e FSO
(FileSystemObject).
• Parte prática
• Visa a aplicação do aprendizado do curso na prática.
Introdução
• O uso de scripts em conjunto com o Datamine Studio possui
diversas vantagens, podemos citar entre as mais importantes:
• Utiliza Javascript, uma linguagem simples, prática (não precisa ser
compilada e possui processos muito simples) e largamente utilizada
com uma vasta bibliografia gratuita disponível na Internet;
• Possibilita rodar tanto comandos internos quanto comandos gráficos
no Datamine. Macros por exemplo, só possibilitam rodar processos
internos;
• O uso de uma linguagem de programação como Javascript,
potencializa as possibilidades de customização de processos devido a
grande gama de frameworks e bibliotecas disponíveis;
• Javascript pode ser utilizada como ponte entre o Datamine e outros
softwares utilizados largamente, como programas do office.
As 3 Linguagens
• Para a criação de um script é necessário o conhecimento de 3
linguagens:
HTML
Javascript
Datamine API
• Você não precisa ser expert nessas linguagens para criar um
script, mas quanto mais conhecimento tiver nelas, melhor e
mais organizado seu script será.
• Um script eficiente, sem dúvida usará bem a combinação
entre estas 3 linguagens junto com conceitos de estrutura de
software.
Linguagem HTML
• O que é HTML?
• HTML é uma linguagem para descrever as páginas web.
• HTML significa Hyper Text Markup Language
• HTML não é uma linguagem de programação, é uma linguagem de 
marcação
• HTML utiliza tags de marcação para descrever as páginas web
Linguagem HTML
• Tags HTML
• Tags de marcação HTML são normalmente chamadas de tags HTML
• Tags HTML são palavras-chave entre parenteses angulares como <html>
• Tags HTML normalmente vêm em pares, como <b> e </ b>
• A primeira tag do par é a tag de início, a segunda tag é a tag final
• Tags de início e fim também são chamadas de tags de abertura e 
fechamento
• Forma geral
• <tag attr1=“valor1” attr2=“valor2”.....> Filho 
</tag>
Linguagem HTML
• Documentos HTML = Páginas Web
• Documentos HTML contém tags HTML e texto simples
• Os documentos HTML são também chamados de páginas web
• O objetivo de um navegador web(como Internet Explorer ou 
Firefox) é interpretar os documentos HTML e exibí-los como 
páginas web no formato de visualização que estamos 
familiarizados. 
Linguagem HTML
Linguagem HTML
<html>
<body>
<h1>Meu primeiro título</h1>
<p>Meu primeiro parágrafo</p>
</body>
</html>
Explicação do exemplo acima:
O texto entre <html> e </ html> descreve a página web
O texto entre <body> e </ body> é o conteúdo visível da página
O texto entre <h1> e </ h1> é exibido como um título
O texto entre <p> e </ p> é exibido como um parágrafo
Linguagem HTML
• Onde pode ser editado?
• Qualquer editor de texto simples ou avançado (Notepad, Notepad++, 
SublimeText, Web Developer, Visual Studio, Eclipse Free Script 
Editor...)
• Independente do editor, recomendamos que o escolhido seja sintax
highlight
Linguagem HTML
• Algumas considerações
• A maioria das tags são fechadas com “/”;
• Exemplo: <tag início> Texto </tag fim>;
• A ordem em que as tags são fechadas importa;
• Tags HTML não são case sensitive: <P> significa o mesmo que <p>.
• Extensão HTM ou HTML?
• Você pode usar qualquer uma das duas, HTM ou HTML;
• É bom sempre adotar padrões, então use só HTM ou só HTML em seus 
arquivos.
Linguagem HTML
• Cabeçalhos
<h1>This is a heading</h1>
<h2>This is a heading</h2>
<h3>This is a heading</h3> 
• Parágrafos
<p>This is a paragraph.</p>
<p>This is another paragraph.</p> 
• Links
<a href="http:\\www.dataminesoftware.com">This is a link </a> 
• Imagens
<img src=“dm_logo.jpg" width="104" height="142" /> 
Linguagem HTML
• Linhas
<hr />
• Quebra de linha
Use a tag <br /> se você quiser uma quebra de linha (uma nova linha), 
sem iniciar um novo parágrafo:
<p>Isso é <br />um para<br />grafo com quebras de linha</p> 
• Comentários
<!-- This is a comment --> 
Linguagem HTML
• Atributos HTML
• Tags HTML podem ter atributos, os quais fornecem informações 
adicionais sobre um elemento. Os atributos são sempre especificados 
na tag inicial.
• Mais importantes são tags de identificação
• Os valores dos atributos são sempre encapsulados por aspas duplas.
• Exemplo:
• Links em HTML são definidos com a tag <a>. O endereço do link é 
especificado no atributo href:
<a href=" http://www.dataminesoftware.com ">This is a link</a> 
Linguagem HTML
• Tags de formatação HTML
• Texto em negrito <b> ou <strong>
• Texto sublinhado <u>
• Texto em itálico <i>
• Texto grande <big>
• Texto enfatizado <em>
• Texto pequeno <small>
• Texto subscrito <sub>
• Texto sobrescrito <sup>
Linguagem HTML
• Tabelas
<table border="1">
<tr>
<th>Cabeçalho 1</th>
<th>Cabeçalho 2</th>
</tr>
<tr>
<td>linha 1, coluna 1</td>
<td>linha 1, coluna 2</td>
</tr>
<tr>
<td>linha 2, coluna 1</td>
<td>linha 2, coluna 2</td>
</tr>
</table> 
Linguagem HTML
• Atributo Style em HTML
• Utilizado para definir fonte (como tipo, tamanho e cor), cor de plano 
de fundo, alinhamento entre outros.
<h1 style="text-align:center">This is a heading</h1>
<p style="background-color:green">This is a paragraph.</p>
<p style="font-family:arial;color:red;font-size:20px;">A paragraph.</p>
Linguagem HTML
• Formulários
• Os formulários HTML são usados para transmitir dados para um 
servidor. Um formulário pode conter elementos de entrada, como 
campos de texto, checkboxes, botões de radio, botões e muito mais.
• A tag <form> é usada para criar um formulário HTML:
<form>
.
input elements
.
</form>
Linguagem HTML
• Formulários
• Text
<form>
Nome Completo: <input type="text" name=“nome" /><br />
Endereço <input type="text" name=“endereco />
</form> 
• Password
<form>
senha: <input type="password" name="pwd" />
</form> 
Linguagem HTML
• Formulários
• Radio
<form>
<input type="radio" name="sex" value=“masculino" /> Masculino<br />
<input type="radio" name="sex" value=“feminino" /> Feminino
</form> 
• Checkbox
<form>
<input type="checkbox" name=“veiculo" value=“moto" /> I have a bike<br />
<input type="checkbox" name=“veiculo" value=“carro" /> I have a car</form> 
Linguagem HTML
• Formulários
• Select
<select>
<option value="volvo">Volvo</option>
<option value="saab">Saab</option>
<option value="mercedes">Mercedes</option>
<option value="audi">Audi</option>
</select>
• Textarea
<textarea rows="10" cols="10"></textarea>
Linguagem HTML
• Formulários
• Botão
<td><input type="button" value=“EXECUTAR"></td>
Linguagem HTML
• Exercícios:
• Criar uma pagina com uma tabela de funcionários de uma empresa
com as colunas de nome, cargo, setor(Minimo 3 funcionários).
• Crie na mesma página do exercício anterior um formulário com nome 
de funcionario, data de nascimento, sexo (feminino e masculino), 
formação acadêmica , setor ,cargo e benefícios. Como no exemplo 
mostrado.
• Para casa: Formate a página com o formulário criado dentro de uma 
tabela.
Linguagem Javascript
• O que é Javascript?
• Javascript é uma linguagem de programação leve, comumente 
embutida diretamente em páginas HTML;
• Javascript é uma linguagem interpretada (significa executar scripts 
sem compilação preliminar);
• Largamente utilizada em aplicações web para dar dinamicidade as 
páginas carregadas.
• Todos podem usar o Javascript sem a aquisição de uma licença.
• O interpretador da linguagem vem embutido nos navegadores.
Linguagem Javascript
• Java e Javascript são a mesma coisa?
• Não! Java e Javascript são duas linguagens totalmente diferentes em
conceito e design. Java é uma linguagem de programação poderosa e
muito maiscomplexa feita para desenvolvimento de grandes sistemas
- está na mesma categoria de linguagens como C++.
Linguagem Javascript
• Onde o script geralmente se encontra na página HTML?
<head> 
<script language=“javascript”>
function nomeDaFuncao1() { 
… código a ser executado
}
function nomeDaFuncao2() { 
…código a ser executado
}
</script>
</head>
Linguagem Javascript
• Declarando variáveis:
• Você declara variáveis em Javascript com a palavra-chave var
var numero;
var carBrand;
• Depois da declaração mostrada acima, as variáveis estão vazias. 
Entretanto, você pode associar valores às variáveis quando as declara.
var numero = 5;
var carBrand = “Volvo”;
Linguagem Javascript
• Tipos Básicos
• Número:
Var num = 5;
• Texto:
Var nome = “datamine” ou var nome = ‘datamine’
• Booleano:
Var decide = true;
Var decide = false;
Linguagem Javascript
• Operadores
• Aritméticos
-, +, *, /, %, ++, --
• Comparação
===, ==, <, >, !=, <=, >=
• Lógicos
&&, ||, !
Linguagem Javascript
• Sintaxe
// comentário até o fim da linha
/* bloco de comentário */
O terminador de instruções é ;
Blocos de instruções definidos por { }
Linguagem Javascript
• Sintaxe
• If
if (condição) {
código a ser executado se condição é verdadeira
}
• If ... Else
if (condição) {
código a ser executado se condição é verdadeira
}
else {
código a ser executado se condição não é verdadeira
}
Linguagem Javascript
• Sintaxe
• If ... else if ... else
if (condição1) {
código a ser executado se condição1 é verdadeira
}
else if (condição2) {
código a ser executado se condição2 é verdadeira
}
else {
código a ser executado se condição1 e condição2 não são
verdadeiras
}
Linguagem Javascript
• Sintaxe
• Loop for
for (variavel=incial;variavel<=final;variable=iteracao) {
code to be executed
}
• Loop while
while (variable<=endvalue) {
code to be executed
variable = variable + 1;
}
Linguagem Javascript
• Evento
• Em computação um evento é uma ação ou ocorrência detectado por 
um programa que por sua vez delega ,caso especificado, uma ação ou 
conjunto de ações que são executadas no momento em que o mesmo 
ocorre.
• Um clique de mouse é um exemplo de evento como ação
• O final do carregamento de uma página HTML é um evento que é 
uma ocorrência.
• No caso dos scripts feitos com javascript e HTML são os navegadores 
WEB os responsáveis por “escutar” os eventos
Linguagem Javascript
• Funções
• Uma função é um bloco de código que executa isoladamente dos
outros, ela pode ou não retornar um valor a sua chamada. Para a
ligação dos nossos eventos podemos chamar uma função. Veremos
depois como podemos utiliza-las em diversos eventos
Linguagem Javascript
• Objeto Math
• round
alert(Math.round(4.7));
• max
alert(Math.max(0,150,30,20,38));
• min
alert(Math.min(0,150,30,20,38));
• floor
alert(Math.floor(4.7));
• pow
alert(Math.pow(4,2));
Linguagem Javascript
• Objeto String
• length
var txt = "Hello World!";
document.write(txt.length);
• toLowerCase e toUpperCase
var txt="Hello World!";
document.write(txt.toLowerCase() + "<br />");
document.write(txt.toUpperCase());
Linguagem Javascript
• Objeto String
• split
<script type="text/javascript">
var str="How are you doing today?";
document.write(str.split() + "<br />");
document.write(str.split(" ") + "<br />");
document.write(str.split("") + "<br />");
document.write(str.split(" ",3));
</script>
Linguagem Javascript
• Objeto Lista
Listas são estruturas nativas do Javascript que servem para guardar uma 
coleção de objetos:
Ex: var lista = [] ou var lista = new Array();
var lista = [1,2,3];
var lista = [“João”,2,true];
Listas não precisam guardar objetos do mesmo tipo. Além disso podemos 
crescer a lista dinamicamente.
Linguagem Javascript
• Objeto Lista
É possível saber o tamanho de uma lista através do atributo length:
Ex: var lista = [4,5,6];
document.write(lista.length) >>”3”
Para inserir um item na lista utilizamos o método push
Ex: var lista = [1,2,3];
lista.push(4) >> [1,2,3,4]
Para remover itens utiliza-se o pop ou splice
Ex: var lista = [1,2,3];
lista.pop() >> [1,2] ou lista.splice(0,2) >> [3]
Linguagem Javascript
• Objeto Lista
Podemos concatenar duas listas através do método concat
Ex: var lista1 = [1,2,3]; 
var lista2 = [4,5,6];
lista1.concat(lista2) >>[1,2,3,4,5,6]
Para listas de strings existe o método join que concatena os items da lista 
por outra string.
Ex: var lista1 = [“a”,”b”,”c”]; 
lista1.join(“-”) >>”a-b-c”
Linguagem Javascript
• São os eventos os responsáveis por ligar ações tomadas pelo 
usuário nas páginas HTML com código javascript:
Linguagem Javascript
• A identificação das tags HTML são importantes porque dessa
forma podemos acessar os atributos dessas tags no código
javascript. É por esse recurso que é possível por exemplo
executar um comando Datamine utilizando o arquivo de
entrada digitado por um usuário em um campo de formulário.
Métodos de exibição de janelas
• Existem três métodos que são normalmente utilizados:
• alert() – exibe uma mensagem ao usuário
• confirm() – solicita que o usuário clique em um botão OK ou Cancelar 
para confirmar ou cancelar uma operação
• prompt() – solicita que o usuário digite uma sequência de texto ou 
valores
• Todos esses métodos exibem um diálogo simples na tela que 
são chamados de popup
Linguagem Javascript - DOM
• Document Object Model
• Com Javascript e possível criar e destruir dinamicamente código HTML na
página em que o código está sendo utilizado , isso é útil quando queremos
atualizar dinamicamente uma tabela com os dados que o usuário inseriu
em um formulário
• Cada elemento de uma HTML pode ser recuperado no código através das
funções document.getElementById, document.getElementsByName,
document.getElementsByTagName
Linguagem Javascript - DOM
• É possível ainda escrever os filhos internamente de tags html em tempo 
de execução através do atributo innerHTML
Linguagem Javascript
• Exercícios:
• Criar um evento de clique de botão com o último exercício que mostra
todos os valores no formulário que são do tipo texto em um alert.
• Crie uma lista HTML vazia abaixo do formulário e quando o usuário
clicar no botão a mesma deve ser atualizada com o nome inserido no 
formulário.
• Desafio: Ao invés de atualizar a lista vazia, atualizar a tabela com 
nome cargo e setor.
FSO - FileSystemObject
• Biblioteca disponibilizada pela Microsoft para que possamos gerenciar os 
arquivos e pastas no sistema operacional
Ex: var fso = new ActiveXObject("Scripting.FileSystemObject");
• Basicamente existem dois componentes que podem ser manipulados com 
o FSO.
• Pastas
• Arquivos
FSO - FileSystemObject
FSO - FileSystemObject
FSO - FileSystemObject
• Lendo informações em um arquivo TXT
FSO - FileSystemObject
• Inserindo informações em um arquivo TXT
Exemplo: Criar e Deletar Pastas
Exemplo: Manipulação de Arquivos
FSO - FileSystemObject
• Exercicio 1: Escrever um script com um botão que cria uma pasta no 
endereço que está definido em uma caixa de texto, e um botão de deletar
a pasta.
• Exercicio 2: Crie um arquivo com uma lista de 5 nomes e um script que lê
esses nomes colocando o mesmo em uma lista ordenada na página web 
do script
• Desafio: Crie um script que lê os dados do arquivo cliente e crie uma
tabela html com tais dados.
Estrutura dos arquivos Datamine
• Strings
• Pontos
• Wireframes (TR e PT)
• Modelo de Blocos
• Drillholes
Estrutura dos arquivos Datamine
• Strings
Campos de formatação
Campos de coordenadas
Campos estruturais
Estrutura dos arquivos Datamine
• Estrutura de um arquivo de strings
1
2
3
4
5
PVALUE 1 – 5 PTNs
Estrutura dos arquivos Datamine
• Estrutura de um arquivo de strings
1
2
3
2
3
PVALUE 1 – 3 PTNs
PVALUE 2 – 3 PTNs
1
Estrutura dos arquivos Datamine
• Pontos
Estrutura dos arquivos Datamine
• Wireframes
• Os wireframes são compostos por 2 arquivos:
• PT- Informação dos pontosda triangulação
• TR- Triangulação
Estrutura dos arquivos Datamine
Arquivo PT Arquivo TR
Estrutura dos arquivos Datamine
• Modelo de Blocos
Linguagem Datamine
Opções de manipulação de 
arquivos (processos 
internos)
Comandos de design
Gravando e executando Scripts
• Exercício 1:
• Abrir o projeto Scripting Tutorial.Start Point localizado em 
C:\Database\DMTutorials\Projects\S3ScriptTut\ProjFiles\Standard\
• Iniciar a gravação de um script
• Executar os comandos
• MGSORT (para os arquivos de collar, assay, lithology e survey)
• JOIN (arquivos tempcollars e tempassays→ temp1)
• HOLMER (arquivos temp1 e templith→ temp2)
• DESURV (arquivos temp2 e tempsurvey→ dholes)
• DDLIST (dholes)
• Parar a gravação do script e executá-lo na aba Customization
Entendendo os scripts no DM Studio 3
• As primeiras linhas de código HTML contém informações de 
cabeçalho. As próximas linhas contém algumas variáveis que 
vão ser usadas dentro do script.
• Na sequência da declaração das variáveis, estão as três 
funções principais que fazem a maioria dos trabalhos:
• AutoConnect(): cria instâncias de objetos chamados oDmApp e oScript que 
permite a conexão com o Studio 3 e utilização da biblioteca auxiliar de script, 
respectivamente, é ativada com o evento de carregamento de página;
• btnExecute_onClick(): executa a sequência de comandos que foram gravados, 
onde posteriormente será editado;
• btnHelp_onClick(): executa o arquivo de ajuda.
• No final está o código HTML que descreve a interface.
Formato de um processo DM
• Quando gravamos um script automaticamente no studio 3 , 
por exemplo um mgsort, o formato do comando dentro do 
script é:
oDmApp.ParseCommand("mgsort &IN=ttemp1 &OUT=ttemp3
*KEY1=PVALUE *KEY2=PTN {FLAG=2}");
Sintaxe:
nome do comando
& - nome de arquivo
* - nome de campo
@ - parâmetro
{} campo
Criando interface para pesquisa
var oDmApp = null;
var oScript = null;
var oDmBrowser;
function window_onload() {
AutoConnect();
}
function AutoConnect() {
oScript = new ActiveXObject(“DatamineStudio.ScriptHelper”);
oScript.initialize(window);
oDmApp = oScript.getApplication();
if (oDmApp== null)
return false;
else
return true;
}
Criando interface para pesquisa
function btnOK_onclick() {
if (tpInputFile.value != “” && tbOutputFile.value != “”)
var theCommand = “copy &in=“ + tbInputFile.value + “ &out=“ + tbOutputFile.value;
if (tbRetrieval.value != “”)
theCommand += “ {“+ tbRetrieval.value + “}”;
oDmApp.ParseCommand(theCommand);
}
Criando interface para pesquisa
function DisplayBrowser() {
oDmBrowser = oDmApp.ActiveProject.Browser;
oDmBrowser.TypeFilter = oScript.DmFileType.dmNothing;
oDmBrowser.Show(false);
return oDmBrowser.FileName;
}
function btnBrowse1_onclick() {
tpInputFile.value = DisplayBrowser()
}
function btnBrowse2_onclick() {
tpInputFile.value = DisplayBrowser()
}
Tipos de Arquivos
dmString
dmPoint
dmWireframe
dmWireframePoint
dmBlockModel
dmDrillHole
Gravando e executando Scripts
• Exercício 1:
• Crie um formulário com um botões de browser para cinco arquivos, 
collar, assay, survey ,litoe uma saída desejada;
• Ordene cada arquivo de entrada por BHID
• Crie um arquivo de furos único com as 3 entradas e o comando 
HOLES3D
• Atualize os furos na tela com um comando via script
Acessando registros
• Biblioteca DmTableADO
var oDmFile = new ActiveXObject("DmFile.DmTableADO");
oDmFile.Open(oDmApp.ActiveProject.Folder +"\\”+arquivo_saida.value+”.dm",true);
oDmFile.MoveFirst();
var teor = oDmFile.GetColumn(3);
oDmFile.MoveNext();
var tonelagem = oDmFile.GetColumn(2);
oDmFile.Close();
alert(“Tonelagem = “ + tonelagem + “\n Teor = “ + teor + “”);
var nRecs = oDmFile.GetRowCount();
Prática de Exercícios
• Exercício 1:
• Escrever um script para entrar com um arquivo de strings e calcular o
comprimento da string.
Prática de Exercícios
• Exercício 2:
• Criar script para calcular tonelagem de minério e teor médio de um
modelo de blocos, segundo um filtro pré-determinado em uma caixa
de texto.
oScript.makeFieldsPicklist(Text2.value, Select11);
Alameda Oscar Niemeyer, 360 | 7° andar
Nova Lima - MG | Brasil | 34.000-000
Tel.: +55 (31) 3264 9377
www.dataminesoftware.com

Continue navegando