Algumas funções novas que implementei na biblioteca de sistema operacional ‘sis’; Essa lib é embutida no interpretador, ou seja, não precisa precisa incluí-la. Basta usá-la: sis.execute(), por exemplo. Baixe Prisma do dia 27-02-2017 ou superior para a função sis.nome_arquivo(); Segue as funções: pasta, nome, ext = sis.nome_arquivo(arq); Ao passar um caminho completo para…
Continue readingMonth: fevereiro 2017
A nova biblioteca psqlite3
Na verdade não é nova, basicamente é a igsqlite3 aprimorada, com algumas correções e modificações. para incluí-la agora você deve usar:
1 |
sql = inclua'psqlite3' |
Pode criar uma variável local para otimizar a execução:
1 |
local sql = inclua'psqlite3' |
O que muda em relação a igsqlite3? Tirando o nome é claro. Depois de melhorar resolvi trocar o nome pois não tem relação…
Continue readingPrisma web cgi – listando arquivos em links
No exemplo abaixo eu demonstro como você pode listar todos os itens de uma pasta em cgi, fazendo link para cada item listado. Para isso, simplesmente, usamos a biblioteca igdir. Veja: lista_dir.pri.cgi, coloque em seu servidor e teste!
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 |
#!/usr/local/bin/prisma //para servidor em Windows use: //#!"C:\\Prisma\\1.0\\bin\\prisma.exe" na primeira linha. local dir = inclua'igdir'; local html = inclua'html'; //listando os arquivos dentro da pasta onde está o cgi. html.tipo_html(); html.inicie(); html.titulo("Prisma Web Exemplo"); poe( html.tag('meta' , '' , {atrib='http-equiv="Content-Type" content="text/html; charset=UTF-8"'}) ); //criando uma tag meta, usei aspas simples fora e duplas dentro. html.corpo() html.linha(1);//pula 1 linha html.h(2,'Olá este é apenas um exemplo prisma.cgi usando a lib igdir'); html.linha(1); //pula 1 linha poe('<ul class="menu">'); local a = dir.liste_arquivos(); poe'<li>'; html.link('..','^Diretório pai','ir para a pasta superior ao local'); poe'</li>'; para i = 1 , #a inicio se a[i] <> '.' e a[i]<>'..' entao imprima('<li><a href="' .. a[i] .. '">' .. a[i] .. '</a></li>' ); fim fim poe'</ul>'; html.finalize(); sis.saia(0); |
O exemplo é bem simples e comentado, se houver dúvidas poste no comentário ou no fórum….
Continue readingO compilador Prisma feito em Prisma: pric
Baixe aqui Sabemos que temos o prismac (prisma compilador), então para quê fazer um compilador prisma feito na própria linguagem? Bem, primeiramente, porque era possível, assim testamos o potencial da linguagem. Escrever um compilador na própria linguagem indica que ela é poderosa. Segundo, para adquirir conhecimentos e por curiosidade, foi assim que surgiu o…
Continue readingCompile você mesmo a biblioteca pcgi!
Diante da diversidade de distros Linux, muitas vezes o binário que compilei em meu pc não funcionará. O jeito certo é recompilar em sua própria distribuição Linux. Obs.: no Windows dificilmente haverá esse problema, visto que até binários em 32 bits rodam facilmente em Windows 64. Aqui o link: http://www.mediafire.com/file/a0lv6ddv3qdf6zv/source_prisma.7z Baixe, descompacte, entre na pasta…
Continue readingPainel Duplo
Esse contêiner é muito útil quando você quer dividir uma janela em duas partes separadas por uma barra móvel. Então é possível colocar componentes na parte 1 e na parte 2. Como pode-se perceber na imagem, podemos criar painéis na horizontal e na vertical, inclusive colocar um painel dentro do outro. Salve como painel_duplo.prisma
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 |
local ig = inclua'igbr' funcao principal() local jan = ig.janela(); ig.conecte_permutado( jan, ig.destruido, sis.saia , 0 ); local painelv = ig.painelv(); local entra_texto=ig.texto('isto é um entra texto'); ig.texto_selecione(entra_texto,3,8); ig.painel_ad1( painelv,entra_texto); local txt = ig.texto_area() ig.painel_ad2( painelv, txt ); ig.texto_area_def_texto( txt , [[Este é um componente área de texto multilinha com ele podemos criar editores igual ao bloco de notas ]] ) local painelh = ig.painelh(); ig.painel_ad2(painelh, painelv); local bt = ig.botao('Botão no painel h1'); ig.painel_ad1(painelh, bt); ig.ad(jan,painelh); ig.componente_mostre_todos(jan) ig.loop();//ou ig.fimprograma(); //use qual preferir. fim //fim principal(); |
…
Continue readingConstrutor de interface gráfica
Você já viu ou ouviu falar sobre programas que desenham a interface gráfica? São programas que tem a mesma característica do clique e solte do Basic. (Antes de continuar baixe a versão mais atual Prisma – 1.0.99 ou superior – testado em Windows7, Mint17 e Mint18) Para o Gtk+ temos o Glade: https://glade.gnome.org/ http://ftp.gnome.org/pub/GNOME/binaries/win32/glade/3.8/glade-3-8-5-installer.exe No…
Continue readingAtivando acesso remoto do MySQL no Windows
Se você instalou o Xampp e não consegue ter acesso ao MySQL de outro pc na rede pelo ip, continue lendo para resolver esta questão. Primeiro abra o painel de controle do Xampp no Windows. O local é: C:\xampp\xampp-control.exe Ao abrir você já poderá ver a janela semelhante a essa: Clique no botão [Shell]…
Continue readingCriando um aplicativo cliente / servidor em Prisma
Vamos criar um mini messenger, na verdade o esqueleto de um só para ter como base para criar outros. Antes baixe a versão mais atual Prisma, 1.0.99 ou superior. (Testado em Ubuntu 12.04, Mint17, Mint18 e Windows7,10) 1- Servidor Primeiramente, vamos criar o servidor, programa que vai receber as mensagens do cliente. Salve como servidor.prisma,…
Continue readingIncompatibilidade libmysqlclient Prisma no Linux
Sabemos que o Linux é bem diferente do Windows. Aliás é dificil dizer o Linux, pois ele á apenas o kernel, o que temos de verdade são vaaárias distribuições: Ubuntu, Fedora, Mint, PCLinux, Mandriva, Debian etc, etc, etc… Devido a esse fato, distribuir um programa em binário para distros Linux fica meio comprometido a falhar,…
Continue reading