none
Preencher textBox.text sem ter que apertar Botão. RRS feed

  • Pergunta

  • Boa Noite, acima a imagem simples do formulário que desejo automatizar com preenchimento do Microcontrolador Arduíno.<o:p></o:p>

    Bem, mas antes de chegar ao microcontrolador devo primeiro concluir os códigos para fazer os cálculos metrológicos sendo esse a parte mais difícil pra mim que não conheço a área. <o:p></o:p>

    Se for possível peço a ajuda dos colaboradores do fórum em:<o:p></o:p>

    1 - RESOLUÇÃO - quando preencho o testbox renomeado em "TxtResoluc", preciso que os campos referente à faixa nominal obedeça o numero de casas decimais que foi inserido no campo RESOLUÇÃO.<o:p></o:p>

    Exemplo: RESOLUÇÃO = 0,025 ( então os campos FAIXA NOMINAL devem também receber 3 casas decimais após a virgula). Os dois campos referente a FAIXA NOMINAL estão renomeados assim: TxtRangeA à TxtRangeB.<o:p></o:p>

    2 - AMPLITUDE DE MEDIÇÃO - esse campo deverá ser preenchido automaticamente após ser declarada a FAIXA NOMINAL.<o:p></o:p>

    Exemplo: FAIXA NOMINAL =  -50,075 à 85,000 mmH²O ; então o campo AMPLITUDE DE MEDIÇÃO calcula a AMPLITUDE DE MEDIÇÃO da seguinte forma: TxtRangeB - TxtRangeA, pronto já temos o valor numerico que deverá aparecer no campo AMPLITUDE DE MEDIÇÃO que nesse exemplo é 135,075 mmH²O.<o:p></o:p>

    Observe que esse campo também receberá as casas decimais definida no campo RESOLUÇÃO. <o:p></o:p>

    Detalhe - Esse procedimento todo deve ocorrer sem a necessidade de apertar algum BOTÃO.<o:p></o:p>

    segunda-feira, 12 de maio de 2014 01:03

