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

linux_0011

عضو جدید
راحت ترین روش استفاده از BindingManagerBase هست که وقتی به دیتاست وصل میشه، در هر لحظه میدونه کجاست و براحتی میتونی اطلاعات رو fetch کنی ;)

:cry:
نگین :cry: .من مثل تو حرفه ای نیستم که :D
ببین خانمی من اول اومدم از دیتاست و اینا استفاده کردم.بعد دیدم رو خط بایند ارر میده .بعدش کدمو عوض کردم و از دیتاتیبل استفاده کردم و کلا بایند نکردم.اطلاعاتو ریختم تو گرید ویو.
حالا فرض کن 4 تا سطر تو گرید دارم.میخوام یکی از سطرها اطلاعاتش بیاد تو جعبه متن ها.
ولی نمیدونم اولا توی چه رویدادی از گریدویو بنویسم.
بعدش نمیدونم چجوری این سلولهارو به هر جعبه متن وصل کنم.
چندروزه کارم مونده به خاطر همین دستور.:redface:
از 1 نفر پرسیدم گفت خیلی راه داره نمیشه که من همینجوری توضیحی بگمش:surprised:
 

Jik Jikoo

عضو جدید
سلام.
یک سوال داشتم ممنون میشم اگه جواب بدید.
من تازه شروع کردم به یادگیری C# .
برنامه ای که title فرم رو بتونیم باهاش تغییر بدیم چیه؟ مثلا یه textBox داریم، بخوایم با زدن یک button هرچی تو textBox هست بره جای title فرم!
مرسی!
 

fififd

عضو جدید
ایجاد 10000 رکورد با کلید مختلف

ایجاد 10000 رکورد با کلید مختلف

با سلام
من یه برنامه دارم مینویسم که توی اون به 10000 رکورد (هر رکورد شامل دو بخش key و value میشه ) با کلید های یکتا ایجاد کنم
این کدی که نوشتم میدونم که اشکال داره
چون ممکنه که دو رکوردم مقدار کلید یکسان اما مقدار value متفاوت داشته باشن اونوقت بخش contain اون رو در نظر نمیگیره
میشه کمکم کنید و بگید که چه کار کنم برای ایجاد 10000 رکورد با کلید یکتا؟
میخوام که از نظر حافظه هم کم حافظه مصرف کنه
کد:
Records = new key_value[10000];


            int j = 0, key;
            while (j < 10000)
            {
                key = random.Next(0, 10000);
                key_value Record;
                Record.key = key;
                int k = (('a') + random.Next(0, 26));
                Record.value = (char)k;
                if (!Records.Contains(Record))
                {
                    Records[j] = Record;
                    lsbRecords.Items.Add((j + 1) + "\t" + Records[j].value + "\t" + Records[j].key);
                    j++;
                }
            }
 

negin17h

مدیر تالارهای مهندسی کامپیوتر و رباتیکمتخصص #C
مدیر تالار
با سلام
من یه برنامه دارم مینویسم که توی اون به 10000 رکورد (هر رکورد شامل دو بخش key و value میشه ) با کلید های یکتا ایجاد کنم
این کدی که نوشتم میدونم که اشکال داره
چون ممکنه که دو رکوردم مقدار کلید یکسان اما مقدار value متفاوت داشته باشن اونوقت بخش contain اون رو در نظر نمیگیره
میشه کمکم کنید و بگید که چه کار کنم برای ایجاد 10000 رکورد با کلید یکتا؟
میخوام که از نظر حافظه هم کم حافظه مصرف کنه
کد:
Records = new key_value[10000];


            int j = 0, key;
            while (j < 10000)
            {
                key = random.Next(0, 10000);
                key_value Record;
                Record.key = key;
                int k = (('a') + random.Next(0, 26));
                Record.value = (char)k;
                if (!Records.Contains(Record))
                {
                    Records[j] = Record;
                    lsbRecords.Items.Add((j + 1) + "\t" + Records[j].value + "\t" + Records[j].key);
                    j++;
                }
            }

نیازی به این کار نیست، فیلد آی دی را Identity کنید (در بخش مشخصات فیلد، آن را true کنید)، خود بانک این کار رو به خوبی و با سرعت انجام میده :gol:
 

H.r.Ghanbari

عضو جدید
C# WinForm DataBinding

C# WinForm DataBinding

