• Jueves 28 de Marzo de 2024, 17:18

Autor Tema:  Como validar todos los textbox al mismo tiempo  (Leído 6531 veces)

rogerfor

  • Miembro activo
  • **
  • Mensajes: 57
    • Ver Perfil
Como validar todos los textbox al mismo tiempo
« en: Domingo 3 de Junio de 2012, 03:19 »
0
buenas noches, tengo un programa cuya basica sintaxis es esta

Código: C#
  1. if (Convert.ToInt16(AA.Text).Equals(1))
  2.                         {
  3.                             grafo.WriteLine("A -> A;");
  4.                         }
  5.                         else
  6.                         {
  7.                             grafo.WriteLine("");
  8.                         }

y son como 25 de estos, pero a la hora que haya alguno vacio me da error, la cuestion es como puedo decirle a todos los textbos que si esta null no haga nada o salte un mensaje que escriba un valor, he probado solo comillas pero me da error no se por que espero me puedan ayudar gracias.

U2_Caparzo

  • Miembro activo
  • **
  • Mensajes: 45
  • Nacionalidad: cl
  • Super duper divertido xDD
    • Ver Perfil
Re:Como validar todos los textbox al mismo tiempo
« Respuesta #1 en: Domingo 3 de Junio de 2012, 05:05 »
0
podrias probar con algo como

Código: [Seleccionar]
short Value;
            foreach (Control c in this.Controls)
                if (c is TextBox)
                    if (string.IsNullOrEmpty(c.Text))
                        continue;
                    else
                    {
                        short.TryParse(c.Text, out Value);
                        if (Value.Equals(1))
                        {
                            grafo.WriteLine("A -> A;");
                        }
                        else
                            grafo.WriteLine("");
                    }
Lo dificil se hace... lo imposible se intenta
Todos somos muy ignorantes. Lo que ocurre es que no todos ignoramos las mismas cosas.(Frase de Albert Einstein)

rogerfor

  • Miembro activo
  • **
  • Mensajes: 57
    • Ver Perfil
Re:Como validar todos los textbox al mismo tiempo
« Respuesta #2 en: Lunes 4 de Junio de 2012, 05:02 »
0
La verdad no entiendo muy bien eso, tengo como 25 de esos if uno tras otro, como lo integro a lo que tengo?? no entendi muy bien ese codigo. disculpa es que aun soy novato.


Esto es lo que tengo, me detecta que si hay un textbox en blanco pero luego me da error y me dice que la cadena es incorrecta

https://gist.github.com/2866260
« última modificación: Lunes 4 de Junio de 2012, 06:06 por rogerfor »

U2_Caparzo

  • Miembro activo
  • **
  • Mensajes: 45
  • Nacionalidad: cl
  • Super duper divertido xDD
    • Ver Perfil
Re:Como validar todos los textbox al mismo tiempo
« Respuesta #3 en: Lunes 4 de Junio de 2012, 15:45 »
0
asi lo haria yo, tiene los mismos nombres que en el tuyo asi que no habria problemas, el final no lo entendi mucho asi que lo deje tal cual estaba.

Código: [Seleccionar]
using System;
using System.Diagnostics;
using System.IO;
using System.Text;
using System.Windows.Forms;