Todas as Respostas

  • Jonas com relação a colocar informações  nos textbox vc pode no txtresoluc vc pode coloca-lo com autopostback = true e no evento textchanged vc trata e coloca as informações nos devidos textbox.

    O problema pode ser na formatação dos textbox pois a formatação seria via script mais isso só acontece qdo o usuário informa e não qdo colocamos essa informação pelo codebehind. Uma solução para isso seria já que são campos onde o usuário não preenche vc poderia colocar labels ai vc formataria e exibiria com a formatação.


    Junior

    segunda-feira, 12 de maio de 2014 13:40
  • Jonas, estou de acordo com o Junior, parece que sua dúvida é só sobre formatação. É isso?

    Porque você vai ter que dar a inteligência de preenchimento, campo a campo. Com um "SELECT CASE" ou "IF" encadeados, para tomar decisão por exemplo.

    Mostre um pouco do seu código, o que você tem disponível para preencher os campos? Você está lendo a informação de um controlador, mas a informação lida é carregada aonde? Uma variável? Várias?

    segunda-feira, 12 de maio de 2014 18:52
  • Jonas com relação a colocar informações  nos textbox vc pode no txtresoluc vc pode coloca-lo com autopostback = true e no evento textchanged vc trata e coloca as informações nos devidos textbox.


    Junior


    Olá Júnior, obrigado a atenção, eu nao entendi o quote acima. Vou estudar no Google o que é autopostback, quanto ao tratar as informações referente ao textchanged que creio que você quis falar sobre os dois campos txt referente a FAIXA NOMINAL, é esse tratamento que nao sei fazer. Eu nao me expressei bem quanto aos campos da imagem postada, os campos TAG, RESOLUÇÃO e FAIXA NOMINAL são preenchidos pelo usuário, a AMPLITUDE DA FAIXA será uma formula matemática de subtração. A UNIDADE DE ENGENHARIA é uma listbox normal. Ja os campos ascendente e desentende serão preenchidos por valores lido num microcontrolador e depois continuaremos desenvolver o que faremos para mostrar a media e a tendência. Mas de momento eu preciso resolver esse dois problemas que citei inicialmente. 1 - sabe aquela função no excell que adicionamos e removemos casas decimais após a vírgula nas células ? Então, é isso que preciso fazer nos campos FAIXA NOMINAL. Se escrevermos no campo RESOLUÇÃO um número com 3 casas decimais após a virgula então o campo FAIXA NOMINAL deverá receber uma regra de ser escrita somente com 3 casas decimais , e assim subseqüentemente se escrevermos no campo RESOLUÇÃO com apenas uma casa decimal, então o campo FAIXA NOMINAL nao poderá ser escrito diferente se nao for igual a apenas uma casa decimal após a vírgula. 2 - ja a duvida número dois, é referente ao campo AMPLITUDE DA FAIXA, como citei acima, esse campo será preenchido automaticamente após escrevermos os valores da FAIXA NOMINAL. A formula matemática é simplesmente (TXtRangeB - TxtRangeA) essa formula deverá ser executada assim que informarmos a FAIXA NOMINAL sem a necessidade de apertar algum botão. creio que poderá ser executada a formula no momento que a textbox da FAIXA NOMINAL perder o focus.
    segunda-feira, 12 de maio de 2014 23:39
  • boa noite Samuel, minha duvida nao é referente a formatação, eu nao sei escrever o código para que quero fazer. nao entendo VB. Nao tenho nenhum código escrito nos form., apenas criei o layout do form. Os campos ascendente e descendente serão preenchidas por um controlador que irá escrever o valor lido na porta entrada analógica do microcontrolador e mostrada na textbox referente a campos ascendente e descendente. ja os campos TAG, RESOLUÇÃO e UNIDADE DE ENGENHARIA serão preenchidas pelo usuário do software. estou estudando a idéia de armazenar esses dados em um banco de dados , mas a idéia inicial e desenvolver os cálculos de metrologia automaticamente no formulário e logo imprimir o certificado de aprovação ou reprovação da calibracao.
    segunda-feira, 12 de maio de 2014 23:49
  • Ok, então Jonas eu não vou poder te ajudar.

    Vou continuar a acompanhar este tópico pois se aparecer um ponto aonde eu possa contribuir não deixarei de comentar, mas a parte de interação com microcontroladores eu não tenho conhecimento. Depois que a leitura for feita e estiver disponível em algum lugar (arquivo, variável etc...) ai o preenchimento é simples.

    quinta-feira, 15 de maio de 2014 17:53
  • Jonas esse autopostback = "true" força a caso o textbox que qdo é carregado inicialmente vem vazio se o usuário informar algo nele ocorrerá o postback ou seja a página é enviada ou servidor e o evento textchanged é executado no servidor, assim vc coloca os dados nos outros textbox e tornar o botão visivel, qdo a página for re-exibida ao usuário os textbox irão está preenchidos e o botão vai estar visivel. A lógica é essa, agora só acho que não vai dar para vc mostrar esse dados formatados nos textbox por isso sugeri a troca deles por label por na label do jeito que vc formatar ele vai ser exibida.

    Junior

    quinta-feira, 15 de maio de 2014 18:21
  • Junior, é um Windows Forms...
    sexta-feira, 16 de maio de 2014 13:02
  • Gente, acho que eu que compliquei escrevendo demais.

    Vou por parte....

    uso Visual Studio Basic 2008, estou num windows form sem nenhum código digitado, apenas o layout criado.

    textbox1 eu digito um valor numerico. EXEMPLO: 0,01

    entao, na textbox2 EU tambem vou digitar outro valor numerico qualquer, porem, JAMAIS poderá aceitar qualquer valor numérico com três casas decimais apos a virgula, pois no textbox1 nos definimos as casas decimais máxima (duas apos a virgula) que poderemos inserir na textbox2.

    se eu digitar na textbox1 um valor : 7,587 

    quero que na textbox2 todo valor numerico que eu vir digitar mantenha as casas decimais que nesse exemplo foi de 3 casas, entedemos?  exemplo de valores com tres casas apos a virgula: 0,001 ; 0,002 ; 1,587 ; 0,003 ... etc

    algo do tipo: texbox3 = Format (textbox1 * textbox2, "0,00")




    • Editado JonasMatos sábado, 17 de maio de 2014 15:50
    sábado, 17 de maio de 2014 15:41
  •  A formula matemática é simplesmente (TXtRangeB - TxtRangeA) essa formula deverá ser executada assim que informarmos a FAIXA NOMINAL sem a necessidade de apertar algum botão. creio que poderá ser executada a formula no momento que a textbox da FAIXA NOMINAL perder o focus.

    Ganhei o dia. (risos)

    pelo menos uma parte do projeto deu certo, referente a parte de processar os comandos sem precisar apertar algum botão funciona quando usamos 

    Private Sub xxxxxxxxx_LostFocus(ByVal sender As Object, ByVal e As System.EventArgs) Handles xxxxxxxx.LostFocus
            comando desejado

    End class



    • Editado JonasMatos domingo, 18 de maio de 2014 18:21
    domingo, 18 de maio de 2014 18:20
  • Gente, acho que eu que compliquei escrevendo demais.

    Vou por parte....

    uso Visual Studio Basic 2008, estou num windows form sem nenhum código digitado, apenas o layout criado.

    textbox1 eu digito um valor numerico. EXEMPLO: 0,01

    entao, na textbox2 EU tambem vou digitar outro valor numerico qualquer, porem, JAMAIS poderá aceitar qualquer valor numérico com três casas decimais apos a virgula, pois no textbox1 nos definimos as casas decimais máxima (duas apos a virgula) que poderemos inserir na textbox2.

    se eu digitar na textbox1 um valor : 7,587 

    quero que na textbox2 todo valor numerico que eu vir digitar mantenha as casas decimais que nesse exemplo foi de 3 casas, entedemos?  exemplo de valores com tres casas apos a virgula: 0,001 ; 0,002 ; 1,587 ; 0,003 ... etc

    algo do tipo: texbox3 = Format (textbox1 * textbox2, "0,00")




    Use o evento _Changed do textbox, ou o LostFocus como o JonasMatos sugeriu. O lostfocus só vai verificar a formatação quando o componente perder o foco. O change (ou changed, não lembro) será toda vez que o usuário digitar.
    sexta-feira, 23 de maio de 2014 13:09