یادگیری C# (بررسی سئوالات و مشکلات)

Miss World

کاربر حرفه ای
کاربر ممتاز
سلام
من یه برنامه نوشتم تو سی شارپ، به مشکل برخوردم
که برنامه رو واستون ضمیمه میکنم


بیس برنامم درسته.فقط قسمتbutton لیست باکسشو ایراد میگیره..وقتی میخام اعداد ارایه رو تو لیست باکس بهم نشون بده

Untitled.jpg
 

شهریاری 2

کاربر فعال تالار اسلام و قرآن
کاربر ممتاز
سلام
من یه برنامه نوشتم تو سی شارپ، به مشکل برخوردم
که برنامه رو واستون ضمیمه میکنم


بیس برنامم درسته.فقط قسمتbutton لیست باکسشو ایراد میگیره..وقتی میخام اعداد ارایه رو تو لیست باکس بهم نشون بده

مشاهده پیوست 254197

سلام
ببخشید عکستون یه کم واضح نیست.
نمیشه هیچی ازش خوند.
یا یه کم بزرگتر و واضحتر بگیرید یا اینکه متن ارور هارو بنویسید.
 

شهریاری 2

کاربر فعال تالار اسلام و قرآن
کاربر ممتاز
کاری که شما گفتین رو انجام دادم بازم خطا میده:
http://8pic.ir/images/vv28fy9cd93fqpedrgfd.png

این خطا برای اینه که شما آرایه arraya رو در بدنه رویداد کلیک یه دکمه دیگه تعریف کردید.
باید کنار آرایه a تعریفش کنید.
اگه بازم کار نکرد، یه عکس از کل کدتون، و یه عکس از ارورتون بزارید تا دوباره بررسی کنیم.
 

Miss World

کاربر حرفه ای
کاربر ممتاز
این خطا برای اینه که شما آرایه arraya رو در بدنه رویداد کلیک یه دکمه دیگه تعریف کردید.
باید کنار آرایه a تعریفش کنید.
اگه بازم کار نکرد، یه عکس از کل کدتون، و یه عکس از ارورتون بزارید تا دوباره بررسی کنیم.

متاسفانه بازم ارور داد:

http://8pic.ir/images/7fn9c97f25t4m3u13u45.png
 

N O X

عضو جدید
کاربر ممتاز
تو خط اخر کدت بعد add مساوی نمیخاد
PHP:
listbox1.items.add(arraya[i].tostring());
البته اینو تو کد خودت بنویس قبل از اینکه تغییری توش داده باشی
احتمالا بعد درست کردن لیست باکس دوباره ارور بده که ارایتو نمیشناسه
اگه بشه ارایتو تو ی تایع تعریف کنی احتمالا مشکلت رفع بشه
من متاسفانه ویژوالم پاک شده مگرنه بهتر راهنمایی میکردم
 
آخرین ویرایش:

شهریاری 2

کاربر فعال تالار اسلام و قرآن
کاربر ممتاز
خانم مهندس شما چندتا کارو انجام بدید:

1- خط های زیر رو پاک کنید:

PHP:
int arraya;
از توی دکمه

و همینطور:

PHP:
int[] arraya = new int[10];
از توی تکست باکس

بعد بالای رویداد تکست باکستون اینو بنویسید:

PHP:
int[] arraya = new int[10];

یعنی اینطوری:

PHP:
int[] arraya = new int[10];
private void textBox1_TextChanged(object sender , EventArgs e)
{
..
}

2- کاری که باید بکنید این هست که این خط رو اصلاح کنید:

PHP:
listBox1.Items.Add = arraya[i].tostring();

به صورت زیر اصلاح کنید:

PHP:
listBox1.Items.Add(arraya[i].ToString());

به بزرگ کوچیک بودن حروف توجه کنید. سی شارپ حساسه به اندازه حروف
 
آخرین ویرایش:

Miss World

کاربر حرفه ای
کاربر ممتاز
خانم مهندس شما چندتا کارو انجام بدید:

