• خطا در هنگام اجرای برنامه در #C
    #1
    Note 
    سلام بر دوستان عزیز
    دوستان من یه مشکل در برنامه دارم اینه که وقتی؛ یک برنامه نوشتم وقتی اجرا می کنم اول از همه به صورت خط به خط اجرا نمی شه و وقتی فرم برنامه میاد بالا و وقتی کلیک می کنم بر روی دکمه مربوط بر روی فرم پیغام خطای Index and length must refer to a location within the string.
    Parameter name: length
    میده حتی به صورت خط به خطم برنامه اجرا نمیشه من نمیدونم باید چه کار کنم ، دوستان یه لطف می کنین کمکم کنین؟؟؟؟؟؟؟؟:coolsmiley02:

    پاسخ
    #2
    Note 
    سلام
    به سافت افزار خوش اومدید
    لطفا سورس برنامتون رو بزارید تا بتونیم بهتر کمکتون کنیم

    See your dreams every where  and every time , try to remember your dreams because a man lives with his dreams forever
    پاسخ
    #3
    Note 
    خط به خط اجرا نمیشه یعنی چی؟ Confusedmiles (14):

    پاسخ
    #4
    Note 
    منظور از خط به خط اجرا شدن کد قرار دادن BreakPoint می باشد که حالت اجرا در نمی آید.

    ابتدا تصویر قبل از اجرای برنامه :
    [تصویر:  ngri3ljwihopi3rvz0o1.jpg]
    تصویر کد program.cs:
    [تصویر:  95zqakf7i15w1h7lkyig.jpg]
    تصویر وقتی برنامه اجرا می کنیم همانطور که در تصویر می بینید BreakPoint ها به صورت غیر فعال می باشند:
    [تصویر:  k257s03e01zb56bbegtw.jpg]

    پاسخ
    #5
    Note 
    کد مربوط به باتونی که بعد از کلیک باعث ایجاد خطا می شود
    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

    آخرین ویرایش: 14-07-2014 ساعت 21:26، توسط softafzar2
    پاسخ
    #6
    Note 
    و خطایی که پس از اجرا شدن برنامه نمایش داده می شود
    [تصویر:  6jvqt6z9c2aeg52ejmua.jpg]

    پاسخ
    #7
    Note 
    یعنی BreakPoint اجرا نمی شود.

    پاسخ
    #8
    Note 
    درود
    کدها رو باید در بلاک کد بذاری اصلا نمیشه خوندش
    یه پروژه دیگه ایجاد کن ببین اونجا هم Breakpoint ها همینطوری ان؟
    خطا ربطی به Breakpoint نداره شم این همه کد گذاشتی ولی نگفتی خطا واسه کجاست؟
    احتمالا واسه substring ه خطا میکه نقطه شروع و طول رو درست مشخص نکردی یعنی عددهایی که دادای به هیچ جای تو رشته اشاره نمیکنن.

    چطور امضا کنم؟  Huh
    پاسخ
    #9
    Note 
    THE KNIGHT نوشته است:درود
    کدها رو باید در بلاک کد بذاری اصلا نمیشه خوندش
    یه پروژه دیگه ایجاد کن ببین اونجا هم Breakpoint ها همینطوری ان؟
    خطا ربطی به Breakpoint نداره شم این همه کد گذاشتی ولی نگفتی خطا واسه کجاست؟

    احتمالا واسه substring ه خطا میکه نقطه شروع و طول رو درست مشخص نکردی یعنی عددهایی که دادای به هیچ جای تو رشته اشاره نمیکنن.
    سلام دوستم!
    مشکل اینجاست که اصلاً من نمیدونم مشکل از کدوم خط چون پیغام روی خط نشون نمیده وقتی پیغام ظاهر میشه پنجرهی Disassembly نمایش داده میشود وپنجره خطا در آنجا به نمایش در میآید؟؟

    کد :

    [ //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
    ]

    پاسخ
    #10
    Note 
    کد برنامم به صورت عکس:
    [تصویر:  9mcpm9b95esqegc9sp0r.jpg]
    [تصویر:  n1ya7jz69ac9oapa8uhk.jpg]
    [تصویر:  oxn6j9t7tplsna8jd22d.jpg]
    [تصویر:  tvbjqgatx199x244n8vo.jpg]

    پاسخ
    ایجاد موضوع جدید   پاسخ به موضوع  

    کاربرانِ درحال بازدید از این موضوع:   1 مهمان