Biblioteca terminal

Este é um módulo prisma em C com funções básicas para o terminal (ou cmd do Win);

 

Funções como mudança de título, de cor, coordenada do cursor, captura de tecla sem precisar pressionar o Enter etc.

Está incluso em Prisma-1.0.102 ou superior (Linux e Win)

Caso queira baixar os fontes clique aqui:  <<baixar>>

Obs. Se já baixou Prisma-1.0.102 ou superior para Windows não precisará compilar pois já está disponível terminal.dll, em Linux é preciso, visto que só está disponível os fontes da versão 1.0.104.

Para compilar em Linux, descompacte o arquivo terminal.7z entre na pasta terminal e execute compila.sh. Necessita ter instalado a lib em C Readline para as funções term.leia() e term.ad_historico(). Caso não queira compilar usando o Readline, abra o arquivo terminal.c, na linha 37 apague as duas barras // em //#define _NO_READLINE. Abra também o script compila.sh e apague  -lreadline   em libs=” -lreadline “; deixando assim: libs=” “;

Vamos aos exemplos:

Para incluir use:   local term = inclua’terminal’;

1 – Imprimindo a versão da lib:

imprima(term.versao) //–> lib terminal-1.0.2

2 – Mudando o título da janela do terminal:

term.defTitulo(‘Mudei o Título’);

Observe que mudou o título do terminal.

3 – Mudando a cor de fundo e da letra:

Obs.: veja as cores disponíveis no final no item 11.

4 – Voltando ao padrão – cor da letra e cor de fundo default:

 

5 – Limpando a tela (cls no Win e clear no Linux):

 

6 – Definindo uma nova posição para o cursor do terminal (cursor de escrita, não o do mouse):

Coloca o cursor na linha: 1 e na segunda letra.

7 – Colocando o cursor no início: (o mesmo que term.cursorPos(1,1) );

8 – Obtendo o tamanho do terminal:

Obs.: Alt = número de linhas na escrita. Larg = número de letras na horizontal. Portanto não é o tamanho da janela, mas do espaço de escrita.

9 – Obtendo uma tecla pressionada (semelhante ao leia() ) sem precisar pressionar ENTER, a tecla aparece digitada no terminal:

Esta função deixa visível a tecla pressionada.

10 – Obtendo uma tecla pressionada sem precisar pressionar ENTER, a tecla não aparece no terminal:

 

Detalhe: o retorno é um número da tecla, portanto use a função car(s) para converter para caractere.

Caso você tenha compilado com a lib Readline estará disponível (somente em Linux) duas funções extras:

 

Extra 1:  função term.leia(); igual a função leia() mas permite passar um texto como prompt e além disso torna possível buscar um histórico de comandos digitados usando as teclas: cima / baixo. (up, down) do teclado.

 

 Extra 2: função para criar um histórico dos textos digitados anteriormente, sem ele não é possível usar as teclas cima/baixo para buscar o histórico.

Exemplo de histórico:

 

 

11 – Cores disponíveis:

term.preto.
term.azulclaro
term.verdeclaro
term.cianoclaro
term.vermelhoclaro
term.magentaclaro
term.amareloclaro
term.cinzaclaro
term.cinza
term.azul
term.verde
term.ciano
term.vermelho
term.magenta
term.amarelo
term.branco

 

Exemplo de código:

 

Recorte de tela:

terminal

 

Mesmo sem ter o readline é possível simular o histórico usando apenas as funções básicas do terminal, veja:

Usamos uma tabela prisma para formar o histórico.

Use as teclas cima/baixo do teclado para ver o histórico digitado anteriormente.

Criando uma função que lê senhas:

 

 

 

Por enquanto é isso.

Falou, pessoal, até a próxima.

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *