{"id":134,"date":"2014-12-30T04:08:17","date_gmt":"2014-12-30T04:08:17","guid":{"rendered":"http:\/\/linguagemprisma.net\/?p=134"},"modified":"2014-12-30T04:08:17","modified_gmt":"2014-12-30T04:08:17","slug":"entrada-de-texto-linha-unica-em-igprisma","status":"publish","type":"post","link":"https:\/\/linguagemprisma.br4.biz\/blog\/igprisma\/entrada-de-texto-linha-unica-em-igprisma\/","title":{"rendered":"Entrada de texto linha \u00fanica em igprisma"},"content":{"rendered":"<p><a href=\"http:\/\/linguagemprisma.net\/wp-content\/uploads\/2014\/12\/entradatexto.png\"><img loading=\"lazy\" decoding=\"async\" class=\" size-medium wp-image-137 aligncenter\" src=\"http:\/\/linguagemprisma.net\/wp-content\/uploads\/2014\/12\/entradatexto-300x164.png\" alt=\"entradatexto\" width=\"300\" height=\"164\" \/><\/a><\/p>\n<p>Segue o c\u00f3digo:<\/p>\n<p>&nbsp;<\/p>\n<pre class=\"lang:prisma decode:true \">\/\/exemplo de entrada de texto\n\ninclua 'igbr'\n\nfuncao callback ( comp, janela )\n\n     local texto = ig.texto_obt_texto ( comp );\n     ig.msg(  janela , \"aten\u00e7\u00e3o\" , texto );\n\nfim\n\njan = ig.janela(\"Ex entrada texto\"  );\n\nig.conecte( jan , ig['destruido'] , 'ig.fimjanela()' );\n\ncaixah = ig.caixahorizontal ( falso , 2 ); \/\/ criando container caixa horizontal\nig.ad( jan , caixah ); \/\/adiciona a caixa na janela\n\nrotulo = ig.rotulo\"Digite algo: \";\nig.caixa_ad( caixah , rotulo , falso ,falso , 1);\ntexto = ig.texto  ( ); \/\/criando a entrada de texto\n\nig.caixa_ad( caixah , texto, falso , falso , 2 ) ; \/\/adicionando o texto na caixa horizontal\n\nbotao = ig.botao\"OK\" ;\nig.conecte( botao , ig[ \"clique\" ] , [[ callback (  texto , jan ) ]]  );  \/\/note que duplos colchetes s\u00e3o usados para strings tamb\u00e9m;\n\nig.caixa_ad(caixah , botao , falso , falso , 1);\n\nig.componente_mostre_todos( jan );\n\nig.fimprograma();<\/pre>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>A novidade no c\u00f3digo acima foi a cria\u00e7\u00e3o de uma caixa horizontal, por isso os componentes colocados dentro dela v\u00e3o se organizando um ao lado do outro, horizontalmente:<\/p>\n<p><span style=\"color: #0000ff;\">caixah = ig.caixahorizontal( falso , 2 ) ;<\/span> \/\/falso = n\u00e3o homog\u00eaneo (componentes n\u00e3o ter\u00e3o mesmo tamanho)<\/p>\n<p>\/\/e o segundo par\u00e2metro: espa\u00e7amento de 2 pixels entre os componentes dentro da caixa.<\/p>\n<p>Comando especial para inserir componentes dentro das caixas, (pode usar o ig.ad\u00a0 tamb\u00e9m, mas tem menos controle).<\/p>\n<p><span style=\"color: #0000ff;\">ig.caixa_ad ( caixah , texto, falso , falso, 1\u00a0 ); <span style=\"color: #000000;\">\/\/ vamos explicar cada par\u00e2metro aqui:<\/span><\/span><\/p>\n<p><strong>caixah =<\/strong> o recipiente, o componente que armazena outros componentes, por isso se chama container (&#8220;contedor&#8221;);<\/p>\n<p><strong>texto =<\/strong> o componente que estamos adicionando na caixa<\/p>\n<p><strong>falso =<\/strong> quer dizer que n\u00e3o expande quando a janela \u00e9 redimensionada (horizontalmente).<\/p>\n<p><strong>falso<\/strong> = n\u00e3o preenche todo o espa\u00e7o quando a janela \u00e9 redimensionada.<\/p>\n<p><strong>1 =<\/strong> acomodamento, na pr\u00e1tica, se aumentar para 100, por exemplo, ver\u00e1 que o componente aumenta o tamanho horizontalmente.<\/p>\n<p><em><strong>OBS.: o preenchimento n\u00e3o ter\u00e1 efeito se o atributo expandir estiver como falso e o expandir n\u00e3o ter\u00e1 efeito se a caixa for <\/strong><\/em><\/p>\n<p><em><strong>criada com o par\u00e2metro &#8220;homog\u00eaneo&#8221; em verdadeiro.<\/strong><\/em><\/p>\n<p><em><strong>experimente trocar os valores, de falso para verdadeiro e redimensione a janela para ver o resultado, aumente tamb\u00e9m o valor 1 para<\/strong><\/em><\/p>\n<p><em><strong>200 ou 300 e veja o que acontece<\/strong><\/em>.<\/p>\n<p>Dica: se achar dif\u00edcil lembrar ou entender os atributos, ou mesmo se n\u00e3o quiser ficar repetindo os atributos, fa\u00e7a uma fun\u00e7\u00e3o<\/p>\n<p>com par\u00e2metros em padr\u00e3o mais usado. ex:<\/p>\n<pre class=\"lang:prisma decode:true \">funcao crie_caixaV( )\n\n   retorne ig.caixavertical(falso, 0 );\n\nfim\n\nfuncao caixa_adicione( caix , comp )\n\n    ig.caixa_ad( caix , comp, falso , falso , 0 );\n\nfim\n\nuso:\n\ncaixav = crie_caixaV( );\n\n    caixa_adicione ( caixav , botao );<\/pre>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p><em>salve o arquivo de texto com as fun\u00e7\u00f5es suas, pode ser com o nome caixa.pris<\/em><\/p>\n<p><em>coloque na pasta plib (que fica na pasta bin\/ )\u00a0 para ficar vis\u00edvel para qualquer programa prisma,<\/em><\/p>\n<p><em>depois basta cham\u00e1-la com o comando inclua &#8216;caixa&#8217; e usar suas fun\u00e7\u00f5es.<\/em><\/p>\n<p>Mais adiante explicarei melhor como fazer bibliotecas pr\u00f3prias. Como viu acima n\u00e3o \u00e9 dif\u00edcil.<\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"color: #0000ff;\"><strong>Algumas vezes, voc\u00ea pode querer apertar ENTER com o cursor dentro do entra texto para<\/strong><\/span><\/p>\n<p><span style=\"color: #0000ff;\"><strong> obter uma a\u00e7\u00e3o,<\/strong><\/span> isso \u00e9 muito \u00fatil em navegadores, por exemplo, ao digitar algo dentro<\/p>\n<p>do entra texto de endere\u00e7o e pressionar o enter o navegador entende que deve ir para aquela p\u00e1gina.<\/p>\n<p>&nbsp;<\/p>\n<p>Se voc\u00ea quiser este efeito no programinha acima, isto \u00e9, que a mensagem apare\u00e7a ao apertar a tecla ENTER<\/p>\n<p>sem precisar clicar no bot\u00e3o, adicione a seguinte linha logo abaixo da cria\u00e7\u00e3o do entra texto:<\/p>\n<pre class=\"lang:prisma decode:true \">ig.conecte ( texto , ig[ \"ativado\"] , \"callback ( texto , jan ) \" ); \/\/ responde ao pressionar Enter<\/pre>\n<p>&nbsp;<\/p>\n<p><span style=\"color: #008000;\">\u00a0<\/span><\/p>\n<p>seria algo comparado ao conectar o clique no bot\u00e3o, mas como o componente texto n\u00e3o \u00e9 clic\u00e1vel, logo o sinal a ser conectado<\/p>\n<p>n\u00e3o \u00e9 o<strong> ig.clique mas o ig.ativado. <\/strong><em>(os eventos podem ser escritos de outra forma se preferir:<\/em> <strong>ig[&#8220;clique&#8221;] e ig[&#8220;ativado&#8221;]<\/strong> )<\/p>\n<p>Adicione e veja o resultado.<\/p>\n<h1><\/h1>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Segue o c\u00f3digo: &nbsp; \/\/exemplo de entrada de texto inclua &#8216;igbr&#8217; funcao callback ( comp, janela ) local texto = ig.texto_obt_texto ( comp ); ig.msg( janela , &#8220;aten\u00e7\u00e3o&#8221; , texto ); fim jan = ig.janela(&#8220;Ex entrada texto&#8221; ); ig.conecte( jan , ig[&#8216;destruido&#8217;] , &#8216;ig.fimjanela()&#8217; ); caixah = ig.caixahorizontal ( falso , 2 ); \/\/ criando&#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3,5],"tags":[],"class_list":["post-134","post","type-post","status-publish","format-standard","hentry","category-igprisma","category-interface_grafica"],"_links":{"self":[{"href":"https:\/\/linguagemprisma.br4.biz\/blog\/wp-json\/wp\/v2\/posts\/134","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/linguagemprisma.br4.biz\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/linguagemprisma.br4.biz\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/linguagemprisma.br4.biz\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/linguagemprisma.br4.biz\/blog\/wp-json\/wp\/v2\/comments?post=134"}],"version-history":[{"count":0,"href":"https:\/\/linguagemprisma.br4.biz\/blog\/wp-json\/wp\/v2\/posts\/134\/revisions"}],"wp:attachment":[{"href":"https:\/\/linguagemprisma.br4.biz\/blog\/wp-json\/wp\/v2\/media?parent=134"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/linguagemprisma.br4.biz\/blog\/wp-json\/wp\/v2\/categories?post=134"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/linguagemprisma.br4.biz\/blog\/wp-json\/wp\/v2\/tags?post=134"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}