Inquiridor
Preencher textBox.text sem ter que apertar Botão.

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>
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
-
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?
-
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. -
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.
-
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.
-
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
-
-
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
-
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 desejadoEnd class
- Editado JonasMatos domingo, 18 de maio de 2014 18:21
-
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")