none
metodo como variavel como consertar isso RRS feed

  • Pergunta

  • Bom dia estou começando a programar agora estou tento problema para adaptar o contexto a linguagem ja programava mas em vb 6.0

    Para tomar nota estou montando um programinha basico para medir indici de massa corporea seria notational algo como x = jb * (a2)

     

    public Form1()

            {

                InitializeComponent();

            }

     

            private void button1_Click(object sender, EventArgs e)

            {

            int a,b;

                maskedTextBox1.Text = a ();

     

                maskedTextBox2.Text = b ();

                    textBox1.Show = b / (a * a)();

    so que deparei que estou usando uma variavel como um metodo com isso o programa nao compila,

    sei que isso é muito basico mas gostaria se alguem quiser repassar isso pra mim

    obrigado


     

    sábado, 12 de fevereiro de 2011 09:30

Respostas

  • Veja se é isso que deseja:

    private void Form1_Load(object sender, EventArgs e)
        {
    
        }
    
        private void button1_Click(object sender, EventArgs e)
        {
          double a, b, Resultado;
          a = Convert.ToDouble(maskedTextBox1.Text);
          b = Convert.ToDouble(maskedTextBox2.Text);
          Resultado = (b / Math.Pow(a, 2));
          textBox1.Text = Resultado.ToString();
          if (Resultado <= 20)
          {
            MessageBox.Show("Massa corpórea abaixo do índice", "::: Aqui o Nome do seu sistema :::", MessageBoxButtons.OK, MessageBoxIcon.Information);
          }
          if ((Resultado >= 21) && (Resultado <= 30))
          {
            MessageBox.Show("Massa corpórea ideal", "::: Aqui o Nome do seu sistema :::", MessageBoxButtons.OK, MessageBoxIcon.Information);
          }
          if ((Resultado >= 31) && (Resultado <= 37))
          {
            MessageBox.Show("Obesidade", "::: Aqui o Nome do seu sistema :::", MessageBoxButtons.OK, MessageBoxIcon.Information);
          }
          if (Resultado >= 38)
          {
            MessageBox.Show("Obesidade Mórbida", "::: Aqui o Nome do seu sistema :::", MessageBoxButtons.OK, MessageBoxIcon.Information);
          }
        }
    

    Abraços e não esqueça de marcar como resposta!

    Qualquer dúvida posta ai!


    Estudar, Estudar e Estudar! Não existe caminho curto.
    sábado, 12 de fevereiro de 2011 11:59
  • ROGÉRIO NEM TUDO VC CONSEGUIRÁ CONVERTER COM O TYPE CAST TE ACONSELHO A USAR SEMPRE DESTA MANEIRA:

     int i = Convert.ToInt32(comando.ExecuteScalar());
    

     

    Abraços e não esqueça de marcar meus posts como resposta e qualquer dúvida estamos ai!


    Estudar, Estudar e Estudar! Não existe caminho curto.
    • Marcado como Resposta Rogerio A. Souza terça-feira, 8 de março de 2011 17:07
    terça-feira, 1 de março de 2011 14:49

Todas as Respostas

  • Tenta assim:

     public Form1()
        {
          InitializeComponent();
        }
    
        private void Form1_Load(object sender, EventArgs e)
        {
          
        }
    
        private void button1_Click(object sender, EventArgs e)
        {
          int a, b;
          a = Convert.ToInt32(maskedTextBox1.Text);
          b = Convert.ToInt32(maskedTextBox2.Text);
          textBox1.Text = (b / Math.Pow(a,2)).ToString();      
        }
    
    Abraços!
    Estudar, Estudar e Estudar! Não existe caminho curto.
    sábado, 12 de fevereiro de 2011 10:18
  • com essa argumentação consegui usei um mask ### para altura e ### para peso, so com int32 o resultado nao permitia o resultado com muitos digitos decimais entao passe para double ta é 64 bits mas o programa e pequeno e um pouco mais de memoria nao seria problema

    meu codigo ficou assim

     

    using System;

    using System.Collections.Generic;

    using System.ComponentModel;

    using System.Data;

    using System.Drawing;

    using System.Linq;

    using System.Text;

    using System.Windows.Forms;

     

    namespace WindowsFormsApplication1

    {

        public partial class Form1 : Form

        {

            public Form1()

            {

                InitializeComponent();

            }

     

            private void Form1_Load(object sender, EventArgs e)

            {

     

            }

     

            private void button1_Click(object sender, EventArgs e)

            {

               double a, b;

                a = Convert.ToDouble(maskedTextBox1.Text);

                b = Convert.ToDouble(maskedTextBox2.Text);

                textBox1.Text = (b / Math.Pow(a, 2)).ToString();

     

    valeu Pablo 

     

    continuarei estudando estudando estudando this way.

    sábado, 12 de fevereiro de 2011 10:53
  • só ficou uma duvida como posso passar o numero que consegui tipo x 10.000 para fazer uma caixa de dialogo indicando por exemplo { if <= 20 ShowDialog("Massa abaixo do indicado") >= 21 =< 30 ShowDialog("Massa corporea ideal) >= 31 <= 37 ShowDialog("obesidade") >= 40 ShowDialog("obesidade morbida")
    sábado, 12 de fevereiro de 2011 11:25
  • Veja se é isso que deseja:

    private void Form1_Load(object sender, EventArgs e)
        {
    
        }
    
        private void button1_Click(object sender, EventArgs e)
        {
          double a, b, Resultado;
          a = Convert.ToDouble(maskedTextBox1.Text);
          b = Convert.ToDouble(maskedTextBox2.Text);
          Resultado = (b / Math.Pow(a, 2));
          textBox1.Text = Resultado.ToString();
          if (Resultado <= 20)
          {
            MessageBox.Show("Massa corpórea abaixo do índice", "::: Aqui o Nome do seu sistema :::", MessageBoxButtons.OK, MessageBoxIcon.Information);
          }
          if ((Resultado >= 21) && (Resultado <= 30))
          {
            MessageBox.Show("Massa corpórea ideal", "::: Aqui o Nome do seu sistema :::", MessageBoxButtons.OK, MessageBoxIcon.Information);
          }
          if ((Resultado >= 31) && (Resultado <= 37))
          {
            MessageBox.Show("Obesidade", "::: Aqui o Nome do seu sistema :::", MessageBoxButtons.OK, MessageBoxIcon.Information);
          }
          if (Resultado >= 38)
          {
            MessageBox.Show("Obesidade Mórbida", "::: Aqui o Nome do seu sistema :::", MessageBoxButtons.OK, MessageBoxIcon.Information);
          }
        }
    

    Abraços e não esqueça de marcar como resposta!

    Qualquer dúvida posta ai!


    Estudar, Estudar e Estudar! Não existe caminho curto.
    sábado, 12 de fevereiro de 2011 11:59
  • meu problema a ser estudado e entendido e banco de dados to engatinhando ainda ja havia trabalhado com bd em visual basic 2005 mas no c # 2010 e totalmente diferente o que me sucede é a framework entily nao estar aceitando meu codigo

     

    using System;

    using System.Collections.Generic;

    using System.ComponentModel;

    using System.Data;

    using System.Drawing;

    using System.Linq;

    using System.Text;

    using System.Windows.Forms;

    using System.Data.SqlClient;

     

     

    namespace WindowsFormsApplication1

    {

        public partial class Form1 : Form

        {

            public Form1()

            {

                InitializeComponent();

            }

     

            private void button1_Click(object sender, EventArgs e)

            {

                SqlConnection conexaos = "(Data Source=.\\SQLEXPRESS;AttachDbFilename=C:\\Users\\roger\\Documents\\Visual Studio 2010\\Projects\\tela de login\\tela de login\\Database1.mdf;Integrated Security=True;User Instance=True)";

                SqlConnection conn = new SqlConnection(conexaos);exatamente aqui ele reporta uma escepition de F E

                SqlCommand comando = new SqlCommand("SELECT COUNT(*) FROM logon WHERE  nome = @nome AND senha = @senha", conn);

                comando.Parameters.Add("@nome", SqlDbType.VarChar).Value = textBox1.Text;

                comando.Parameters.Add("@senha", SqlDbType.VarChar).Value = textBox1.Text;

    conn.Open();

                int i = (int)comando.ExecuteScalar();

                if (i > 0)

                {

                    MessageBox.Show("Logado");

                }

     

                else

                    MessageBox.Show("Erro");

     

                conn.Close();

            }

            }

        }


    sexta-feira, 25 de fevereiro de 2011 16:28
  • TENTE DA SEGUINTE MANEIRA E VEJA SE FUNCIONA:

    TROQUE ISSO:

     SqlConnection conexaos = "(Data Source=.\\SQLEXPRESS;AttachDbFilename=C:\\Users\\roger\\Documents\\Visual Studio 2010\\Projects\\tela de login\\tela de login\\Database1.mdf;Integrated Security=True;User Instance=True)";

     

    POR ISSO:

    string

     

     

    conexaos = (@"Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\Database1.mdf;Integrated Security=True;User Instance=True");

    QUE DEVE FUNCIONAR.

    ABRAÇOS.


    Estudar, Estudar e Estudar! Não existe caminho curto.
    sexta-feira, 25 de fevereiro de 2011 20:42
  • passou mas nao aceitou meus comandos em sql

    setei pra trabalhar com sqlclient

    using system.data.sqlclient;

     

     

    private void button1_Click(object sender, EventArgs e)

            {

                string 

                conexaos = "(Data Source=.\\SQLEXPRESS;AttachDbFilename=C:\\Users\\roger\\Documents\\Visual Studio 2010\\Projects\\tela de login\\tela de login\\Database1.mdf;Integrated Security=True;User Instance=True)";

                SqlConnection conn = new SqlConnection(conexaos);

                SqlCommand comando = new SqlCommand("SELECT COUNT(*) FROM logon WHERE  nome = @nome AND senha = @senha", conn);

                comando.Parameters.Add("@nome", SqlDbType.VarChar).Value = textBox1.Text;

                comando.Parameters.Add("@senha", SqlDbType.VarChar).Value = textBox1.Text;

                conn.Open();

                int i = (int)comando.ExecuteScalar();

                if (i > 0)

                {

                    MessageBox.Show("Logado");

                }

     

                else

                    MessageBox.Show("Erro");

     

                conn.Close();

     

    será que se eu mandasse em modo linq seria mais compreensivel estou na versao express do visual stuido meu ado é limitado.

     

    sábado, 26 de fevereiro de 2011 16:07
  • Rogerio acredito que seu sql não está tendo o resultado esperado pq vc preenche os dois parâmetros com o mesmo TextBox como vc pode ver abaixo:

     comando.Parameters.Add("@nome", SqlDbType.VarChar).Value = textBox1.Text;
    
          comando.Parameters.Add("@senha", SqlDbType.VarChar).Value = textBox1.Text;
    
    
    

     

    abraços e espero ter ajudado!


    Estudar, Estudar e Estudar! Não existe caminho curto.
    sábado, 26 de fevereiro de 2011 18:54
  • comando.Parameters.Add("@nome", SqlDbType.VarChar).Value = textBox1.Text;

      comando.Parameters.Add("@senha", SqlDbType.VarChar).Value = textBox1.Text;
    
    corrigi mas quando rodo minha tela de login além de ser lento, quando insiro nome e senha o visual da seguinte erro:
     SqlConnection conn = new SqlConnection(conexaos); >> argument excepion has unhandled.

    não consigo sair deste erro

    estudando, estudando, estudando e bicho está pegando

     

     

    domingo, 27 de fevereiro de 2011 13:53
  • Rogério tente usar este caminho para o bd, exatamente como está aqui e veja se funciona:

    conexaos = "Data Source=.\\SQLEXPRESS;AttachDbFilename=|DataDirectory|\\Database1.mdf;Integrated Security=True;User Instance=True";
    
    
    

     

    Abraços!

     


    Estudar, Estudar e Estudar! Não existe caminho curto.
    segunda-feira, 28 de fevereiro de 2011 11:17
  • passou agora vou adotar como padrao |DAtaDirectory|, tenho que ver como faço para executar o comando ExecuteScalar para pegar as querys em sql

     {

                string 

                conexaos = Data Source=.\\SQLEXPRESS;AttachDbFilename=|DataDirectory|\\Database1.mdf;Integrated Security=True;User Instance=True";

                SqlConnection conn = new SqlConnection(conexaos);

                SqlCommand comando = new SqlCommand("SELECT COUNT(*) FROM logon WHERE  nome = @nome AND senha = @senha", conn);

                comando.Parameters.Add("@nome", SqlDbType.VarChar).Value = textBox1.Text;

                comando.Parameters.Add("@senha", SqlDbType.VarChar).Value = textBox1.Text;

                conn.Open();

                int i = (int)comando.ExecuteScalar()>>veja que estou declarando comando com  int tabem acho que aqui ta o erroo tentei declarar separado mas nao deu certo tipo, int i ;

    int comando.ExecuteScalar();<<

                if (i > 0)

                {

                    MessageBox.Show("Logado");

                }

     

                else

                    MessageBox.Show("Erro");

     

                conn.Close();

    obrigado pelos esclarecimentos

    terça-feira, 1 de março de 2011 13:54
  • ROGÉRIO NEM TUDO VC CONSEGUIRÁ CONVERTER COM O TYPE CAST TE ACONSELHO A USAR SEMPRE DESTA MANEIRA:

     int i = Convert.ToInt32(comando.ExecuteScalar());
    

     

    Abraços e não esqueça de marcar meus posts como resposta e qualquer dúvida estamos ai!


    Estudar, Estudar e Estudar! Não existe caminho curto.
    • Marcado como Resposta Rogerio A. Souza terça-feira, 8 de março de 2011 17:07
    terça-feira, 1 de março de 2011 14:49