namespace ProyectoGrafos
{
    public partial class Grafos  : Form
    {
        public Grafos()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            {
                StringBuilder grafo = new StringBuilder();
                grafo.AppendLine("diagraph A{");
                foreach (Control c in this.Controls)
                {
                    if (c is TextBox)
                    {
                        if (string.IsNullOrEmpty(c.Text))
                        {
                            MessageBox.Show("Ingrese todos los valores.", "Error de validación",
                                            MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                            return;
                        }
                        else
                        {
                            byte Valor;
                            byte.TryParse(c.Text, out Valor);
                            if (Valor.Equals(1))
                                grafo.AppendLine(c.Name.Substring(0, 1) + " -> " + c.Name.Substring(1, 1));
                            else
                                grafo.AppendLine();
                        }
                    }
                }
                grafo.AppendLine("}");
                File.WriteAllText(@"grafo.dot", grafo.ToString());

                #region Guardar y Crear la imagen
                saveFileDialog1.Filter = "Archivos de imagen (*.png)|*.png";

                saveFileDialog1.Title = "Nombre para el archivo";
                if (saveFileDialog1.ShowDialog() == DialogResult.OK)
                {
                    ProcessStartInfo Grafo = new ProcessStartInfo(@"dot.exe");
                    Grafo.Arguments = "grafo.dot -o " + saveFileDialog1.FileName + " -Tpng -Grankdir=LR";
                    Grafo.UseShellExecute = true;
                    Process.Start(Grafo);
                }
                #endregion
            }
        }
    }
}


Suerte!
Lo dificil se hace... lo imposible se intenta
Todos somos muy ignorantes. Lo que ocurre es que no todos ignoramos las mismas cosas.(Frase de Albert Einstein)

rogerfor

  • Miembro activo
  • **
  • Mensajes: 57
    • Ver Perfil
Re:Como validar todos los textbox al mismo tiempo
« Respuesta #4 en: Lunes 4 de Junio de 2012, 22:03 »
0
Wow!! enserio muchas gracias muy buen código, de verdad te lo agradezco mucho, ahora estoy tratando de que me cargue la imagen creada pero eso creo que si puedo, la ultima cosa que si no es mucho pedir es que como le agrego para que no me acepte letras he probado agregar al if del textbox en blanco &&codigoparaletras pero me bota al momento de agregar letra, aunque lo que hiciste si introduzco letra no me da error pero el ing quiere total manejo de excepciones en el código ¬¬ de verdad te agradezco esa ayuda de ha servido de mucho, y pues donde puedo aprender a programar asi? por que no tenia idea de que todo lo que hice se podia abreviar de esa manera, si conoces algun manual o de que forma puedo lograr llegar a eso te lo agradecere mucho, enserio.
saludos y de verdad gracias.

U2_Caparzo

  • Miembro activo
  • **
  • Mensajes: 45
  • Nacionalidad: cl
  • Super duper divertido xDD
    • Ver Perfil
Re:Como validar todos los textbox al mismo tiempo
« Respuesta #5 en: Martes 12 de Junio de 2012, 01:49 »
0
pues la verdad no sabria hacer que no acepte letras de una manera correcta, pero se me ocurren 2 soluciones (sin contar try/catch que es algo lento)

char[] numeros = new char{'0', '1', '2', '3', '4', '5', '6', '7', '8', '9'};
o bien
string numeros = "0123456789";


1.- Seria al momento de presionar el boton revisar si para cada char en cada textbox es contenido en "numeros", y si no borrarlo.
2.- Algo poco eficiente, seria tener un Timer, y cada cierto intervalo, por ejemplo 100 ms revisar cada char en cada textbox, si esta contenido en "numeros", o sino borrarlo.

la diferencia esta en que quieres, algo un poco mejor, pero menos comodo para el usuario, o que borre las letras automaticamente cada cierto intervalo.
Lo dificil se hace... lo imposible se intenta
Todos somos muy ignorantes. Lo que ocurre es que no todos ignoramos las mismas cosas.(Frase de Albert Einstein)

gabio2

  • Miembro MUY activo
  • ***
  • Mensajes: 402
  • Nacionalidad: mx
    • Ver Perfil
Re:Como validar todos los textbox al mismo tiempo
« Respuesta #6 en: Martes 12 de Junio de 2012, 04:47 »
0
Puedes investigar acerca del char.IsLetter aquí puedes ver.. http://msdn.microsoft.com/es-es/library/yyxz6h5w%28v=VS.80%29.aspx

NO he leído todo el tema, pero si es para validar si es una letra eso haría.. pero repito NO estoy en contexto de todo el tema. :) ..



Saludos!
@gabio87