CLR: .Net / Mono / Boo / Otros CLR > C#
Como validar todos los textbox al mismo tiempo
rogerfor:
buenas noches, tengo un programa cuya basica sintaxis es esta
--- Código: C# ---if (Convert.ToInt16(AA.Text).Equals(1)) { grafo.WriteLine("A -> A;"); } else { grafo.WriteLine(""); }
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:
podrias probar con algo como
--- Código: ---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("");
}
--- Fin del código ---
rogerfor:
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
U2_Caparzo:
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: ---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
}
}
}
}
--- Fin del código ---
Suerte!
rogerfor:
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.
Navegación
[#] Página Siguiente
Ir a la versión completa