Com o lançamento novo Prisma novas funções foram adicionadas outras melhoradas ou modificadas. Antes de continuar baixe a versão mais atual (1.0.99 ou superior) Aqui quero mostrar algumas funções novas da biblioteca string: 1 – strbase64 = string.base64(‘string’) Esta função converte uma cadeia de caracteres de decimal para base 64, ficando assim codificada e irreconhecível….
Continue readingNova versão para Linux
Lançada versão 1.0.99 para Linux 32bits: 19/02/2017 – Baixe a shared library libgtksourceview-2.0.so (Linux-32bits) caso seu sistema apresente erro por falta dela. (clique aqui) 18/02/2017 Exemplos Prisma – testem e reportem bugs (baixar) (reportar bugs aqui); 18/02/2017 Lançamento: Prisma-1.0.99 Linux (baixar). Entre várias mudanças se destaca: Comentário de várias linhas no estilo C: /* …
Continue readingAparando espaços ao redor da string (trim)
O que queremos é uma função que retire espaços ao redor de uma string. Neste caso devemos processar a string usando funções já prontas em Prisma da biblioteca string. Usaremos a função string.corte para percorrer cada caractere e ao chegar em um caractere que não seja espaço marcar a posição com uma variável, do inicio para…
Continue readingCaixa combo (combo box) em igbr
Caixa combo é um componente que exibe uma lista de itens para ser selecionado um. veja:
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 |
//exemplo de combo box, caixa com uma lista de itens que aparece ao clicar no botao do combo local ig = inclua'igbr' local jan = ig.janela('Teste Combo' , 300, 200 ); ig.janela_def_posicao( jan , ig.janela_pos_centro ); ig.conecte_permutado( jan, ig.destruido, sis.saia , 0 ); local painel = ig.fixo(); //um fixo possui coordenadas fixas para os componentes. ig.ad( jan , painel ); //criando o combo local combo = ig.caixa_combo('escolha uma opção'); ig.fixo_ad( painel, combo, 10, 10 );//colocando o combo no fixo, em// 10x10 //adicionando itens na caixa combo: ig.caixa_combo_anexe_texto( combo, 'azul'); ig.caixa_combo_anexe_texto( combo, 'verde'); ig.caixa_combo_anexe_texto( combo, 'branco'); ig.caixa_combo_anexe_texto( combo, 'amarelo'); //criando um função para ser chamada ao alterar a caixa combo: funcao combo_ex ( comp , dado )//o primeiro parametro é o proprio componente conectado, o segundo é o dado extra do usuário. local texto = ig.caixa_combo_obt_texto_ativo( comp ); se texto <> 'escolha uma opção' entao local cor = ig.cor_analise( ig[ texto ] ); ig.componente_modifique_corfundo( dado, ig.estado_normal, cor ); fim fim //para que a função acima seja chamada pelo clique no combo, devemos conecta-la ao combo: ig.conecte_funcao( combo, ig.modificado , combo_ex , jan ); //args: o proprio combo, o tipo de acao (evento) , a função, e um segundo parametro para a função ig.componente_mostre_todos(jan); ig.fimprograma(); |
Detalhes:
1 |
local ig = inclua'igbr' |
Incluindo a biblioteca gráfica igbr
1 2 |
local jan = ig.janela('Teste Combo' , 300, 200 ); ig.janela_def_posicao( jan , ig.janela_pos_centro ); |
Criando uma janela com titulo ‘Teste Combo’ e com largura 300 pixels por 200 de altura. E definindo a posição da janela como centro da tela (ig.janela_pos_centro). Nota: existem outras…
Continue readingComo usar Prisma em um servidor web
Esta é apenas uma dica rápida, uma conversa momentânea. Fiquei muito feliz em descobrir e comprovar que prisma pode ser usado tranquilamente em um servidor web. Mas os testes foram feitos em um servidor local, instalado em meu computador. Gostaria, no entanto, de testar em um servidor pago mesmo e online. Para minha tristeza existem…
Continue readingBanco de dados sqlite3 em Prisma
Acesso ao banco de dados sqlite3 em prisma. Seguem os links do tutorial e alguns externos sobre o sqlite Link para a página do tutorial: clique aqui; Link para a versão em pdf: clique aqui; Uma boa descrição do que é Sqlite: clique aqui; Um pequeno guia com funções do sqlite: clique aqui; Algumas boas…
Continue readingPermissão para cgi prisma em Linux
Entre na pasta htdocs do Xampp crie, se não existir, uma pasta chamada cgi para os nossos exemplos, ficando assim: /htdocs/cgi/ Obs. Linux você precisa dar permissão para pasta, digite no terminal:
1 |
sudo chmod 777 /opt/lampp/htdocs/cgi -Rf |
Pressione enter, senha, enter. No arquivo troque 777 por 755 ficando assim:
1 |
sudo chmod 755 /opt/lampp/htdocs/cgi/ola.pri.cgi |
Usuários Linux terão que fazer isso para…
Continue readingDicas de html
Eu estou criando uma lib chamada html que facilita a criação de tags do html, ex: html.p(‘aqui tem um paragrafo’); Em todo caso, aprender html é necessário para programação web, seja em php, python etc. pois o que fazemos com programas web é mandá-los imprimir páginas em html. Não vou fazer aqui um tutorial…
Continue readingPrisma-cgi: como executar um programa compilado
Por diversos fatores podemos querer esconder o código fonte, para isso usamos o prismac que compila o script prisma de texto para código de bytes prisma. Mas como fazer para executar um arquivo compilado no servidor sem a imprescindível linha #!/usr/local/bin/prisma que os compilados não podem ter? A resposta é muito simples, compile seu programa…
Continue readingVariáveis do servidor em prisma cgi
Essas variáveis são strings, que usadas com a função sis.obtvarambiente( str ) devolvem valores strings. O exemplo é simples veja:
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 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 |
#!/usr/local/bin/prisma //teste para listar as variaveis do servidor //primeiro criamos uma matriz com as strings dos nomes das variaveis de ambiente. local vars = {'SERVER_SOFTWARE', 'SERVER_NAME', 'GATEWAY_INTERFACE', 'SERVER_PROTOCOL', 'SERVER_PORT', 'REQUEST_METHOD', 'PATH_INFO', 'PATH_TRANSLATED', 'SCRIPT_NAME', 'QUERY_STRING', 'REMOTE_HOST', 'REMOTE_ADDR', 'AUTH_TYPE', 'REMOTE_USER', 'REMOTE_IDENT', 'CONTENT_TYPE', 'CONTENT_LENGTH', 'HTTP_ACCEPT', 'HTTP_USER_AGENT', 'HTTP_REFERER', 'DOCUMENT_ROOT', 'HTTP_FROM' } tipo_html = "Content-type:text/html\n\n"; imprima( tipo_html ); imprima('<html>'); poe'<body><br><br>'; poe'<h1>Variaveis do servidor e seus valores</h1><br>'; imprima('<h3>Versão do interpretador:' , _versao , '</h3>'); poe'<ul>'; /**Agora usamos um laço 'para' que processa a matriz de nomes através da função sis.obtvarambiente('nomevar'); (obtenha var. ambiente); ** para i = 1 , #vars inicio imprima( '<li>', vars[i] , ' = ' , sis.obtvarambiente( vars[i] ) , '</li>' ); fim poe'</ul>'; poe'</body>'; imprima'</html>'; |
Aqui não há segredo, para ler as variáveis de ambiente do servidor é só usar o método sis.obtvarambiente(‘nomevar’); No exemplo acima usei uma matriz com as string e o comando para que lê cada…
Continue reading