Segue o código para ser estudado:
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 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 |
//example igprisma igcalculadora inclua'igbr' funcao botao_CB( botao, texto) local text = ig.botao_obt_rotulo( botao ); ig.texto_anexe_texto( texto , text ); //ig.componente_def_foco( texto ); fim funcao calculate( componente , texto ) local text = ig.texto_obt_texto(texto); se text == '' entao text = '" "' fim //usarei o comando execute string str = 'resultado = ' .. text ; local x = executestring( str ); ig.texto_def_texto( texto, resultado); fim values = { [0] = "7","8","9","/", //o [0] força começar pelo índice 0 "4","5",'6','*', '1','2','3','-', '0','.','=','+' }; janela = ig.janela('igCalculadora' , 250, 180); ig.janela_def_posicao( janela , ig.janela_pos_centro); ig.conteiner_def_borda_largura( janela , 5 ); caixavertical = ig.caixavertical(falso,0); ig.ad( janela, caixavertical); edit = ig.texto(); ig.texto_def_alinhamento( edit , 1 ); //1=direita 0=esquerda 0.5=centro ig.conecte_funcao( edit , ig.ativado, calculate , edit ); ig.ad( caixavertical, edit); tabela_ = ig.tabela(4,4,verdadeiro); //cria um container tabela de quatro colunas por quatro linhas ig.tabela_def_lin_espacos( tabela_ , 2); ig.tabela_def_col_espacos( tabela_ , 2); pos = 0; para i = 0 , 3 inicio para j = 0, 3 inicio botao = ig.botao(values[pos] ); ig.tabela_ad( tabela_ , botao , j , j +1 , i , i +1); se values[pos] <> '=' entao ig.conecte_funcao(botao, ig.clique, botao_CB, edit ); senao ig.conecte_funcao( botao, ig.clique , calculate , edit ) fim pos = pos + 1; fim fim ig.ad(caixavertical, tabela_); //adicionando a tabela na caixa vertical ig.janela_destrua(janela); ig.componente_mostre_todos(janela); ig.fimprograma(); |
Falou pessoal, qualquer dúvida deixe uma pergunta nos comentários, ou vá no fórum.