Escolar Documentos
Profissional Documentos
Cultura Documentos
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
• 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 mais complexa 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">
</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
Campos de formatação
Campos de coordenadas
Campos estruturais
Estrutura dos arquivos Datamine
• Estrutura de um arquivo de strings
1 5
3
PVALUE 1 – 5 PTNs
Estrutura dos arquivos Datamine
• Estrutura de um arquivo de strings
2
1
1 3
3
PVALUE 1 – 3 PTNs
PVALUE 2 – 3 PTNs
Estrutura dos arquivos Datamine
• Pontos
Estrutura dos arquivos Datamine
• Wireframes
• Os wireframes são compostos por 2 arquivos:
• PT- Informação dos pontos da triangulação
• TR- Triangulação
Estrutura dos arquivos Datamine
Arquivo PT Arquivo TR
Estrutura dos arquivos Datamine
• Modelo de Blocos
Linguagem Datamine
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 (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; Tipos de Arquivos
}
dmString
dmPoint
function btnBrowse1_onclick() {
dmWireframe
tpInputFile.value = DisplayBrowser() dmWireframePoint
} dmBlockModel
dmDrillHole
function btnBrowse2_onclick() {
tpInputFile.value = DisplayBrowser()
}
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
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