کسی جواب سوال منو بلد نیست؟

سلام دوست عزيز
در ادامه پست نگین جان:gol: )BindingManagerBase(
يه مثال بر مبناي ليست ها مي يارم ( شما بسطش بدين به DataTable (
کد:
[LEFT]    public class Customer 
    {
        public string Id{get;set;};
        public string Name{get;set;};
        public string LastName{get;set;};
    }
[/LEFT]
حالا يه ليست مي خوايم با چندتا داده :
کد:
[LEFT]private System.Collections.Generic.List<Customer> list = null;
...
this.list = new System.Collections.Generic.List<Customer>();
int i = 0;
this.list.Add(new Customer( (++i).ToString()) { FirstName = "Hamid Reza" , LastName = "GA"  } );
this.list.Add(new Customer( (++i).ToString()) { FirstName  = "Maryam", LastName = "EFG" });
this.list.Add(new Customer( (++i).ToString()) { FirstName  = "Hasti", LastName = "ABC" });
[/LEFT]
...
حالا به 3 تا TextBox و یک Button به نام های tbId, tbName, tbLastName , btNext,
کد:
[LEFT]tbId.DataBindings.Add("Text", this.list, "Id");
tbName.DataBindings.Add("Text", this.list, "Name");
tbLastName.DataBindings.Add("Text", this.list, "LastName");
...
[/LEFT]
BindingManager ليست رو بدست مي ياريم:
کد:
[LEFT]BindingManagerBase bmCustomers = this.BindingContext[this.list];
[/LEFT]
حلا در داخل btNext_Click
کد:
[LEFT]…
this.BindingContext[this.list].Position++;
[/LEFT]
;)
 
آخرین ویرایش:

linux_0011

عضو جدید
سلام دوست عزيز
در ادامه پست نگین جان:gol: )BindingManagerBase(
يه مثال بر مبناي ليست ها مي يارم ( شما بسطش بدين به DataTable (
کد:
[LEFT]    public class Customer 
    {
        public string Id{get;set;};
        public string Name{get;set;};
        public string LastName{get;set;};
    }
[/LEFT]
حالا يه ليست مي خوايم با چندتا داده :
کد:
[LEFT]private System.Collections.Generic.List<Customer> list = null;
...
this.list = new System.Collections.Generic.List<Customer>();
int i = 0;
this.list.Add(new Customer( (++i).ToString()) { FirstName = "Hamid Reza" , LastName = "GA"  } );
this.list.Add(new Customer( (++i).ToString()) { FirstName  = "Maryam", LastName = "EFG" });
this.list.Add(new Customer( (++i).ToString()) { FirstName  = "Hasti", LastName = "ABC" });
[/LEFT]
...
حالا به 3 تا TextBox و یک Button به نام های tbId, tbName, tbLastName , btNext,
کد:
[LEFT]tbId.DataBindings.Add("Text", this.list, "Id");
tbName.DataBindings.Add("Text", this.list, "Name");
tbLastName.DataBindings.Add("Text", this.list, "LastName");
...
[/LEFT]
BindingManager ليست رو بدست مي ياريم:
کد:
[LEFT]BindingManagerBase bmCustomers = this.BindingContext[this.list];
[/LEFT]
حلا در داخل btNext_Click
کد:
[LEFT]…
this.BindingContext[this.list].Position++;
[/LEFT]
;)

ممنونم دوست عزیز.خیلی لطف کردید.
راستش من 1 کم کدم با این فرق داره:redface: .راستش زیاد از این سر در نیاوردم.این کد منه

کد:
        private void button1_Click(object sender, EventArgs e)
        {
            string MainString = AppDomain.CurrentDomain.BaseDirectory;
            string str;

            str = "Data Source=localhost;AttachDbFilename=" + MainString + "db\\db1.mdf;Initial Catalog=db1 ;Integrated Security=True";
            try
            {
                SqlConnection con = new SqlConnection(str);
                DataTable dt = new DataTable();
                con.Open();
                SqlDataAdapter da = new SqlDataAdapter("select * from tb1 where(namar='" + textBox1.Text + "' or name='" + textBox2.Text + "' and family='" + textBox3.Text + "')", con);

                da.Fill(dt);
                con.Close();
                dg.DataBindings.Clear();
                dg.DataSource = dt;

         
                con.Close();


            }
            catch
            {
                MessageBox.Show("فردی با چنین مشخصاتی وجود ندارد");
            }
        }
من فقط 1 گریدویو گذاشتم.
از دیتا ست و اینا استفاده نکردم.
میشه 1 کم واضحتر توضیح بدید.
باز هم ممنون از لطفتون.
 

linux_0011

عضو جدید
کد:
        public void exportdatagridviewtoexcel(DataGridView dg, string excel_file)
        {

            int cols;
            //open file
            StreamWriter wr = new StreamWriter(excel_file);

            //determine the number of columns and write columns to file
            cols = dg.Columns.Count;
            for (int i = 0; i < cols; i++)
            {
                wr.Write(dg.Columns[i].HeaderText.ToString().ToUpper() + "\t");
            }

            wr.WriteLine();

            //write rows to excel file
            for (int i = 0; i < (dg.Rows.Count - 1); i++)
            {
                for (int j = 0; j < cols; j++)
                {
                    if (dg.Rows[i].Cells[j].Value != null)
                        wr.Write(dg.Rows[i].Cells[j].Value + "\t");
                    else
                    {
                        wr.Write("\t");
                    }
                }

                wr.WriteLine();
            }

            //close file
            wr.Close();
        }

    private void button3_Click(object sender, EventArgs e)
        {
            exportdatagridviewtoexcel();
        }


دوستان این کد هم واسه اینه که فایل اکسل بگیرم.
اما زیر این دستور: exportdatagridviewtoexcel(); 1 در رویداد کلیک باتن خط آبی میکشه و خروجی نمیده.
کدم مشکلی داره؟
 

naimi ali

عضو جدید
salam be hamegi...ye proje daram ke bayad note pad dorost konam ...ye ghesmat az in proje ine ke maslan note pad baste ast va dar mohid windows masalan man yek file pdf ro drag mikonam o mindazam roooooye note pad ,note pad be sooooorate outo khodesh oooon open beshe o ooooon file ro be man neshoooon bede....age momkene mano komak konid mer30 az hamegiiii..
 

senaps

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

بعد شما میخوای یه نوت پد بزنی که فایل PDF برات اجرا کنه؟ یعنی تبدیل به متن بکنه و بذاره تو نوت پد؟ احتمالا فارسی هم ساپورت بکنه نه؟!
خوب، در مورد پخش فایل به صورت فارسی شده فعلا امکانش وجود نداره و به شکل عکس در میارن برات....
انگلیسی هم تبدیل به متنش برنامه های سورس بسته پیا میشه فقط...
 

senaps

عضو جدید
کاربر ممتاز
سلام.
یک سوال داشتم ممنون میشم اگه جواب بدید.
من تازه شروع کردم به یادگیری C# .
برنامه ای که title فرم رو بتونیم باهاش تغییر بدیم چیه؟ مثلا یه textBox داریم، بخوایم با زدن یک button هرچی تو textBox هست بره جای title فرم!
مرسی!

هم....سوال به این اسونی رو چرا جواب ندادن دوستان؟!
کد:
  this.Text = TitleText.Text;

این البته برای حالتیه که اسم تکست باکستون TitleText باشه.... حواستون باشه که تکست نه! اسم تکست باکس باید این باشه..... کد هم داخل رویداد کلیک باتن نوشته میشه!
 

naimi ali

عضو جدید
سلام ... نه ...اون که می شه convert که اصلان امکان نداره.... من می خوام نوت پد فقط نمایش بده اگه word بود یه متن و یا اگه pdf بود یه عکس ....
مرسی از اینکه پاسخ میدید
 

*shidrokh*

عضو جدید
سلام دوستان من باید واسه فاز آخره یه پروژه کد نویسی کنم پروزه مربوط به سیستم کارگزینیه دانشگاهه(استخدام اداری ، بازنشستگی و ماموریت،مرخصی و...) باید سیستمشو طراحی کنیم من تاحالا برنامه نویسی در این حد انجام ندادم و فقط یکمی c ,c++بلدم.:redface:

الان کتاب c#.net جعفرنژاد قمی رو گرفتم که از روش بخونم بنظرتون میتونم تو15 روز با کمک دوستام(( که البته اونام در حد خودم بلدن ))این سیستمو طراحی کنیم؟اصلا این زبانی که انتخاب کردم (c#.net)کارمو راه میندازه؟؟
 

A.S.Roma

عضو جدید
کاربر ممتاز
سلام دوستان من باید واسه فاز آخره یه پروژه کد نویسی کنم پروزه مربوط به سیستم کارگزینیه دانشگاهه(استخدام اداری ، بازنشستگی و ماموریت،مرخصی و...) باید سیستمشو طراحی کنیم من تاحالا برنامه نویسی در این حد انجام ندادم و فقط یکمی c ,c++بلدم.:redface:

الان کتاب c#.net جعفرنژاد قمی رو گرفتم که از روش بخونم بنظرتون میتونم تو15 روز با کمک دوستام(( که البته اونام در حد خودم بلدن ))این سیستمو طراحی کنیم؟اصلا این زبانی که انتخاب کردم (c#.net)کارمو راه میندازه؟؟
انتخاب زبان C# انتخاب درستیه .
اما شما شما مشکلتون خیلی بیشتر از پیاده سازی هست.
آیا سیستم رو تحلیل کردید ؟! UseCase Diagram کشیدید !؟ سیستم رو طراحی کردید Class Diagram دارید !؟
بعد از تحلیل و طراحی سیستم باید وازد فاز پیاده سازی بشید.

به نظر من امکان این کار در 15 روز برای شما و دوستانتون وجود نداره :(
 

hesam147

عضو جدید
ببخشید که اینجا میپرسم
واسه برنامه نویسی تحت ویدوز کدومو پیشنهاد میکنید: vb یا c# ?
 

negin17h

مدیر تالارهای مهندسی کامپیوتر و رباتیکمتخصص #C
مدیر تالار
ببخشید که اینجا میپرسم
واسه برنامه نویسی تحت ویدوز کدومو پیشنهاد میکنید: vb یا c# ?

اگر نظر منو بپرسید که با هردو کار کردم، سی شارپ چون ساختار بهتر، سرعت بالاتر داره و چون از خانواده سی ++ به حساب میاد یه جورایی، شی گراتره :gol:
 

saeedeh1

عضو جدید
برنامه نویسی سی شارپ2008

برنامه نویسی سی شارپ2008

با سام و خسته نباشید من دو تا سوال سی شارپ داشتم میشه پاسخ بدید.خه یکشنبه امتحان برنامه نویسی دارم تئوری و استاد گفته شبیه همینا میده در ضمن اگر کسی هم نمونه سوال هایی در همین زمینه باهمین محتوا داشته باشه خیلی ممنون میشم که برام بفرسته به خدا دعاش میکنم
1.چهار تا تکست باکس ایجاد کنید که وقتی یک اسم یا هر چیزه دیگر وارد می کنیم آن ها را تعداد کاراکتر هایش در لیست باکس نشان دهد
2.چهار تکست باکس ایجاد کنید که وقتی یک اسم در اولی می نویسیم در سه تای دیگر نشان دهد
 
آخرین ویرایش توسط مدیر:

shakibonline

عضو جدید
سلام! :smile:
دوستان ممکنه لطفا کمکم کنید!؟ :surprised:
دو تا کتاب رسیده به دستم که نمی دونم کدوم یکی رو بخونم،:confused:
Beginning Visual CSharp 2010 - wrox
Pro WPF in C# 2010 Windows Presentation Foundation 3 Edition
این رو هم در نظر داشته باشید که من کمی سی شارپ و سی پلاس آشنایی دارم.:cool:
 

negin17h

مدیر تالارهای مهندسی کامپیوتر و رباتیکمتخصص #C
مدیر تالار
سلام! :smile:
دوستان ممکنه لطفا کمکم کنید!؟ :surprised:
دو تا کتاب رسیده به دستم که نمی دونم کدوم یکی رو بخونم،:confused:
Beginning Visual CSharp 2010 - wrox
Pro WPF in C# 2010 Windows Presentation Foundation 3 Edition
این رو هم در نظر داشته باشید که من کمی سی شارپ و سی پلاس آشنایی دارم.:cool:

دوست عزیز اگر سی شارپتون خوبه میتونید WPF رو شروع کنید، شاید به نظر زبانی متفاوت بیاد اما توصیه میکنم در یک زبان دات نت نسبتاً تسلط داشته باشید بعد برید سراغ WPF :gol:
 

*shidrokh*

عضو جدید
نوشته اصلي بوسيله *shidrokh*
سلام دوستان من باید واسه فاز آخره یه پروژه کد نویسی کنم پروزه مربوط به سیستم کارگزینیه دانشگاهه(استخدام اداری ، بازنشستگی و ماموریت،مرخصی و...) باید سیستمشو طراحی کنیم من تاحالا برنامه نویسی در این حد انجام ندادم و فقط یکمی c ,c++بلدم]

الان کتاب c#.net جعفرنژاد قمی رو گرفتم که از روش بخونم بنظرتون میتونم تو15 روز با کمک دوستام(( که البته اونام در حد خودم بلدن ))این سیستمو طراحی کنیم؟اصلا این زبانی که انتخاب کردم (c#.net)کارمو راه میندازه؟؟


انتخاب زبان C# انتخاب درستیه .
اما شما شما مشکلتون خیلی بیشتر از پیاده سازی هست.
آیا سیستم رو تحلیل کردید ؟! UseCase Diagram کشیدید !؟ سیستم رو طراحی کردید Class Diagram دارید !؟
بعد از تحلیل و طراحی سیستم باید وازد فاز پیاده سازی بشید.

به نظر من امکان این کار در 15 روز برای شما و دوستانتون وجود نداره :(


یوز کیس ها و کلاس دیاگرام و.... رو کشیدیم
الان که باید پیاده سازی کنیم نمیدونم از کجا باید شروع کنم؟ اول جدولاشو تو sql طراحی کنم؟ فرماهاشو تو c#؟نمیدونم....:(
 

zahra1386

مدیر بازنشسته
کاربر ممتاز
یوز کیس ها و کلاس دیاگرام و.... رو کشیدیم
الان که باید پیاده سازی کنیم نمیدونم از کجا باید شروع کنم؟ اول جدولاشو تو sql طراحی کنم؟ فرماهاشو تو c#؟نمیدونم....:(

سلام

به نظر من ابتدا جداول رو طراحی کنید...ارتباط ها رو چک کنید ....کوئری هایی که قراره بعدا ازش استفاده کنید یک بار امتحان کنید تا بعدا توی سی شارپ برنامه به مشکل نخوره و خلاصه دیتا بیس رو از هر حیث اماده کنید و بعد برین سراغ طراحی فرم ها....تقریبا 80 درصد کار طراحی یک دیتابیس اصولی هست :gol:
 

A.S.Roma

عضو جدید
کاربر ممتاز
همان طور که Zahra1360 گفت باید Class Modelتون رو به Data Model تبدیل کنید.
اگه Class Diagramتون درست طراحی شده باشه این تبدیل چندان وقتی ازتون نمی گیره.

البته راه دومی هم دارید که از Entity Framework و رویکرد Model First استفاده کنید که خود Entity Framework واستون دیتبایس رو میسازه !
اطلاعات بیشتر : http://msdn.microsoft.com/en-us/data/ff830362
 

maryam.raz

عضو جدید
سلام به دوستان
من تویASP دستور Response.Redirect("Home.aspx"); رو واسه یه button مینوشتم که با کلیک روی اون بره به صفحه home حالا میخوام توی C# با کلیک روی یه button از یه فرم به فرم دیگر برم ولی نمیدونم با چه دستوزی این کار انجام میشه!
 

negin17h

مدیر تالارهای مهندسی کامپیوتر و رباتیکمتخصص #C
مدیر تالار
سلام به دوستان
من تویASP دستور Response.Redirect("Home.aspx"); رو واسه یه button مینوشتم که با کلیک روی اون بره به صفحه home حالا میخوام توی C# با کلیک روی یه button از یه فرم به فرم دیگر برم ولی نمیدونم با چه دستوزی این کار انجام میشه!

کد:
Form2 frm=new Form2();
frm.show();
یا
frm.ShowDialog();
 

gelayol joon

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

negin17h

مدیر تالارهای مهندسی کامپیوتر و رباتیکمتخصص #C
مدیر تالار
سلام من یه سری دستوراتو تو سی شارپ میخواستم بدونم میشه راهنماییم کنید
مثلا اینا:
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) طبقه بندی شده اند. برای استفاده از آن ها باید فضای نام مربوطه در بالای برنامه اضافه بشه. مثلاً برای کار با فایل ها و ... System.IO رو داریم یا برای بحث های ببانک System.Data ، System.Data.SqlClient و ....
 

*avast*

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

Similar threads

بالا