Académique Documents
Professionnel Documents
Culture Documents
Altura:
namespace area_de_un_triangulo
{
public partial class Form1 : Form
{
validar val = new validar();
private int p1x, p1y, p2x, p2y, p3x, p3y;
private double ladoa, ladob, ladoc, resa, resb, resc, speri, ha, hb,
hc;
SpeechSynthesizer voz = new SpeechSynthesizer();
public Form1()
{
InitializeComponent();
}
}
private void graficar()
{
Bitmap plano;
plano = new Bitmap(pictureBox1.Width, pictureBox1.Height);
pictureBox1.Image = (Image)plano;
Graphics grafico = Graphics.FromImage(plano);
p1x = int.Parse(txtp1x.Text);
p1y = int.Parse(txtp1y.Text);
p2x = int.Parse(txtp2x.Text);
p2y = int.Parse(txtp2y.Text);
p3x = int.Parse(txtp3x.Text);
p3y = int.Parse(txtp3y.Text);
if (p1x > 600 )
{
MessageBox.Show("punto uno de X, no valido vuelva a
ingresar los valores", "mal ingreso de datos", MessageBoxButtons.OK,
MessageBoxIcon.Exclamation);
txtp1x.Text = "0";
}
if ( p1y > 600 )
{
MessageBox.Show("punto uno de Y, no valido vuelva a
ingresar los valores", "mal ingreso de datos", MessageBoxButtons.OK,
MessageBoxIcon.Exclamation);
txtp1y.Text = "0";
}
if ( p2x > 600 )
{
MessageBox.Show("punto dos de X, no valido vuelva a
ingresar los valores", "mal ingreso de datos", MessageBoxButtons.OK,
MessageBoxIcon.Exclamation);
txtp2x.Text = "0";
}
if (p2y > 600 )
{
MessageBox.Show("punto dos de Y, no valido vuelva a
ingresar los valores", "mal ingreso de datos", MessageBoxButtons.OK,
MessageBoxIcon.Exclamation);
txtp2y.Text = "0";
}
if (p3x > 600)
{
MessageBox.Show("punto tres de X, no valido vuelva a
ingresar los valores", "mal ingreso de datos", MessageBoxButtons.OK,
MessageBoxIcon.Exclamation);
txtp3x.Text = "0";
}
if ( p3y > 600)
{
MessageBox.Show("punto tres de Y, no valido vuelva a
ingresar los valores", "mal ingreso de datos", MessageBoxButtons.OK,
MessageBoxIcon.Exclamation);
txtp3y.Text = "0";
}
if (p1x <= 600 && p1y <= 600 && p2x <= 600 && p2y <=
600 && p3x <= 600 && p3y <= 600)
{
grafico.DrawLine(Pens.DarkRed, new Point(p1x, p1y), new
Point(p2x, p2y));
grafico.DrawLine(Pens.DarkRed, new Point(p2x, p2y), new
Point(p3x, p3y));
}
else
{
voz.Speak("un dato esta fuera de rango de los valores
predeterminados corrjalo por favor");
btcalcular.Visible = false;
gbdatos.Visible = false;
}
}
private void button1_Click(object sender, EventArgs e)
{
graficar();
}
}
private void btcalcular_Click(object sender, EventArgs e)
{
calcular();
gbdatos.Visible = true;
label16.Text = "= "+ladoa.ToString();
label12.Text = "= " + ladoc.ToString();
label13.Text = "= " + ladob.ToString();
label7.Text = "= " + ha.ToString();
label10.Text = "= " + hb.ToString();
label11.Text = "= " + hc.ToString();
label22.Text = "= " + resa.ToString();
label19.Text = "= " + resb.ToString();
label18.Text = "= " + resc.ToString();
label24.Text = "= " + speri.ToString();
}
namespace area_de_un_triangulo
{
class validar
{
public void soloNumeros(KeyPressEventArgs e)
{
try
{
if (Char.IsNumber(e.KeyChar))
{
e.Handled = false;
}
else if (Char.IsControl(e.KeyChar))
{
e.Handled = false;
}
else
{
e.Handled = true;
}
}
catch (Exception ex)
{
}
}
}
Diseo visualizado:
Conclusiones:
Las amplias posibilidades que puede dar vida a un programa de forma
grfica son ms cuestin de ingenio, dando una personalidad a cada
programa.
La programacin est divida de forma ms dinmica pero las
validaciones, pueden ser donde toca aplicar mas razonamiento.