1- خط های زیر رو پاک کنید:

PHP:
int arraya;
از توی دکمه

و همینطور:

PHP:
int[] arraya = new int[10];
از توی تکست باکس

بعد بالای رویداد تکست باکستون اینو بنویسید:

PHP:
int[] arraya = new int[10];

یعنی اینطوری:

PHP:
int[] arraya = new int[10];
private void textBox1_TextChanged(object sender , EventArgs e)
{
..
}

2- کاری که باید بکنید این هست که این خط رو اصلاح کنید:

PHP:
listBox1.Items.Add = arraya[i].tostring();

به صورت زیر اصلاح کنید:

PHP:
listBox1.Items.Add(arraya[i].ToString());

به بزرگ کوچیک بودن حروف توجه کنید. سی شارپ حساسه به اندازه حروف

الان اجرا میشه ولی هرعددی که وارد میکنم پیام میسیج باکس رو نشون میده و وقتی روی باتم کلیک میکنم که اعداد رو توی لیست باکس نشون بده ارور میده ومتوقف میشه

http://8pic.ir/images/l9mpiehpqos8whwukec8.png
http://8pic.ir/images/18qz3gl08et0jfkk20pv.png
 

شهریاری 2

کاربر فعال تالار اسلام و قرآن
کاربر ممتاز
الان اجرا میشه ولی هرعددی که وارد میکنم پیام میسیج باکس رو نشون میده و وقتی روی باتم کلیک میکنم که اعداد رو توی لیست باکس نشون بده ارور میده ومتوقف میشه

http://8pic.ir/images/l9mpiehpqos8whwukec8.png
http://8pic.ir/images/18qz3gl08et0jfkk20pv.png

اشتباهی که شما کردید این هست که داخل رویداد textChange تکست باکستون دارید کد رو مینویسید
این رویداد میگه که هر وقت متن تغییر کرد، این کارهارو انجام بده.
خب شما هروقت که چیزی رو میزنید، کدها اجرا میشن و مسیج باکس نشون میده.

نکته دیگه اینکه شما کدی رو که مربوط به تعریف آرایه میشه رو جای اشتباهی نوشتید.
باید بین آکولاد بسته و رویداد تکست باکس بنویسید.
نه اینکه داخل آکولاد مربوط به تعریف فرم بنویسید.

این رو درست کنید بعد ببینید چه خطایی میده. برامون بفرستید.
 

Miss World

کاربر حرفه ای
کاربر ممتاز
اشتباهی که شما کردید این هست که داخل رویداد textChange تکست باکستون دارید کد رو مینویسید
این رویداد میگه که هر وقت متن تغییر کرد، این کارهارو انجام بده.
خب شما هروقت که چیزی رو میزنید، کدها اجرا میشن و مسیج باکس نشون میده.

نکته دیگه اینکه شما کدی رو که مربوط به تعریف آرایه میشه رو جای اشتباهی نوشتید.
باید بین آکولاد بسته و رویداد تکست باکس بنویسید.
نه اینکه داخل آکولاد مربوط به تعریف فرم بنویسید.

این رو درست کنید بعد ببینید چه خطایی میده. برامون بفرستید.
این که شما میگید تو رویداد textchangeنوشتم اشتباهه.. خب کجا بنویسمش؟؟
من یه برنامه نویس مبتدی هستم اگه میشه بیشتر برام بازش کنید
 
آخرین ویرایش:

Miss World

کاربر حرفه ای
کاربر ممتاز
تو این برنامه سوال گفته:یک عدد رو از ورودی دریافت کرده که بین 1تا 7 باشه.سپس با توجه ب روز وارد شده روزی را درهفته که معادل با ان است چاپ کند.
تو برنامم قسمت کانورتش رو ایراد میگیره.و هر عددی وارد میکنم پیام مسیج باکسمو بهم نشون میده که میگه :چنین روزی وجود ندارد
http://8pic.ir/images/vvqso8ta3rbytl6got64.png
 

شهریاری 2

کاربر فعال تالار اسلام و قرآن
کاربر ممتاز
تو این برنامه سوال گفته:یک عدد رو از ورودی دریافت کرده که بین 1تا 7 باشه.سپس با توجه ب روز وارد شده روزی را درهفته که معادل با ان است چاپ کند.
تو برنامم قسمت کانورتش رو ایراد میگیره.و هر عددی وارد میکنم پیام مسیج باکسمو بهم نشون میده که میگه :چنین روزی وجود ندارد
http://8pic.ir/images/vvqso8ta3rbytl6got64.png
کاشکی برنامه هاتون رو قرار میدادید اینجا تا ما بتونیم توی ویژوال بررسیشون کنیم...

توی این برنامه تون شما عبارت های جلوی case ها رو نباید داخل کوتیشن بزارید.
کافیه عددشو بنویسید. داخل چیزی لازم نیست بزارید.
if ها رو هم بردارید. case ها همون کار if هارو انجام میدن
 

شهریاری 2

کاربر فعال تالار اسلام و قرآن
کاربر ممتاز
این که شما میگید تو رویداد textchangeنوشتم اشتباهه.. خب کجا بنویسمش؟؟
من یه برنامه نویس مبتدی هستم اگه میشه بیشتر برام بازش کنید

اول باید به من بگید که ده تا عدد رو چطوری توی تکست باکس وارد میکنید ؟
یعنی باهم قرارشون میدید و با کاما یا فاصله از هم جداشون میکنید ؟
 

Miss World

کاربر حرفه ای
کاربر ممتاز
[/PHP]
اول باید به من بگید که ده تا عدد رو چطوری توی تکست باکس وارد میکنید ؟
یعنی باهم قرارشون میدید و با کاما یا فاصله از هم جداشون میکنید ؟


وقتی یک عدد رو وارد میکنم بلافاصله پیغام مسیج باکسم میاد که گفتم چنین عددی وجود ندارد..اوکی رو که میزنم تا ده عددی که یکی یکی وارد میکنم همین پیغام میاد..و وقتی رویه باتم میزنم که تویه لیست باکس برام نمایش بده..ارور میده

PHP:
namespace WindowsFormsApplication20
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        int[] arraya = new int[10];
        private void textBox1_TextChanged(object sender, EventArgs e)
        {
          
            int i = 0;
            for(i=0;i<9;i++)
            {
                arraya[i] = Convert.ToInt32(textBox1.Text);

            }
            MessageBox.Show("ده عدد وارد شده");

        }

        private void button1_Click(object sender, EventArgs e)
        {
        
            int i;
            for (i = 1; i <= 10; i++)
            {
                listBox1.Items.Add(arraya[i].ToString());
            }
        }

        private void Form1_Load(object sender, EventArgs e)
        {
          
        }
    }
}
 

Miss World

کاربر حرفه ای
کاربر ممتاز
کاشکی برنامه هاتون رو قرار میدادید اینجا تا ما بتونیم توی ویژوال بررسیشون کنیم...

توی این برنامه تون شما عبارت های جلوی case ها رو نباید داخل کوتیشن بزارید.
کافیه عددشو بنویسید. داخل چیزی لازم نیست بزارید.
if ها رو هم بردارید. case ها همون کار if هارو انجام میدن
مشکلش برطرف شد خیلی ممنون
 

شهریاری 2

کاربر فعال تالار اسلام و قرآن
کاربر ممتاز
[/PHP]


وقتی یک عدد رو وارد میکنم بلافاصله پیغام مسیج باکسم میاد که گفتم چنین عددی وجود ندارد..اوکی رو که میزنم تا ده عددی که یکی یکی وارد میکنم همین پیغام میاد..و وقتی رویه باتم میزنم که تویه لیست باکس برام نمایش بده..ارور میده

PHP:
namespace WindowsFormsApplication20
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        int[] arraya = new int[10];
        private void textBox1_TextChanged(object sender, EventArgs e)
        {
          
            int i = 0;
            for(i=0;i<9;i++)
            {
                arraya[i] = Convert.ToInt32(textBox1.Text);

            }
            MessageBox.Show("ده عدد وارد شده");

        }

        private void button1_Click(object sender, EventArgs e)
        {
        
            int i;
            for (i = 1; i <= 10; i++)
            {
                listBox1.Items.Add(arraya[i].ToString());
            }
        }

        private void Form1_Load(object sender, EventArgs e)
        {
          
        }
    }
}


ببخشید من نفهمیدم منظورتون رو.
در هر صورت باید پیغام بده چون اشتباهه.

راهی که پیشنهاد میکنم این هست که شما مثلا اعداد ( 1 و 2 و 3) رو میخاید وارد کنید.

خب اول 1 رو وارد تکست باکس کنید و بعد اینتر بزنید. با زدن اینتر ، عدد 1 وارد آرایه بشه و از تکست باکس پاک بشه.
دوباره شما عدد 2 رو وارد تکست باکس میکنید و بعد اینتر میزنید . با زدن اینتر، عدد 2 هم وارد آرایه میشه.( الان ارایه شما اعداد 1 و 2 رو ذخیره داره)

برای 3 هم همینطور

بعد دکمه رو فشار بدید تا در لیست باکس نشون بده.

کافیه این کد رو وارد رویداد KeyDown مربوط به تکست باکستون کنید:

