- ### Entendendo a Plataforma

  - Framework WALK
  - POSXML
  - WALK Compiler
  - WALK Server

- ### Framework WALK

  - Instalação
  - Aplicação Inicial
  - Gerando Licenças

- ### POSXML

  - POSXML introdução
  - A estrutura do POSXML
  - Variáveis e Memória
  - Sistema de Arquivos
  - Configuração
  - Lista de Comandos

- ### WALK Compiler

  - WALK Compiler introdução
  - Utilizando o WALK Compiler
  - Aprendendo a Programar

- ### WALK Server

  - WALK Server integração
  - Instalação
  - Configuração
  - Testes

- ### Integração

  - Integração introdução
  - Resumo da rede
  - Aplicação POSXML
  - Configurações
  - Carregando o aplicativo
  - Entendendo a comunicação

- ### Tutoriais

  - Configuração do terminal
  - Formato do pacote de dados
  - Resoluções de tela e impressão
  - Velocidade dos terminais
  - Configuração do teclado no Framework WALK
  - Interface gráfica para terminais Verix
  - Instalando o Framework a partir de outro terminal

- ### Instalando o chip GPRS

  - Terminais Nurit 8000
  - Terminais Ingenico i5100

- ### Ajuda

  - Perguntas Frequentes
  - Fornecedores de equipamentos e acessórios

# Variáveis e Memória

Variáveis e Memória

O Framework WALK é responsável por executar o aplicativo POSXML compilado, e ao ser instalado no terminal POS, assume toda a responsabilidade de gerenciamento de memória e dispositivos do mesmo. Sendo assim, para executar uma aplicação em um terminal POS, basta escrever um arquivo no formato POSXML, compilá-lo e enviá-lo ao terminal.

O conceito de tipos de variáveis é também presente na linguagem POSXML, onde as mesmas podem ser do tipo string ou inteiro. Cada comando da linguagem POSXML exige um tipo de variável, que está descrito na explicação do funcionamento das mesmas.

É possível converter variáveis do tipo inteiro para string e vice-versa, bastando para isso utilizar os comandos inttostring e stringtoint.

Variáveis do tipo double (ponto flutuante, decimal) também podem ser utilizadas. Para tal, utiliza-se variáveis do tipo string com a casa decimal separada por . (ponto), e não por , (virgula).

Existe uma limitação de 511 variáveis por aplicação POSXML, sendo 256 do tipo string com tamanho máximo de 1K (1023 caracteres, sendo que um é utilizado automaticamente pela plataforma para alocar o ‘\0’), e 255 do tipo inteiro.

Ao declararmos uma variável com os comandos variavelint ou variavelstr, esta ficará na memória da aplicação até que o terminal seja desligado. Por este motivo, devemos ter o cuidado de definir no começo de nossa aplicação todas as variáveis utilizadas e limpa-las para não ocorrer erros no decorrer de nosso aplicativo.

As variáveis são compartilhadas entre as páginas, portanto é possível utilizar variáveis declaradas na página principal nas páginas subsequentes, como páginas de tickets de impressão e outras lógicas.

Ao desligar o terminal ou ocorrer uma atualização da página principal do aplicativo, todas as variáveis são desalocadas e a memória da aplicação POSXML é totalmente limpa.

Atualmente existe um limite de memória de 32K para carregamento de páginas POSXML compiladas.

É possível ter em um mesmo aplicativo várias páginas, sendo que o único impedimento da plataforma é que esta não ultrapasse 32K após ser compilada.

Todo comando POSXML que possuir um parâmetro cujo o nome contenha a palavra variavel (ex: variavelretorno), é obrigatório passar uma variável para aquele parâmetro. A passagem de variáveis é feita com a nomenclatura $(nomeDaVariavel), conforme pode ser observado abaixo:

    <variavelstr valor="" variavel="strBuffer" />
    <display linha="0" coluna="0" mensagem="$(strBuffer)" />

Quando no nome do parâmetro não tiver a palavra variavel, é possível passar tanto uma constante quanto uma variável. A passagem de constantes é feita como em toda linguagem de programação:

    <display linha="0" coluna="0" mensagem="Hello World" />

Em variáveis string, ainda é possível passar para o comando apenas um trecho indexado da variável, assim como em outras linguagens de programação, utilizando ponteiros de variáveis.

No exemplo abaixo, a seguinte string seria exibida: H

    <variavelstr valor="Hello World" variavel="strBuffer" />
    <variavelint valor="0" variavel="intIndex" />

    <display linha="0" coluna="0" mensagem="$(strBuffer[$(intIndex)])" />

No exemplo abaixo, a seguinte string seria exibida: e

    <variavelstr valor="Hello World" variavel="strBuffer" />
    <variavelint valor="1" variavel="intIndex" />

    <display linha="0" coluna="0" mensagem="$(strBuffer[$(intIndex)])" />

No exemplo abaixo, a seguinte string seria exibida: ello World

    <variavelstr valor="Hello World" variavel="strBuffer" />
    <variavelint valor="1" variavel="intIndex" />

    <display linha="0" coluna="0" mensagem="$(!strBuffer[$(intIndex)])" />

Neste último exemplo foi especificado o símbolo ! para que seja exibido os caracteres da posição definida em intIndex até o final da string. Quando o símbolo ! é omitido, somente o caracter definido na posição de intIndex é exibido no display do terminal POS.

Próximo: Sistema de Arquivos →