سلام بر دوستان عزیز
دوستان من یه مشکل در برنامه دارم اینه که وقتی؛ یک برنامه نوشتم وقتی اجرا می کنم اول از همه به صورت خط به خط اجرا نمی شه و وقتی فرم برنامه میاد بالا و وقتی کلیک می کنم بر روی دکمه مربوط بر روی فرم پیغام خطای Index and length must refer to a location within the string.
Parameter name: length
میده حتی به صورت خط به خطم برنامه اجرا نمیشه من نمیدونم باید چه کار کنم ، دوستان یه لطف می کنین کمکم کنین؟؟؟؟؟؟؟؟:coolsmiley02:
سلام
به سافت افزار خوش اومدید
لطفا سورس برنامتون رو بزارید تا بتونیم بهتر کمکتون کنیم
خط به خط اجرا نمیشه یعنی چی؟ :smiles (14):
منظور از خط به خط اجرا شدن کد قرار دادن BreakPoint می باشد که حالت اجرا در نمی آید.
ابتدا تصویر قبل از اجرای برنامه :
تصویر کد program.cs:
تصویر وقتی برنامه اجرا می کنیم همانطور که در تصویر می بینید BreakPoint ها به صورت غیر فعال می باشند:
کد مربوط به باتونی که بعد از کلیک باعث ایجاد خطا می شود
private void button1_Click(object sender, EventArgs e)
{
//date.now
string a = "", b = "", sal = "", mah = "", roz = "", Msal = "", Mmah = "", Mroz = "";
int l8 = 0, shMakos = 0, sh = 0;
textBox8.Text = string.Format("{0:d}", DateTime.Now);
a = textBox8.Text;
l8 = a.Length;
for (int i = 0; i < l8; i++)
{
b = a.Substring(i, 1);
if (b == "/")
{
shMakos++;
continue;
}
else
{
if (shMakos == 0) Mmah += b;//yani barabar Mmah(makos mah)
if (shMakos == 1) Mroz += b;//yani barabar Mroz(makos roz)
if (shMakos == 2) Msal += b;//yani barabar Msal(makos sal)
}
}//End for
textBox8.Text = Msal + "/" + Mmah + "/" + Mroz;//makos tarikh ra dar TEXT berizad
//joda kardne tarikh
b = "";
a = textBox8.Text;
l8 = a.Length;
for (int j = 0; j < l8; j++)
{
b = a.Substring(j, 1);
if (b == "/")
{
sh++;
continue;
}
else
{
if (sh == 0) sal += b;
if (sh == 1) mah += b;
if (sh == 2) roz += b;
}
}//end for
YearD = sal;
MonthD = mah;
RouzD = roz;
//delete ALL jadval chek emtehan
selectcheknomreh1TableAdapter.Delete();
selectcheknomreh1TableAdapter.Fill(dB_AlmaniDataSet.selectcheknomreh1);
//
if (textBox1.Text == "") textBox1.BackColor = Color.LightPink;
if (comboBox1.SelectedIndex == null || textBox2.Text == " " || textBox2.Text == "") label2.ForeColor = Color.Red;
//chek kardan cod rahgiri
bool? chekCODr = false;
chekcodrahgiriTableAdapter.Fill(dB_AlmaniDataSet.chekcodrahgiri, textBox1.Text, ref chekCODr);//cod rahgiri ra barresi mikounad ke aya daneshjo sabt name karde ya kheyr.
if (chekCODr == true)
{
//taeen sath
if (textBox1.ForeColor != Color.LightPink && label2.ForeColor != Color.Red && comboBox1.SelectedIndex == 0)//taeen sath
{
int? tedadtaeen = 0;
tedadtaeenTableAdapter.Fill(dB_AlmaniDataSet.tedadtaeen, ref tedadtaeen);//tedad soualat ra daryaft mikounad
textBox4.Text = tedadtaeen.ToString();
//timer
timerEmtehan = tedadtaeen;
timerEmtehan = timerEmtehan * 60;//tabdil be sanie
textBox6.Text = tedadtaeen.ToString();
timer1.Enabled = true;
//end timer
if (tedadtaeen > 0)
{
selecttaeenTableAdapter.Fill(dB_AlmaniDataSet.selecttaeen);//entekhab soualat (records)
for (int i = 0; i <= tedadtaeen; i++)
{
DataRow rowt = dB_AlmaniDataSet.selecttaeen[i];
textBox5.Text = rowt["Sh_taeen"].ToString();//shomareh soual
richTextBox1.Text = rowt["Soual_taeen"].ToString();//soual
richTextBox2.Text = rowt["A_taeen"].ToString();//a
richTextBox3.Text = rowt["B_taeen"].ToString();//b
richTextBox4.Text = rowt["C_taeen"].ToString();//c
richTextBox5.Text = rowt["D_taeen"].ToString();//d
button1.Enabled = false;
comboBox1.Enabled = false;
textBox1.Enabled = false;
panel1.Visible = true;
break;
}
}
}
//end
و خطایی که پس از اجرا شدن برنامه نمایش داده می شود
یعنی BreakPoint اجرا نمی شود.
درود
کدها رو باید در بلاک کد بذاری اصلا نمیشه خوندش
یه پروژه دیگه ایجاد کن ببین اونجا هم Breakpoint ها همینطوری ان؟
خطا ربطی به Breakpoint نداره شم این همه کد گذاشتی ولی نگفتی خطا واسه کجاست؟
احتمالا واسه substring ه خطا میکه نقطه شروع و طول رو درست مشخص نکردی یعنی عددهایی که دادای به هیچ جای تو رشته اشاره نمیکنن.
کد :
[ //date.now
string a = "", b = "", sal = "", mah = "", roz = "", Msal = "", Mmah = "", Mroz = "";
int l8 = 0, shMakos = 0, sh = 0;
textBox8.Text = string.Format("{0:d}", DateTime.Now);
a = textBox8.Text;
l8 = a.Length;
for (int i = 0; i < l8; i++)
{
b = a.Substring(i, 1);
if (b == "/")
{
shMakos++;
continue;
}
else
{
if (shMakos == 0) Mmah += b;//yani barabar Mmah(makos mah)
if (shMakos == 1) Mroz += b;//yani barabar Mroz(makos roz)
if (shMakos == 2) Msal += b;//yani barabar Msal(makos sal)
}
}//End for
textBox8.Text = Msal + "/" + Mmah + "/" + Mroz;//makos tarikh ra dar TEXT berizad
//joda kardne tarikh
b = "";
a = textBox8.Text;
l8 = a.Length;
for (int j = 0; j < l8; j++)
{
b = a.Substring(j, 1);
if (b == "/")
{
sh++;
continue;
}
else
{
if (sh == 0) sal += b;
if (sh == 1) mah += b;
if (sh == 2) roz += b;
}
}//end for
YearD = sal;
MonthD = mah;
RouzD = roz;
//delete ALL jadval chek emtehan
selectcheknomreh1TableAdapter.Delete();
selectcheknomreh1TableAdapter.Fill(dB_AlmaniDataSet.selectcheknomreh1);
//
if (textBox1.Text == "") textBox1.BackColor = Color.LightPink;
if (comboBox1.SelectedIndex == null || textBox2.Text == " " || textBox2.Text == "") label2.ForeColor = Color.Red;
//chek kardan cod rahgiri
bool? chekCODr = false;
chekcodrahgiriTableAdapter.Fill(dB_AlmaniDataSet.chekcodrahgiri, textBox1.Text, ref chekCODr);//cod rahgiri ra barresi mikounad ke aya daneshjo sabt name karde ya kheyr.
if (chekCODr == true)
{
//taeen sath
if (textBox1.ForeColor != Color.LightPink && label2.ForeColor != Color.Red && comboBox1.SelectedIndex == 0)//taeen sath
{
int? tedadtaeen = 0;
tedadtaeenTableAdapter.Fill(dB_AlmaniDataSet.tedadtaeen, ref tedadtaeen);//tedad soualat ra daryaft mikounad
textBox4.Text = tedadtaeen.ToString();
//timer
timerEmtehan = tedadtaeen;
timerEmtehan = timerEmtehan * 60;//tabdil be sanie
textBox6.Text = tedadtaeen.ToString();
timer1.Enabled = true;
//end timer
if (tedadtaeen > 0)
{
selecttaeenTableAdapter.Fill(dB_AlmaniDataSet.selecttaeen);//entekhab soualat (records)
for (int i = 0; i <= tedadtaeen; i++)
{
DataRow rowt = dB_AlmaniDataSet.selecttaeen[i];
textBox5.Text = rowt["Sh_taeen"].ToString();//shomareh soual
richTextBox1.Text = rowt["Soual_taeen"].ToString();//soual
richTextBox2.Text = rowt["A_taeen"].ToString();//a
richTextBox3.Text = rowt["B_taeen"].ToString();//b
richTextBox4.Text = rowt["C_taeen"].ToString();//c
richTextBox5.Text = rowt["D_taeen"].ToString();//d
button1.Enabled = false;
comboBox1.Enabled = false;
textBox1.Enabled = false;
panel1.Visible = true;
break;
}
}
}
//end
]
کد برنامم به صورت عکس:
سوال برنامه نویسی دارید؟
ندونستن عیب نیست، نپرسیدن چرا!