Variáveis em Prisma não possuem tipos fixos, são tipadas dinamicamente, ou seja, não é necessário declarar qual tipo uma variável irá armazenar, basta inicializá-la, ex: x = 12; x = 3.333333 ; x = “uma frase qualquer” ; x = {}; //veja que a variável x trocou de dados várias vezes. cada valor guarda seu…
Continue readingOperador de tamanho e operadores aritméticos (matemática)
São eles: # (tamanho) * (vezes), / (divisão) + (soma) , – (subtração) , % (resto) , ^ (elevado a); Uso: # : frase = “o tamanho desta frase e = ”
1 |
imprima( frase , #frase ); |
Operadores matemáticos:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
imprima ( "na soma de 10 e 2 = " .. 10 + 2 ); // o n Não aparece na saída, caractere invisível de nova linha imprima ( "na subtracao de 10 por 2 = " .. 10 - 2 ); imprima( "n10 vezes 2 = " .. 10 * 2 ); imprima( "n10 dividido por 2 = " .. 10 / 2 ); imprima ( "no resto de 10 dividido por 3 = " .. 10 % 3 ); imprima( string.formate ( "numero com 4 casas decimais = %.4f , formatado para 2 casas = %.2f " , 2.1234 , 2.1234 ) ); imprima ( "n10 elevado a 2 = " .. 10^2 ); imprima ( "nRaiz quadrada de 100 = " .. 100^ (1/2) ); imprima ( "nRaiz cubica de 27 = " .. 27^(1/3) ); imprima ( "nRaiz Quadrupla de 16 = " .. 16^(1/4) ); imprima( "nn15 por cento de 39 = " .. 15 * (39/100) ); |
Futuramente vou explanar a biblioteca matemática (mat); Até a próxima! Att. Adalberto
Continue readingPalavras reservadas, unir strings e operadores relacionais
Prisma Programar em prisma é semelhante a programar em linguagens interpretadas modernas como Python, Ruby, principalmente Lua. ; porém tem diferenças, a mais notável, é claro, prisma oferece comandos em português. Palavras reservadas: são palavras-comando da própria linguagem, não podendo ser usadas com outro propósito: Português / inglês: “e”, //and “quebre”, //break …
Continue readingEntrada de texto linha única em igprisma
Segue o código:
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 |
//exemplo de entrada de texto inclua 'igbr' funcao callback ( comp, janela ) local texto = ig.texto_obt_texto ( comp ); ig.msg( janela , "atenção" , texto ); fim jan = ig.janela("Ex entrada texto" ); ig.conecte( jan , ig['destruido'] , 'ig.fimjanela()' ); caixah = ig.caixahorizontal ( falso , 2 ); // criando container caixa horizontal ig.ad( jan , caixah ); //adiciona a caixa na janela rotulo = ig.rotulo"Digite algo: "; ig.caixa_ad( caixah , rotulo , falso ,falso , 1); texto = ig.texto ( ); //criando a entrada de texto ig.caixa_ad( caixah , texto, falso , falso , 2 ) ; //adicionando o texto na caixa horizontal botao = ig.botao"OK" ; ig.conecte( botao , ig[ "clique" ] , [[ callback ( texto , jan ) ]] ); //note que duplos colchetes são usados para strings também; ig.caixa_ad(caixah , botao , falso , falso , 1); ig.componente_mostre_todos( jan ); ig.fimprograma(); |
A novidade no código acima foi a criação de uma caixa horizontal, por isso os componentes colocados dentro dela vão se organizando um ao lado do outro, horizontalmente: caixah = ig.caixahorizontal( falso , 2 ) ; //falso = não homogêneo (componentes não terão mesmo tamanho) //e o…
Continue readingCriando um botão que exibe mensagem!
Segue o código (explanarei posteriormente):
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
//exemplo de botao inclua'igbr' jan = ig.janela( ); ig.janela_def_titulo ( jan , "Titulo da janela"); ig.componente_def_tamanho( jan , 200 , 150 ); ig.conecte( jan , ig['destruido'] , 'ig.fimjanela( )' ); botao = ig.botao( 'Clique aqui'); ig.ad ( jan , botao ); //adiciona o botao na janela ig.componente_mostre( botao); ig.componente_mostre( jan ); ig.fimprograma( ); |
Explanação: o que tem de diferente é que os atributos da janela foram definidos separadamente: ig.janela_def_titulo( jan , “titulo”) ; //define o titulo da janela jan ig.componente_def_tamanho( jan , 200 , 150 ); //define o tamanho do componente jan; ig.botao(“rotulo do botao”) ; //cria um botao,…
Continue readingOla mundo em igprisma
Vou mostrar nas duas versões, inglês e português, escolham qual usar: Abra o prismacod.exe português BR – código:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
//isto é um comentário de linha única inclua 'igbr' //incluindo as funções gráficas em sintaxe pt-Br janela = ig.janela( "Titulo aqui" , 350 , 200 ); //cria uma janela com titulo, largura, algura //o seu id fica armazenado na variável 'janela' para manipulação posterior; rotulo = ig.rotulo( "Ola mundo!!!"); //cria uma etiqueta de texto ig.ad ( janela , rotulo ); // adiciona no conteiner janela o rotulo ig.conecte( janela , ig.destruido , "ig.fimjanela( )" ); //apenas nunca esqueça desse comando, sem ele // o programa fica rodando invisivel mesmo com a janela fechada. ig.componente_mostre_todos ( janela ); //mostra a janela e todos seus componentes filho ig.fimprograma() ; //inicia o laco de eventos. |
em English: (como não postei o interpretador em inglês, somente os comandos ig serão em inglês) Open the prismacod.exe editor. write:
1 2 3 4 5 6 7 8 9 10 11 12 13 |
//this is a sigle line comment ig = inclua 'igprisma' window = ig.window( "Title here" , 350 , 200 ); // a new window with title, width and height label = ig.label("Hello World!!!"); // this is a label for show a little text ig.addin ( window , label ); // adding the label in window ig.connect ( window , 'destroy' , 'ig.main_quit()' ); // close application on destroy window. ig.main(); // starts loops of events |
———————————————— como eu disse antes, é fortemente baseado em gtk….
Continue readingPrimeiros passos!
Primeiro programa prisma – o test drive Já com todos os arquivos instalados corretamente ( senão veja: onde baixar e como instalar ) Abra o interpretador modo texto dando duplo clique em prisma.exe (ele abrirá em modo interativo, semelhante a python); aparecerá algo como: 1 – digite o seguinte comando:
1 |
imprima ( "Ola Mundo Em Prisma!!!"); |
…
Continue readingAbertura
Bom falta pouco, em breve irei disponibilizar o programa para testes e depois ir aprimorando. Vou acrescentar mais widgets do gtk com novas funções e mais funções aos que já existem. Vou aprimorar comandos do Sqlite3 e começar a fazer funções para o Mysql, além disso vou utilizar o Cairo e o Sdl para aprimorar…
Continue reading