Imagine que você queira disponibilizar seu programa prisma sem precisar instalar o interpretador, apenas usando um executável do programa. É exatamente para isso que serve o auto interpretador. É um interpretador normal com uma grande diferença, ao ser executado sem passar nenhum argumento ele não irá abrir o console interativo, em vez disso, ele…
Continue readingMonth: setembro 2015
Formatando números e strings (básico)
Em algumas vezes você pode querer limitar a quantidade de números depois do ponto decimal, ou a quantidade de zeros à esquerda de um número, ou ainda, colocar aspas internamente em uma string. Para isso vamos usar a função da biblioteca string: string.formate( str_format , … ) Veja o exemplo abaixo comentado:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 |
//exemplo de uso da funcao string.formate: //determinando o número de casas apos o ponto decimal nn = 1.123456789 nn3 = string.formate("%.3f" , nn ); //para 2 casas mude 3 para 2 ou para qualquer valor válido imprima( '\n' , nn , nn3 , '\n' ); //colocando uma string entre aspas: s = "Olá mundo"; ss = string.formate( "%q" , s ); //use %q imprima( '\n' , conv_c(s) , conv_c(ss) , '\n' ); //conv_c para imprimir com acento; o \n é para pular linha //colocando zeros a esquerda: n , nn = 22 , 100 ; //n = 22 e nn = 100 isto se chama multipla atribuicao nf = string.formate("%05d / %05d", n , nn); //\n é nova linha imprima( '\n' , nf , '\n' ); //formatando hora: t = sis.data('*t'); //o *t forca o retorno de uma tabela h = string.formate("Horário: \n\n %02d:%02d:%02d\n" , t.hora,t.minuto,t.segundo ); imprima( conv_c(h) ); //funcao conv_c faz imprimir acentos no cmd. //agora vou usar um laco de repeticao para imprimir de 001 até 010 imprima'Agora de 001 a 010 / precione ENTER para continuar' leia(); para i = 1 , 10 inicio imprima( string.formate("%03d" , i ) ); fim |
OBS1…
Continue readingigEscala – botão deslizante
*Antes de executar este exemplo, baixe Prisma ou atualização do dia 07/09/2015 ou superior* Escala é um componente em que um pequeno botão pode ser deslizado na posição vertical ou na horizontal. No estilo de aumentar volume do som no Windows, veja: Ao ser deslizada, a escala retorna um valor que pode ser usado…
Continue readingConectando e desconectando uma função (igbr)
Sabemos que não basta criar um botão, ou um menu, ou qualquer outro componente que seja para realizar ações. É preciso dizer o que vai ser executado quando esses componentes forem ativados, clicados etc. é para isso que conectamos uma função ao clique de um botão, por exemplo. Para que quando for clicado a…
Continue readingCopiando um arquivo executável
Quero demonstrar um exemplo de como copiar um arquivo usando um comando es.abra(); Vamos copiar um arquivo chamado nome.exe para nome_copia.exe, após a operação abra o arquivo cópia e veja que ele é executado como se fosse o original. veja:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
//primeiro abra o arquivo como leitura binária a = es.abra('nome.exe' , 'leiturabin'); //depois leia o arquivo: se a entao tmp = a:leia("*t"); //o *t faz ler o arquivo todo a:feche(); senao imprima'erro ao tentar abrir arquivo'; fim //abra um arquivo em modo escrita binária b = es.abra( 'nome_copia.exe' , 'escritabin'); //agora copie o conteudo tmp para este arquivo: se b entao b:escreva( tmp ); b:feche(); imprima('arquivo copiado com sucesso!'); senao imprima'erro ao tentar abrir arquivo'; fim |
Troque ‘nome.exe’ pelo nome do seu arquivo alvo que pode ser um vídeo, uma…
Continue reading