PDA

View Full Version : خطای : Unable to cast object of type 'System.Windows.Forms.TextBox' to type 'System.IConvertible'.



mahmata
سه شنبه 17 تیر 1393, 23:22 عصر
سلام
برنامه رو وقتی رو اجرا میکنم و دکمه ی اجرا رو میزنم باید خروجی رو در یک تکست باکس نمایش بده ولی این خطا رو میده
Unable to cast object of type 'System.Windows.Forms.TextBox' to type 'System.IConvertible'


(http://www.codeproject.com/Questions/554909/Unableplustopluscastplusobjectplusofplustypeplus)
دلیلش چیه؟ :ناراحت:
البته اینم بگم که برنامه ی من محاسباتی هست و ورودی هایی که از تکست باکس ها گرفتم رو در برنامه به double تبدیل کردم. نمیدونم خودم احساس میکنم دلیلش شاید این باشه! چیکار کنم؟:افسرده:

sh
سه شنبه 17 تیر 1393, 23:48 عصر
خطا مربوط به تبدیل یک type به نوع دیگر است که باید کد های نوشته شده را بگذاری تا بتوان کد حاوی خطا را تشخیص داد

mahmata
چهارشنبه 18 تیر 1393, 13:07 عصر
اینم کدم
خواهشا کمکم کنید :ناراحت:

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 finalproject
{
public partial class Form4 : Form
{
public Form4()
{
InitializeComponent();
}


private void button2_Click(object sender, EventArgs e)
{
double a = 0;
double b = 0;
double c = 0;
double d = 0;
double Sigma_z = 0;//meter
double Sigma_y = 0;//meter
string StabilityCat = "";
double x_meter = Convert.ToDouble(textBox8.Text);
double x_kilometer = x_meter / 1000;
double WindSpeed = Convert.ToDouble(textBox7.Text);
double gas_Exit_Velocity = Convert.ToDouble(textBox2);
double Pressure = Convert.ToDouble(textBox11.Text);
double air_tempreture = Convert.ToDouble(textBox6.Text);
double stack_tempreture = Convert.ToDouble(textBox3.Text);
double Concentration = 0;
double Q = Convert.ToDouble(textBox5.Text); // Emission Rate
double Pi = Math.PI;
double e_constant = Math.E;
double y = Convert.ToDouble(textBox9.Text);
double z = Convert.ToDouble(textBox10.Text);


//***************************
double h_stack = Convert.ToDouble(textBox10.Text);
double Stack_Diameter = Convert.ToDouble(textBox4.Text) ;


if (gas_Exit_Velocity < 1.5 * WindSpeed)
h_stack = h_stack + 2 * Stack_Diameter * ((gas_Exit_Velocity / WindSpeed) - 1.5);

//***************delta h ****************
/// Plume rise
double delta_h = ((gas_Exit_Velocity * Stack_Diameter) / WindSpeed) * (1.5 + ((2.68 / 1000) * Pressure * ((stack_tempreture - air_tempreture) / stack_tempreture) * Stack_Diameter));


//********************* H ***************
/// effective stack height
double H = h_stack + delta_h;

if (WindSpeed < 2 && comboBox1.Text == "Day")
{


if (comboBox2.Text == "Strong")
StabilityCat = "A";
if (comboBox2.Text == "Moderate to strong")
StabilityCat = "A";
if (comboBox2.Text == "Moderate to slight")
StabilityCat = "B";
if (comboBox2.Text == "Slight")
StabilityCat = "B";
}
if (WindSpeed >= 2 && WindSpeed < 3 && comboBox1.Text == "Day")
{
if (comboBox2.Text == "Strong")
StabilityCat = "A";
if (comboBox2.Text == "Moderate to strong")
StabilityCat = "B";
if (comboBox2.Text == "Moderate to slight")
StabilityCat = "B";
if (comboBox2.Text == "Slight")
StabilityCat = "C";


}
if (WindSpeed >= 3 && WindSpeed < 5 && comboBox1.Text == "Day")
{
if (comboBox2.Text == "Strong")
StabilityCat = "B";
if (comboBox2.Text == "Moderate to strong")
StabilityCat = "B";
if (comboBox2.Text == "Moderate to slight")
StabilityCat = "C";
if (comboBox2.Text == "Slight")
StabilityCat = "C";
}
if (WindSpeed >= 5 && WindSpeed < 6 && comboBox1.Text == "Day")
{
if (comboBox2.Text == "Strong")
StabilityCat = "C";
if (comboBox2.Text == "Moderate to strong")
StabilityCat = "C";
if (comboBox2.Text == "Moderate to slight")
StabilityCat = "D";
if (comboBox2.Text == "Slight")
StabilityCat = "D";
}
if (WindSpeed >= 6 && comboBox1.Text == "Day")
{
if (comboBox2.Text == "Strong")
StabilityCat = "C";
if (comboBox2.Text == "Moderate to strong")
StabilityCat = "D";
if (comboBox2.Text == "Moderate to slight")
StabilityCat = "D";
if (comboBox2.Text == "Slight")
StabilityCat = "D";
}
if (WindSpeed < 2 && comboBox1.Text == "Night")
{
if (comboBox3.Text == "Smooth")
StabilityCat = "F";
if (comboBox3.Text == "Cloudiness")
StabilityCat = "F";
}
if (WindSpeed >= 2 && WindSpeed < 3 && comboBox1.Text == "Night")
{
if (comboBox3.Text == "Smooth")
StabilityCat = "F";
if (comboBox3.Text == "Cloudiness")
StabilityCat = "E";
}
if (WindSpeed >= 3 && WindSpeed < 5 && comboBox1.Text == "Night")
{
if (comboBox3.Text == "Smooth")
StabilityCat = "E";
if (comboBox3.Text == "Cloudiness")
StabilityCat = "D";
}
if (WindSpeed >= 5 && WindSpeed < 6 && comboBox1.Text == "Night")
{
if (comboBox3.Text == "Smooth")
StabilityCat = "D";
if (comboBox3.Text == "Cloudiness")
StabilityCat = "D";
}
if (WindSpeed >= 6 && comboBox1.Text == "Night")
{
if (comboBox3.Text == "Smooth")
StabilityCat = "D";
if (comboBox3.Text == "Cloudiness")
StabilityCat = "D";
}



if (comboBox5.Text == "Pasquill-Gifford")
{
//



if (StabilityCat == "A")
{
c = 24.1670;
d = 2.5334;
if (x_kilometer < 0.10) { a = 122.800; b = 0.94470; }


if (x_kilometer >= 0.10 && x_kilometer <= 0.15) { a = 158.080; b = 1.05420; }


if (x_kilometer >= 0.16 && x_kilometer <= 0.20) { a = 170.220; b = 1.09320; }


if (x_kilometer >= 0.21 && x_kilometer <= 0.25) { a = 179.520; b = 1.12620; }


if (x_kilometer >= 0.26 && x_kilometer <= 0.30) { a = 217.410; b = 1.26440; }


if (x_kilometer >= 0.31 && x_kilometer <= 0.40) { a = 258.890; b = 1.40940; }


if (x_kilometer >= 0.41 && x_kilometer <= 0.5) { a = 346.750; b = 1.72830; }


if (x_kilometer >= 0.51 && x_kilometer <= 3.11) { a = 453.850; b = 2.11660; }

if (x_kilometer > 3.11) { Sigma_z = 5000; }



Sigma_z = (a * Math.Pow(x_kilometer, b)) * 1000;
if (Sigma_z > 5000) Sigma_z = 5000;


Sigma_y = (c * Math.Pow(x_kilometer, d)) * 1000;


}
if (StabilityCat == "B")
{
c = 18.3330;
d = 1.8096;
if (x_kilometer <= 0.20) { a = 90.673; b = 0.93198; }
if (x_kilometer >= 0.21 && x_kilometer <= 0.40) { a = 98.483; b = 0.98332; }
if (x_kilometer > 0.40) { a = 109.300; b = 1.09710; }


Sigma_z = (a * Math.Pow(x_kilometer, b)) * 1000;
if (Sigma_z > 5000) Sigma_z = 5000;


Sigma_y = (c * Math.Pow(x_kilometer, d)) * 1000;
}
if (StabilityCat == "C")
{
c = 12.5000;
d = 1.0857;
a = 61.141;
b = 0.91465;


Sigma_z = (a * Math.Pow(x_kilometer, b)) * 1000;
if (Sigma_z > 5000) Sigma_z = 5000;


Sigma_y = (c * Math.Pow(x_kilometer, d)) * 1000;
}
if (StabilityCat == "D")
{
c = 8.3330;
d = 0.72382;
if (x_kilometer <= 0.30) { a = 34.459; b = 0.86974; }
if (x_kilometer >= 0.31 && x_kilometer <= 1.00) { a = 32.093; b = 0.81066; }
if (x_kilometer >= 1.01 && x_kilometer <= 3.00) { a = 32.093; b = 0.64403; }
if (x_kilometer >= 3.01 && x_kilometer <= 10.00) { a = 33.504; b = 0.60486; }
if (x_kilometer >= 10.01 && x_kilometer <= 30.00) { a = 36.650; b = 0.56589; }
if (x_kilometer > 30.00) { a = 44.053; b = 0.51179; }


Sigma_z = (a * Math.Pow(x_kilometer, b)) * 1000;


Sigma_y = (c * Math.Pow(x_kilometer, d)) * 1000;
}
if (StabilityCat == "E")
{
c = 6.2500;
d = 0.54287;
if (x_kilometer < 0.10) { a = 24.260; b = 0.83660; }
if (x_kilometer >= 0.10 && x_kilometer <= 0.30) { a = 23.331; b = 0.81956; }
if (x_kilometer >= 0.31 && x_kilometer <= 1.00) { a = 21.628; b = 0.75660; }
if (x_kilometer >= 1.01 && x_kilometer <= 2.00) { a = 21.628; b = 0.63077; }
if (x_kilometer >= 2.01 && x_kilometer <= 4.00) { a = 22.534; b = 0.57154; }
if (x_kilometer >= 4.01 && x_kilometer <= 10.00) { a = 24.703; b = 0.50527; }
if (x_kilometer >= 10.01 && x_kilometer <= 20.00) { a = 26.970; b = 0.46713; }
if (x_kilometer >= 20.01 && x_kilometer <= 40.00) { a = 35.420; b = 0.37615; }
if (x_kilometer > 40.00) { a = 47.618; b = 0.29592; }


Sigma_z = (a * Math.Pow(x_kilometer, b)) * 1000;

Sigma_y = (c * Math.Pow(x_kilometer, d)) * 1000;
}
if (StabilityCat == "F")
{
c = 4.1667;
d = 0.36191;
if (x_kilometer < 0.20) { a = 15.209; b = 0.81558; }
if (x_kilometer >= 0.21 && x_kilometer <= 0.70) { a = 14.457; b = 0.87407; }
if (x_kilometer >= 0.71 && x_kilometer <= 1.00) { a = 13.953; b = 0.68465; }
if (x_kilometer >= 1.01 && x_kilometer <= 2.00) { a = 13.953; b = 0.63227; }
if (x_kilometer >= 2.01 && x_kilometer <= 3.00) { a = 14.823; b = 0.54503; }
if (x_kilometer >= 3.01 && x_kilometer <= 7.00) { a = 16.187; b = 0.46490; }
if (x_kilometer >= 7.01 && x_kilometer <= 15.00) { a = 17.836; b = 0.41507; }
if (x_kilometer >= 15.01 && x_kilometer <= 30.00) { a = 22.651; b = 0.32681; }
if (x_kilometer >= 30.01 && x_kilometer <= 60.00) { a = 27.074; b = 0.27436; }
if (x_kilometer > 60.00) { a = 34.219; b = 0.21716; }


Sigma_z = (a * Math.Pow(x_kilometer, b)) * 1000;


Sigma_y = (c * Math.Pow(x_kilometer, d)) * 1000;
}
}
else
{
if (StabilityCat == "A") {


Sigma_y = 0.32 * x_meter * Math.Pow((1.0 + 0.0004 * x_meter), -0.5);
Sigma_z = 0.24 * x_meter * Math.Pow((1.0 + 0.001 * x_meter), 0.5);
}
if (StabilityCat == "B")
{


Sigma_y = 0.32 * x_meter * Math.Pow((1.0 + 0.0004 * x_meter), -0.5);
Sigma_z = 0.24 * x_meter * Math.Pow((1.0 + 0.001 * x_meter), 0.5);
}
if (StabilityCat == "C")
{


Sigma_y = 0.22 * x_meter * Math.Pow((1.0 + 0.0004 * x_meter), -0.5);
Sigma_z = 0.20 * x_meter;
}
if (StabilityCat == "D")
{


Sigma_y = 0.16 * x_meter * Math.Pow((1.0 + 0.0004 * x_meter), -0.5);
Sigma_z = 0.14 * x_meter * Math.Pow((1.0 + 0.003 * x_meter), -0.5);
}
if (StabilityCat == "E")
{


Sigma_y = 0.11 * x_meter * Math.Pow((1.0 + 0.0004 * x_meter), -0.5);
Sigma_z = 0.08 * x_meter * Math.Pow((1.0 + 0.015 * x_meter), 0.5);
}
if (StabilityCat == "B")
{


Sigma_y = 0.11 * x_meter * Math.Pow((1.0 + 0.0004 * x_meter), -0.5);
Sigma_z = 0.08 * x_meter * Math.Pow((1.0 + 0.015 * x_meter), -0.5);
}
}



if (comboBox4.Text == "With reflection")
{
Concentration = (Q / (2 * Pi * WindSpeed * Sigma_y * Sigma_z)) *
(Math.Pow(e_constant, (-0.5 * Math.Pow(y / Sigma_y, 2)))) *
((Math.Pow(e_constant, (-0.5 * Math.Pow((z - H) / Sigma_z, 2)))) + (Math.Pow(e_constant, (-0.5 * Math.Pow((z - H) / Sigma_z, 2)))));


textBox17.Text = Convert.ToString(Concentration);
}
textBox17.Text = Convert.ToString(Concentration);


}







}
}

plus
چهارشنبه 18 تیر 1393, 14:02 عصر
double gas_Exit_Velocity = Convert.ToDouble(textBox2);

Text. رو جا گذاشتین.
وقتی یک چنین خطایی گرفته میشه خطش رو هم به شما نشون میده کمی دقت کنید راحت متوجه میشین مشکل از چیه...

mahmata
چهارشنبه 18 تیر 1393, 14:17 عصر
عجبا! ببخشید واقعا نمیدونم چرا دقت نکردم :لبخند:
اجرا شد :خجالت: