Árvore de páginas

As Includes

Para a construção de um programa, utilizando as templates, é necessário a instância de duas includes.

Includes são partes de códigos, que são incluídos dentro de um arquivo, separado do arquivo do programa, sendo que ao compilar o programa, essa parte do código é copiada na integra para dentro do executável do programa, a partir do ponto onde foi declarado a include.

As includes criadas exclusivamente para as templates são a BC9200.h e a BC9200a.h. Elas estarão disponíveis na pasta 'Fontes', criada pelo programa de instalação “bc_coletor_batch.exe” no local definido pelo usuário quando solicitada a execução.

As includes somente podem ser alteradas pela Datasul, pois todos os programas dependem delas.

BC9200a.h

Contém as declarações de alguns pré-processadores, a declaração da estrutura necessária para a construção das telas, e a declaração das funções das templates.

BC9200.h

Contém as funções responsáveis por toda a template, a qual abrange inicialização do scanner, validações de tela, construção de tela, impressão de campos, leitura de campos e gravação de arquivo.


As funções dessa include serão descritas abaixo:

Valida_tela 

int valida_tela (short ini_reg, short fim_reg)

Funcionalidade:

Validar se a tela construída se adapta ao tamanho pré-determinado da tela, caso contrario, chama a função mostra_erro que apresenta na tela qual a divergência com os campos.

Parâmetros:

Recebe dois valores do tipo short, que são os índices inicial e final da tela.

Retorno:

Retorna um valor inteiro 1, caso os campos possam ser distribuídos sem divergências na tela, caso contrario, retorna 0. 

Constrói_tela

 void constrói_tela(char *titulo_tela, short ini_reg, short fim_reg)

Funcionalidades:

Imprime o título, utilizando a função centra_msg, imprime os labels na tela, calcula as coordenadas iniciais dos campos a serem preenchidos, alimentando a estrutura, e chama a função inicializa_campos.

Parâmetros:

Recebe um ponteiro de char para o título da tela, e valores do tipo short, que são os índices inicial e final da tela.

Retorno:

Nenhum 

int_to_float

void int_to_float(char impressao[], short decimais)

Funcionalidade:

Converte uma string com formato inteiro para uma string com um valor em formato decimal, conforme os parâmetros passados.

Parâmetros:

Recebe um ponteiro para a string que contém os valores sem decimais (impressão), e o número de decimais que deve conter a string retornada.

Retorno:

Altera o valor que está sendo apontado pelo ponteiro impressão, para o valor com decimais. 

le_campos

short le_campos(short ini_reg, short fim_reg)

Funcionalidade:

Faz a leitura dos campos passados, utilizando a função GetData.

Parâmetro:

Recebe dois valores do tipo short, que são os índices inicial e final da tela.

Retorno:

Retorna 0, caso todos o campos tenham sido lidos, e 1 se a leitura tenha sido abortada com a tecla “clear”. 

GetData

short GetData (unsigned char mode, short line, short column, short width, char data_buffer[20], char *tipo_dado, short decimais).

Funcionalidades:

Faz a leitura do campo, caracter a caracter, validando a entrada de somente números ou alfa-numéricos, conforme tipo de dados, chama a função imprime_campos a cada caracter lido para atualizar a tela.

Parâmetros:

Recebe o modo de leitura (se vai ser com scanner, com teclados ou ambos), deve ser alimentado com os pré-processadores definidos no programa: CON_KEY_ONLY, CON_KEY_OR_SCAN, OU CON_SCAN_ONLY.

Recebe também a linha inicial (line), e a coluna inicial (column) para ser lido o campo, o tamanho do campo (width), o ponteiro para o valor a ser lido (data_buffer), o ponteiro para especificação do tipo de dado (tipo_dado), e o número de decimais ou número de casas para impressão de ano, no caso de data (decimais).

Retorno:

Retorna 0, caso o campo tenham sido lido, e 0 se a leitura tenha sido abortada com a tela “clear”. 

Initialize

short initialize(void).

Funcionalidades:

Inicializa o scanner com a estrutura IOCTL. Essa função pode ser customizada, para a configuração do scanner, caso o desenvolvedor conheça a estrutura IOCTL do scanner.

Parâmetros:

Nenhum

Retorno:

Retorna se houve ou não erro durante a inicialização. 

Grava_registro

int grava_registro(char *registro, char nome_arg[])

Funcionalidade:

Grava o registro no fim do arquivo especificado.

Parâmetros:

Recebe um ponteiro para a string a ser gravada (registro), e um ponteiro para o nome do arquivo, onde será gravada a string (nome_arg).

Retorno:

Retorna 0, caso a string tenha sido gravada corretamente, ou o índice do erro correspondente, caso tenha acontecido algum erro durante a gravação. 

Centra_msg 

void centra_msg(unsigned char lin, char *msg, unsigned char video)

Funcionalidade:

Imprime a mensagem centralizada.

Parâmetros:

Recebe a linha a ser impressa, um ponteiro para a string a ser impressa, e o tipo de vídeo (que podem ser utilizados os pré-processadores VIDEO_NORMAL ou VIDEO_INVERSE).

Retorno:

Nenhum. 

valida_data

short valida_data(char data[], short casas_ano)

Funcionalidades:

Valida a data recebida.

Parâmetros:

Recebe a string com a data e o número de casas do ano.

Retorno:

Retorna 0, caso a data seja invalida, e 1 se a data estiver ok. 

conv_type

void conv_type(char str_dec[])

Funcionalidade:

Converte o formato de números de europeu para americano e americano para europeu, conforme definição da constante NUM_TYPE.

Parâmetros:

Recebe a string com o número decimal.

Retorno:

Nenhum.