Ayuda con For Loop y un TextBox

Iniciado por GonzaFz, 24 Mayo 2012, 19:39 PM

0 Miembros y 1 Visitante están viendo este tema.

GonzaFz

Bueno creo que es algo simple pero no se como hacerlo!
Tengo un boton que realiza una acción pero quiero que realize tantas acciones como el usuario quiera, entonces decidi usar for. El problema esta a la hora de tomar los numeros de la cantidad de veces que quiere el usuario, no se como hacerlo porque me da error.
Código (csharp) [Seleccionar]

private void button1_Click(object sender, EventArgs e)
        {
           
            for(int z = 0; z < (aquí quiero insertar el valor del textbox que sera un numero); z++)
            {
            if (comboBox1.SelectedIndex == 1)
            {
                MessageBox.Show("Se ha elegido el 2");
            }
            if (comboBox1.SelectedIndex == 2)
            {
                MessageBox.Show("Se ha elegido el 3");
            }
            if (comboBox1.SelectedIndex == -1)
            {
                MessageBox.Show("Elige un numero de flotas");
            }
            }
        }


Probe poniendo textBox1.Text pero me da un error que dice:
El operador '<' no se puede aplicar a operandos del tipo 'int' y 'string'

Me gustaria si esta vez me pudiesen ayudar >.<


$Edu$

Esque quieres poner un string, ya que .Text es un string, entonces tienes que convertirlo a integer.
Guardas antes en una variable, el numero que ingreso el usuario, asi:

Código (csharp) [Seleccionar]

int max = int.Parse(textBox1.Text);


Entonces despues haces el bucle hasta max, pero yo usaria swich, porque no necesitas verificas las siguientes veces si ya un if dio verdadero.

Pero lo que no entiendo es para que esos ifs en el bucle si no usaras la variable z. Es decir, lo que hara tu codigo es mostrar max veces el mismo mensaje.. algo que no entiendo el porque.

GonzaFz

#2
Muchas gracias Edu =) Funciono.
No es para verificar si da verdadero, en realidad esos If son de otra cosa.
El for es para repetir la accion una cantidad de veces.
Los Ifs son para realizar X acción dependiendo que eligió el usuario en un comboBox que tiene varias opciones.
No se si se entendio xd.

// Aclaro
Uso el for para que la acción del Button1 se repita cuantas veces el usuario quiera.
Los if son de las acciones que se realizaran al apretar el button1

Pero si sabes como hacerlo mejor (? acepto sugerencias.

$Edu$

Ta, bueno, pero entonces los ifs los pones antes, o mejor dicho... con un switch.

Es decir:

switch (comboBox.SelectedIndex) {
   
      case 1:
  BUCLE DE Z = 0 HASTA MAX

      case 2:
  BUCLE DE Z = 0 HASTA MAX

  .....
}

Asi primero verificas que opcion es la que elijio, y luego recien si empieza el bucle para repetir lo que tengas que hacer segun esa opcion, las veces que se indico en la variable max.

GonzaFz

Hm no me quedo bien en claro eso del switch.
Mira osea mi programa se basa en lo siguiente, es un bot entonces yo quiero establecer las opciones de como funcione, por eso el combobox.
Por ejemplo primero pongo uno que diga:

Elige el numero de flotas a enviar (porque es un juego de guerra)
1
2
3
4
5
6

Elige el numero de la mision que quieres hacer
1
2
3
4
5

Elige el nivel de la mision
Facil
Intermedio
Dificil

Entonces aprieta el boton, llamemoslo Submit y luego con eso arma los eventos que sucedan. Por eso utilize los Ifs, pero si tengo que hacer con todas las opciones posibles mi codigo me quedara hiper largo y confuso, por eso estoy confundido..

$Edu$

Bueno, tienes que plantearte todo siempre en papel con lapiz. Por ejemplo en este caso te conviene crear funciones que hagan lo que pedis, entonces por ejemplo haces asi:

   HacerMision(combox.selectedindex)

Entonces tu funcion seria algo como

bool HacerMision(int numMision)
  ....
  ....
  return true;

No se si me entendes, la llamada a la funcion la haces en el boton que tenga que ver con el combox de los numeros de las misiones..

Si quieres puedes dejar tu codigo y lo miramos y mejoramos lo q puedamos

GonzaFz

Gracias Edu, si se me acaba de ocurrir algo pero primero tengo que probar. Como ya tengo todos los comandos que necesito estoy amando el programa para ir terminandolo y ahi voy a probar algo asi como lo que me dijiste.
Si no me sale y no logro vuelvo a postear asi me ayudas xd.

Gracias =D

$Edu$

Dale, me dices por aca, saludos