PHP:
(if e.KeyValue == 13)
}
i++;
arraya[i]=Convert.ToInt32(textBox1.Text);
textBox1.Clear();
{

در کنار جایی که آرایه تون رو تعریف کردید هم یه متغیر به نام i تعریف کنید و تاکید میکنم که جای دیگه این متغیر رو تعریف نکنید.
در عوض به جای متغیر i در رویداد دکمه تون، j بزارید تا با این متغیر i ای که تعریف کردیم، قاطی نشه.

بعد ببینید کار میکنه یا نه.

 

Miss World

کاربر حرفه ای
کاربر ممتاز
سلام ختسته نباشید..
ببخشید من هرچی پروژه برنامه نویسی سی شارپ رو باز میکنم.این ارور رو میده
مشکلش چیه؟؟؟؟؟؟؟؟؟؟
سی شارپم ورژنش 2013 هست
نکنه مشکل از ورژنه؟؟؟
من هم عکس ارور رو میدم هم یه پروژه رو..
http://s6.picofile.com/file/8229886884/ee.png
http://s3.picofile.com/file/8229886492/eplorer.zip.html
http://s3.picofile.com/file/8229886626/daftar.zip.html

 

شهریاری 2

کاربر فعال تالار اسلام و قرآن
کاربر ممتاز
سلام ختسته نباشید..
ببخشید من هرچی پروژه برنامه نویسی سی شارپ رو باز میکنم.این ارور رو میده
مشکلش چیه؟؟؟؟؟؟؟؟؟؟
سی شارپم ورژنش 2013 هست
نکنه مشکل از ورژنه؟؟؟
من هم عکس ارور رو میدم هم یه پروژه رو..
http://s6.picofile.com/file/8229886884/ee.png
http://s3.picofile.com/file/8229886492/eplorer.zip.html
http://s3.picofile.com/file/8229886626/daftar.zip.html


سلام . وقت بخیر
احتمالا از داخل فایل زیپ بیرونشون نبردید.
من که از فایل زیپ بیرون بردشمون کار کردن.
 

شهریاری 2

کاربر فعال تالار اسلام و قرآن
کاربر ممتاز
سلام
کسی به الگوی mvvm آشنایی داره؟
اقا من هرکاری میکنم که دکمه داخل user control م به view model م وصل شه ، نمیشه
میشه یه نگاهی بهش بندازید؟؟؟

واقعا ازتون ممنون میشم


 

پیوست ها

  • WpfApplication1.rar
    72.5 کیلوبایت · بازدیدها: 0

*Sima*

عضو جدید
توی سی شارپ دو نوع string داریم که یکیش با اس بزرگ نوشته میشه کلاسه و اون یکی با اس کوچیک نوشته میشه و دیتا تایپه. چه فرق دیگه ای بین این دو تا string هست؟
 

شهریاری 2

کاربر فعال تالار اسلام و قرآن
کاربر ممتاز
توی سی شارپ دو نوع string داریم که یکیش با اس بزرگ نوشته میشه کلاسه و اون یکی با اس کوچیک نوشته میشه و دیتا تایپه. چه فرق دیگه ای بین این دو تا string هست؟

string (که با اس کوچک هست) هم از نوع ارجاعی هست. مثل متغیر ها ، مقداری نیست.
string , object هر دو همینطوری هستند. از نوع ارجاعیند.
مثل اشیای کلاسها عمل میکنن.

ولی فرق کلاس و متغیر رو باید دوستان دیگه بگن.
 
آخرین ویرایش:

SHRP

همکار مدیر تالار مهندسی کامپیوتر متخصص برنامه نوی
کاربر ممتاز
توی سی شارپ دو نوع string داریم که یکیش با اس بزرگ نوشته میشه کلاسه و اون یکی با اس کوچیک نوشته میشه و دیتا تایپه. چه فرق دیگه ای بین این دو تا string هست؟
سلام
چه سوال خوبی
در واقع هیچ فرقی ندارن
روال تعریف کلاس این که حرف اولش بزرگ باشه
و برعکس روال متغیر در سی اینه که حرف اول کوچیک باشه
برای همین هم به منظور سازگاری با این دوتا اصل و راحتی برنامه نویسها کار راحت رو انجام دادن و یه اسم مستعار با حرف کوچیک برای این کلاس تعریف کردن.
 

شهریاری 2

کاربر فعال تالار اسلام و قرآن
کاربر ممتاز
سلام
ببخشید یه خواهش داشتم
امکانش هست که دوتا فیلم ضبط شده رو نگاه کنید و ببینید نظرتون رو بدید که کدومش بهتر هست؟
(با آهنگ باشه یا نه)

اگه نکته دیگه ای هم بود، ممنون میشم راهنماییم کنید.

فیلم 1

فیلم 2
 

*Sima*

عضو جدید
string (که با اس کوچک هست) هم از نوع ارجاعی هست. مثل متغیر ها ، مقداری نیست.
string , object هر دو همینطوری هستند. از نوع ارجاعیند.
مثل اشیای کلاسها عمل میکنن.

ولی فرق کلاس و متغیر رو باید دوستان دیگه بگن.

سلام
چه سوال خوبی
در واقع هیچ فرقی ندارن
روال تعریف کلاس این که حرف اولش بزرگ باشه
و برعکس روال متغیر در سی اینه که حرف اول کوچیک باشه
برای همین هم به منظور سازگاری با این دوتا اصل و راحتی برنامه نویسها کار راحت رو انجام دادن و یه اسم مستعار با حرف کوچیک برای این کلاس تعریف کردن.

مرسی، خیلی ممنون
 

شهریاری 2

کاربر فعال تالار اسلام و قرآن
کاربر ممتاز
سلااااااااااااااااام به همه دوستان عزیز
من اگه بخام یه برنامه اثر انگشت بنویسم، چطوری باید اینکارو بکنم؟
شنیدم که خود دستگاه های اثر انگشت، sdk دارن برای برنامه نویس ها.
ولی خب ایا این sdk ، دفترچه راهنما هم داره؟
یا اینکه خودمون باید با آزمون و خطا بهش برسیم و راه استفاده از توابعش رو پیدا کنیم؟
 

شهریاری 2

کاربر فعال تالار اسلام و قرآن
کاربر ممتاز
یه سوال دیگه:
برای کپسوله کردن آرایه ، چجوری باید کد رو نوشت؟

چطوری get و Set رو مشخص کنم؟
 

Similar threads

بالا