TMACUL

LINGUAGEM SPEL (Continuação) 29/09/2015

Blog Post created by TMACUL Champion on Jan 1, 2016

LINGUAGEM SPEL (Continuação)

Todos os objetos nativos da SDM possuem os métodos "method_list" e "method_info". Estes métodos servem para detalhar o modo de funcionamento de cada método existente na ferramenta.

É quase como um manual de utilização da API (#sqn) e no mínimo ajuda muito aos usuários que querem aprender novas técnicas na linguagem.

Abaixo segue uma função que desenvolvi para "exibir o help" de todos os métodos do objeto "api". Quem for mais curioso ainda, aproveite pra consultar o objeto "macro".

Garanto que tem muita coisa boa...

 

// Define o objeto que sera consultado

string zs_object;

zs_object = "api";

 

// Consulta todos os metodos do objeto

send_wait(0, top_object(), "call_attr", zs_object, "method_list");

if (msg_error()) {

logf(ERROR, "ERRO ao consultar a lista de metodos disponiveis: %s", zs_metodo, msg[0]);

return;

}

int zi_count_list;

zi_count_list = msg_length();

 

// Armazena o nome de todos os metodos encontrados em um array

string zs_array[200];

int zi_i, zi_j;

for (zi_i=1; zi_i<zi_count_list; zi_i++) {

zs_array[zi_i] = msg[zi_i];

}

 

// Consulta e exibe as informacoes de cada metodo encontrado

for (zi_i=1; zi_i<zi_count_list; zi_i++) {

send_wait(0, top_object(), "call_attr", zs_object, "method_info", zs_array[zi_i]);

if (msg_error()) {

logf(ERROR, "ERRO ao consultar o metodo '%s': %s", zs_array[zi_i], msg[0]);

}

for (zi_j=0; zi_j<msg_length(); zi_j++) {

if (zi_j == 0) printf("Nome : %s\t(%s)\n", msg[zi_j], msg[zi_j+1]);

if (zi_j == 2) printf("Parametros: %s\n\n", msg[zi_j]);

}

}

 

Até a próxima.

 

 

Publicado Originalmente: 29 de setembro de 2015 às 10:04

Em: CA SDM Brasil - facebook

Por: daniel-bighelini

Outcomes