PDA

View Full Version : ورودی در یک textbox



black_shadow
شنبه 05 دی 1394, 00:21 صبح
سلام
من تازه کارم میشه راهنمایی کنین
میخوام 10تا اسم با یه تکست باکس از کاربر بگیرم و تو یه لیست باکس نشون بدم

من یه کد نوشتم ولی کار نمیکنه
میشه بگین چطوری میتونم با یه تکست باکس 10بار ورودی بگیرم

private void btninput_Click(object sender, EventArgs e)
{
string[] strname = new string[10];
string a = txtname.Text;

for (int i = 0; i <= strname[i].Length; i++)
{
strname[i] = a;

}
lstshow.Items.Add(strname);
}

black_shadow
شنبه 05 دی 1394, 01:32 صبح
خودم نوشتم
int count = 0;
int i=0;
string[] strname = new string[10];
private void btninput_Click(object sender, EventArgs e)
{


if (count < 5)
{
strname[i] = txtname.Text;

lstshow.Items.Add(strname[i]);
txtname.Clear();
count += 1;
}


}
من میخوام که ده تا اسمی که گرفتم رو به صورته سورت شده تو لیست باکس نشون بدم؟
و یه سوال دیگه نمیشه یه کاری کرد که اول ده تا ورودی رو با هم بگیره و یکجا نشون بده نه تک تک بگیره؟

black_shadow
شنبه 05 دی 1394, 01:44 صبح
یه سوال دیگه چطوری میتونم کاری کنم که کاربر نتونه با خالی گذاشتن آرایه رو پر کنه؟
(تو این برنامه کاربر تو تکست باکس هیچی ننویسه و رو دکمه بزنه برنامه ورودی میگیره)

black_shadow
شنبه 05 دی 1394, 12:01 عصر
کسی نیست راهنمایی کنه
فقط خواهشا مو به مو بگین تا بتونم یاد بگیرم منون میشم

fakhradin
شنبه 05 دی 1394, 14:00 عصر
با سلام
برای مرتب سازی که شما می تونید از تابع sorted خود لیست باکس استفاده نمایید
برای سوال دوم می تونید یکدکمه دیگه بذاری تا اگه کاربر روی اون کلیک کرد بتونه اسمایی رو که وارد کرده ببینه
می تونید از تابع IsNullOrEmpty کلاس String استفاده کنی در صورتی که کاربر تکست باکس رو خالی گذاشته بود بهش یک پیغام هشدار بده در غیر این صورت به لیست باکس اضافه کنه
اگرم نیاز به نمونه برنامه داشتید بفرمایید تا براتون ارسال کنم

black_shadow
شنبه 05 دی 1394, 14:05 عصر
چرا کسی جواب نمیده؟ آیا سوالم اشتباهه؟
کد نمیخوام فقط روشه حلشو میخوام جوری که متوجه بشم

zayens
شنبه 05 دی 1394, 14:12 عصر
اول اینکه بعد از count برای i هم کد افزایش را بزار ;i=i+1
تا همه اسمها رو توی [strname[0 نریزه

دوما count را برابر 5 کردید و 10 تا اسم نمیگیره 5 تا الان میگیره. اونو 10 گمید تا 10 تا بگیره

سوما برای اینکه اسم خالی نگیره هم این را هم به if اضافه کنید:
if (count < 0 && txtname.Text != "") 000

fakhradin
شنبه 05 دی 1394, 14:25 عصر
اینم بخش های کدی که می خواستید


string[] list = new string[10];
int counter = 0;
private void btnAdd_Click(object sender, EventArgs e)
{
if (counter > 10)
MessageBox.Show("دیگر امکان ثبت عبارت جدید وجود ندارد", "خطا");
else if (String.IsNullOrEmpty(txtSentence.Text.Trim()))
MessageBox.Show("لطفا عبارت خود را وارد نمایید", "خطا");
else
{
list[counter++] = txtSentence.Text.Trim();
lblCounter.Text = (counter).ToString();
txtSentence.ResetText();
txtSentence.Focus();
}
}


private void btnShow_Click(object sender, EventArgs e)
{
if (listSentence.Items.Count > 0)
listSentence.Items.Clear();
for (int i = 0; i < counter; i++)
listSentence.Items.Add(list[i]);
}


بازم اگه سوالی در مورد کد بود من در خدمت دوستان هستم

black_shadow
شنبه 05 دی 1394, 14:29 عصر
اول اینکه بعد از count برای i هم کد افزایش را بزار ;i=i+1
تا همه اسمها رو توی [strname[0 نریزه

دوما count را برابر 5 کردید و 10 تا اسم نمیگیره 5 تا الان میگیره. اونو 10 گمید تا 10 تا بگیره

سوما برای اینکه اسم خالی نگیره هم این را هم به if اضافه کنید:
if(count < 0 && txtname.Text != "") 000


میدونم خودم 5 کردم که هردفعه نیام 10تا اسم بدم و خسته کننده باشه

یه سوال دیگه چطوری اسم های داخل لیست باکسو سورت کنم ؟من هر کاری میکنم نمیشه
اینم کدش
private void btnsort_Click(object sender, EventArgs e)
{
Array.Sort(strname);
lstshow.Items.Add(strname);
}

fakhradin
شنبه 05 دی 1394, 14:31 عصر
گفتم شما به قسمت Properties لیست باکستون مراجه کنید و آیتم sorted را true کنید

black_shadow
شنبه 05 دی 1394, 14:37 عصر
گفتم شما به قسمت Properties لیست باکستون مراجه کنید و آیتم sorted را true کنید

ممنون از کمکت

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

شما هم تا فصل ارایه اگه میتونین چنتا تمرین بدین من برم روشون کار کنم تا بتونم به فصل حلقه و آرایه مسلط بشم

fakhradin
شنبه 05 دی 1394, 14:41 عصر
چرا امکانش وجود داره فقط شما برای مقایسه دو تا رشته باید یا خودتون کد بزنید یا از تابع هایی که توی دات نت وجود داره استفاده کنید
کتاب آقای هاشمیان کتاب فوق العاده ایی چون خودم هفت سال پیش با همین کتاب برنامه نویسی سی شارپ رو یاد گرفتم
در مورد تمرین می تونی برای خودت با همین آرایه ها یک دفترچه تلفن بنویسی
بازم اگه نیاز به راهنمایی این بنده حقیر بود در خدمت هستیم

black_shadow
شنبه 05 دی 1394, 14:41 عصر
اینم بخش های کدی که می خواستید


string[] list = new string[10];
int counter = 0;
private void btnAdd_Click(object sender, EventArgs e)
{
if (counter > 10)
MessageBox.Show("دیگر امکان ثبت عبارت جدید وجود ندارد", "خطا");
else if (String.IsNullOrEmpty(txtSentence.Text.Trim()))
MessageBox.Show("لطفا عبارت خود را وارد نمایید", "خطا");
else
{
list[counter++] = txtSentence.Text.Trim();
lblCounter.Text = (counter).ToString();
txtSentence.ResetText();
txtSentence.Focus();
}
}


private void btnShow_Click(object sender, EventArgs e)
{
if (listSentence.Items.Count > 0)
listSentence.Items.Clear();
for (int i = 0; i < counter; i++)
listSentence.Items.Add(list[i]);
}


بازم اگه سوالی در مورد کد بود من در خدمت دوستان هستم

داداش این کدی که نوشتی بعضی از تابع ها رو نخوندم تا اینجا که پی دف رو مطالعه کردم
مثلا این تابعه ها
IsNullOrEmpty
Trim()
ResetText()
Focus()
اگه میشه اینارو تک تک توضیح بدین که کاربردش چیه چه پارامترهای میگیره و برای چی استفاده میشه و کجا؟

راستی اگه همی میتونین تمرین های کاربردی بدین که هم حلقه و هم آرایه داشته باشه

fakhradin
شنبه 05 دی 1394, 14:48 عصر
تابع IsNullOrEmpty از اون تابع هایی که توی نوشتن برنامه شاید بیشتر از چند صدبار بهش نیاز پیدا کنی کارش اینه که چک کنه رشته ایی که می گیره خالی هست یا نه حتی اگه کاربر فضای خالی زده باشه اگر مقدار رشته خالی بود true برمی گردونه در غیر اینصورت مقدار false
تابع Trim فضای خالی ناخواسته به وجود آمده از اول رشته و آخر رشته رو حذف می کنه اما کاری به فضای خالی بین کاراکترهای رشته نداره خوب یادش بگیر که کلی فایده داره
تابع ResetText مقدار Text تکست باکس رو خالی می کنه و برش می گردونه به مقدار اولیه خودش
تابع Focus مکان اشاره گر رو بر روی همون کنترلی می بره که این تابع رو فراخوانی کرده

fakhradin
شنبه 05 دی 1394, 14:51 عصر
اما در مورد تمرین خوب مشغله کاریم بالاست چون هم برنامه نویسی برای سازمان ها و ارگانها می کنم و هم کلاس برنامه نویسی آندروید دارم ولی تمام سعیم رو می کنم می تونید توی خصوصی برام پیغام درخواست تمرین بفرستید تا براتون ارسال کنم ولی خوب میزان علم ما محدوده و دوستان و اساتید بزرگواره دیگه ایی توی این سایت وجود دارن که بنده افتخار شاگردیشون رو داشتم

black_shadow
یک شنبه 06 دی 1394, 11:59 صبح
سلام من دفترچه تلفن رو شروع کردم یه جایی به مشکل خوردم اگه میشه راهنمایی کنین
اینم کد
تو قسمت btnjoziat ارور میگیره
من میخوام تو اون btnjoziat بیام اینکارو بکنم
کاربر وقتی چنتا داده رو وارد کرده اون داده ها فقط name آنها تو لیست باکس lstshowname نشون داده بشن مشکل بعد این شروع میشه
حالا میخوام وقتی کاربر از اون اسم های لیست باکس اولی یکی رو سلکت کرد جزییات( اسم +فامیلی+ میل+آدرس+تلفن+و..) اون اسم انتخاب شده تو لیست باکس دومی نشون داده بشه
این کدی که نوشتم کلان کجا هاش مشکل داره اونو با دلیل واسم توضیح بدین ممنون میشم
چون من هنوز دیتا بیس و فایل رو نخوندم بخاطر همین این دفترچه داده هارو جایی سیو نمیکنه
من حس میکنم که تو ورودی گرفتم هم مشکل داره برنامم یهنی ورودی اولو میگیرم تمام و کمال ولی ورودی بعدیو با مشکل مواجع میشم

namespace telephon
{
public partial class phonebook : Form
{
public phonebook()
{
InitializeComponent();
}
string[] strname = new string[10];
string[] strfamily = new string[25];
string[] phone_static = new string[11];
string[] phon_number= new string[11];
string[] mail = new string[50];
string[] location = new string[100];
int i = 0;
//method input
private void input(string[] enter)
{

}
private void btnadd_Click(object sender, EventArgs e)
{
strname[i] = txtname.Text;
txtname.Clear();
strfamily[i] = txtfamily.Text;
txtfamily.Clear();
phone_static[i] = txtphonstatic.Text;
txtphonstatic.Clear();
phon_number[i] = txtphonnumber.Text;
txtphonnumber.Clear();
mail[i] = txtmail.Text;
txtmail.Clear();
location[i] = txtlocation.Text;
txtlocation.Clear();
lstshowname.Items.Add(strname[i]);
}

private void btnjoziat_Click(object sender, EventArgs e)
{
string a;
if (a = lstshowname.Items[lstshowname.SelectedIndex].ToString())
{
lstperfect.Items.Add(strname[i]);
lstperfect.Items.Add(strfamily[i]);
lstperfect.Items.Add(phone_static[i]);
lstperfect.Items.Add(phon_number[i]);
lstperfect.Items.Add(mail[i]);
lstperfect.Items.Add(location[i]);
}

black_shadow
یک شنبه 06 دی 1394, 12:36 عصر
کسی نیست راهنمایی کنه
اینم کل همین پروژه

http://up.ashiyane.org/images/5hpz0nnvshp3ftntwbz9.rar

black_shadow
یک شنبه 06 دی 1394, 13:22 عصر
اینم لینک دیگه شاید بعضیا نتونن باز کنن
http://s3.picofile.com/file/8230139768/telephon.rar.html

zayens
یک شنبه 06 دی 1394, 14:54 عصر
من یه توضیح میدم امیدوارم دوباره نگی میدونم خودم بلدم:
ببین عزیزم توی تمام آرایه های استرینگ که تعریف کردی یه اندیس هست. strname [i] i آی اندیس هست و به خونه ی اون آرایه اشاره میکنه
اینارو دارم میگم چون توی پست قبلی گفتم باید به آی یه دونه اضافه کنی اما توی این کدت نمیبینم که اضافه کرده باشی
اولش آی را برابر 0 قرار دادی
ینی بار اول توی اولین خونه یا همون اولین اندیس خونه ی استرینگ (اندیس صفر) نام وارد میشه
مثال:
به کدت نگاه کن وقتی add زده میشه همه اطلاعات میره توی اولین خونه ی هر استرینگ چون الان آی برابر صفره

strname[i] = txtname.Text; txtname.Clear();
strfamily[i] = txtfamily.Text;
txtfamily.Clear();
phone_static[i] = txtphonstatic.Text;
txtphonstatic.Clear();
phon_number[i] = txtphonnumber.Text;
txtphonnumber.Clear();
mail[i] = txtmail.Text;
txtmail.Clear();
location[i] = txtlocation.Text;
txtlocation.Clear();

lstshowname.Items.Add(strname[i]);
این کدت درسته اما آخرش باید i++ را هم بزاری تا موقع add کردن دوباره، اطلاعات توی خونه ی بعدی ریخته بشه نه همون خونه ی صفر
(الان چون آی تغییر نمیکنه هر دفه add را بزنی همیشه توی خونه ی اول استرینگ یعنی اندیس صفر strname[0] 0 اطلاعات ریخته میشه
پس
i++; را به انتهای این کدها اضافه کن
************************************************** **
مطلب بعدی
توی این کد:

private void btnjoziat_Click(object sender, EventArgs e) {
string a;
if (a = lstshowname.Items[lstshowname.SelectedIndex].ToString())
{
lstperfect.Items.Add(strname[i]);
lstperfect.Items.Add(strfamily[i]);
lstperfect.Items.Add(phone_static[i]);
lstperfect.Items.Add(phon_number[i]);
lstperfect.Items.Add(mail[i]);
lstperfect.Items.Add(location[i]);
}

}

همه اندیس هارو آی گزاشتی
در حال حاضر و با اعمال تغییراتی که گفتم اندیس آی به آخرین خونه اشاره میکنه پس نباید آی بزاری چون اینجوری با کلیک روی سطر نام هر دفه آخرین اطلاعات را پیدا میکنه
باید خونه ی مورد نظرت که همون lstshowname.SelectedIndex هست را بجای آی بزاری

black_shadow
دوشنبه 07 دی 1394, 00:16 صبح
من یه توضیح میدم امیدوارم دوباره نگی میدونم خودم بلدم:
ببین عزیزم توی تمام آرایه های استرینگ که تعریف کردی یه اندیس هست. strname [i] i آی اندیس هست و به خونه ی اون آرایه اشاره میکنه
اینارو دارم میگم چون توی پست قبلی گفتم باید به آی یه دونه اضافه کنی اما توی این کدت نمیبینم که اضافه کرده باشی
اولش آی را برابر 0 قرار دادی
ینی بار اول توی اولین خونه یا همون اولین اندیس خونه ی استرینگ (اندیس صفر) نام وارد میشه
مثال:
به کدت نگاه کن وقتی add زده میشه همه اطلاعات میره توی اولین خونه ی هر استرینگ چون الان آی برابر صفره

strname[i] = txtname.Text; txtname.Clear();
strfamily[i] = txtfamily.Text;
txtfamily.Clear();
phone_static[i] = txtphonstatic.Text;
txtphonstatic.Clear();
phon_number[i] = txtphonnumber.Text;
txtphonnumber.Clear();
mail[i] = txtmail.Text;
txtmail.Clear();
location[i] = txtlocation.Text;
txtlocation.Clear();

lstshowname.Items.Add(strname[i]);
این کدت درسته اما آخرش باید i++ را هم بزاری تا موقع add کردن دوباره، اطلاعات توی خونه ی بعدی ریخته بشه نه همون خونه ی صفر
(الان چون آی تغییر نمیکنه هر دفه add را بزنی همیشه توی خونه ی اول استرینگ یعنی اندیس صفر strname[0] 0 اطلاعات ریخته میشه
پس
i++; را به انتهای این کدها اضافه کن
************************************************** **
مطلب بعدی
توی این کد:

private void btnjoziat_Click(object sender, EventArgs e) {
string a;
if (a = lstshowname.Items[lstshowname.SelectedIndex].ToString())
{
lstperfect.Items.Add(strname[i]);
lstperfect.Items.Add(strfamily[i]);
lstperfect.Items.Add(phone_static[i]);
lstperfect.Items.Add(phon_number[i]);
lstperfect.Items.Add(mail[i]);
lstperfect.Items.Add(location[i]);
}

}

همه اندیس هارو آی گزاشتی
در حال حاضر و با اعمال تغییراتی که گفتم اندیس آی به آخرین خونه اشاره میکنه پس نباید آی بزاری چون اینجوری با کلیک روی سطر نام هر دفه آخرین اطلاعات را پیدا میکنه
باید خونه ی مورد نظرت که همون lstshowname.SelectedIndex هست را بجای آی بزاری

داداش ممنون
دادا من مشکلم همون قسمت اخر هست که گفتین
مثلان تو لیست باکس اول کاربر اسم علی رو انتخاب میکنه من چطوری باید محتویات همون علی رو نشون بدم(اندیسی که علی توش سیو شده رو نشون بدم)؟

black_shadow
دوشنبه 07 دی 1394, 00:32 صبح
داداش ممنون یکم به نوشتت دقت کردم فهمیدم چی گفتی

download69
دوشنبه 07 دی 1394, 00:37 صبح
اینم بخش های کدی که می خواستید


string[] list = new string[10];
int counter = 0;
private void btnAdd_Click(object sender, EventArgs e)
{
if (counter > 10)
MessageBox.Show("دیگر امکان ثبت عبارت جدید وجود ندارد", "خطا");
else if (String.IsNullOrEmpty(txtSentence.Text.Trim()))
MessageBox.Show("لطفا عبارت خود را وارد نمایید", "خطا");
else
{
list[counter++] = txtSentence.Text.Trim();
lblCounter.Text = (counter).ToString();
txtSentence.ResetText();
txtSentence.Focus();
}
}


private void btnShow_Click(object sender, EventArgs e)
{
if (listSentence.Items.Count > 0)
listSentence.Items.Clear();
for (int i = 0; i < counter; i++)
listSentence.Items.Add(list[i]);
}


بازم اگه سوالی در مورد کد بود من در خدمت دوستان هستم


دوستی که برای سازمانها و ارگانها برنامه نویسی میکنی (مثلا :متعجب:) این کد چطوری با یک if ساده 10 تا اسم رو میگیره ؟؟؟ :عصبانی++: حلقه هم نزاشتی ؟؟؟
خدا رحم به اون سازمان ها کنه :گریه:... البته جون داداش من قصد توهین و یا ناراحت کردن کسی رو ندارم ولی سعی کنیم زود جو گیر نشیم خیلی خوبه:قلب:

در جواب دوست گرامی که میخواستم در یک تکس باکس10 اسم رو بگیرن باید بگم که میتونید از تابع split اسفاده کنید مثلا بگید که کاربر اسم هارا را با یک کارکتر خاص مثل + و یا ، از هم جدا کنه مثلا علی+رضا+احمد و یا علی،رضا،احمد و به کمک تابع split به روش زیر عمل کنید.


strname=txtname.text.split("+")
این کد کاملی نیست از نظر مثلا اگر کاربر بیش از 10 تا وارد و .. یکم باش ور بری کارش دستت میاد البته این تنها روش نیست

black_shadow
دوشنبه 07 دی 1394, 00:53 صبح
داداش یه راهنمایی دیگه میخوام خواهشا اینم مثل قبلیا با توضیحات کامل بگو

آیا این کدم درسته؟
چرا نمیتونم اینطوری ورودی بگیرم؟
namespace telephon
{
public partial class phonebook : Form
{
public phonebook()
{
InitializeComponent();
}
string[] strname = new string[10];
// string[] strfamily = new string[10];
// string[] phone_static = new string[10];
// string[] phon_number= new string[10];
// string[] mail = new string[10];
// string[] location = new string[10];
int i = 0;

private void btnadd_Click(object sender, EventArgs e)
{
// strname[i] = txtname.Text;
// txtname.Clear();
// strfamily[i] = txtfamily.Text;
// txtfamily.Clear();
// phone_static[i] = txtphonstatic.Text;
// txtphonstatic.Clear();
// phon_number[i] = txtphonnumber.Text;
// txtphonnumber.Clear();
// mail[i] = txtmail.Text;
// txtmail.Clear();
// location[i] = txtlocation.Text;
// txtlocation.Clear();
// lstshowname.Items.Add(strname[i]);
// i++;
for (i = 0; i < strname.Length; i++)
{
strname[i] = txtname.Text;
strname[i] = txtfamily.Text;
strname[i] = txtphonstatic.Text;
strname[i] = txtphonnumber.Text;
strname[i] = txtmail.Text;
strname[i] = txtlocation.Text;
}

}

private void btnjoziat_Click(object sender, EventArgs e)
{
string a = lstshowname.Items[lstshowname.SelectedIndex].ToString();
lstperfect.Items.Clear();
// lstperfect.Items.Add(strname[lstshowname.SelectedIndex]);
// lstperfect.Items.Add(strfamily[lstshowname.SelectedIndex]);
// lstperfect.Items.Add(phone_static[lstshowname.SelectedIndex]);
// lstperfect.Items.Add(phon_number[lstshowname.SelectedIndex]);
// lstperfect.Items.Add(mail[lstshowname.SelectedIndex]);
// lstperfect.Items.Add(location[lstshowname.SelectedIndex]);

lstperfect.Items.Add(strname[lstshowname.SelectedIndex]);
lstperfect.Items.Add(strname[lstshowname.SelectedIndex]);
lstperfect.Items.Add(strname[lstshowname.SelectedIndex]);
lstperfect.Items.Add(strname[lstshowname.SelectedIndex]);
lstperfect.Items.Add(strname[lstshowname.SelectedIndex]);
lstperfect.Items.Add(strname[lstshowname.SelectedIndex]);
}








}
}

zayens
دوشنبه 07 دی 1394, 11:29 صبح
نمیتونی ورودی بگیری؟
خب اولا همه ی تسکت باکسهار و ریختی توی strname (داخل حلقه for همه strname هست)
دوما
حلقه for برای چی گزاشتی؟
اشتباهه
با این حلقه فور داری همه ی اندیس های strname را تکراری پر میکنی

zayens
دوشنبه 07 دی 1394, 11:37 صبح
بیا کلا کدت را ویرایش کردم وتست کردم کار میکنه

public partial class phonebook : Form
{
public phonebook()
{
InitializeComponent();
}
string[] strname = new string[10];
string[] strfamily = new string[10];
string[] phone_static = new string[10];
string[] phon_number= new string[10];
string[] mail = new string[10];
string[] location = new string[10];
int i = 0;
//method input
private void input(string[] enter)
{

}
private void btnadd_Click(object sender, EventArgs e)
{
strname[i] = txtname.Text;
txtname.Clear();
strfamily[i] = txtfamily.Text;
txtfamily.Clear();
phone_static[i] = txtphonstatic.Text;
txtphonstatic.Clear();
phon_number[i] = txtphonnumber.Text;
txtphonnumber.Clear();
mail[i] = txtmail.Text;
txtmail.Clear();
location[i] = txtlocation.Text;
txtlocation.Clear();
lstshowname.Items.Add(strname[i]);
//این اضافه شد
i++;
}


private void btnjoziat_Click(object sender, EventArgs e)
{
//این هم ویرایش شد
lstperfect.Items.Clear();
try
{
lstperfect.Items.Add(strname[lstshowname.SelectedIndex]);
lstperfect.Items.Add(strfamily[lstshowname.SelectedIndex]);
lstperfect.Items.Add(phone_static[lstshowname.SelectedIndex]);
lstperfect.Items.Add(phon_number[lstshowname.SelectedIndex]);
lstperfect.Items.Add(mail[lstshowname.SelectedIndex]);
lstperfect.Items.Add(location[lstshowname.SelectedIndex]);
}
catch { }

}















}

download69
دوشنبه 07 دی 1394, 12:26 عصر
کد کاربر zayens برای شما بهترینه
و اصول کار هم همینه ولی من نمیدونم چرا شما میخواین با حلقه به آرایه تون مقدار بدین اونم مقادیری که باید از شما گرفته بشه !!!
اصول کار اینه که برای اضاف کردن شما باید هر بار مقادیر را در تکس باکس ها وارد کنید و بعد بر روی دکمه اضاف شدن کلیک کنید

در مورد کدتون »:

for (i = 0; i < strname.Length; i++) {
strname[i] = txtname.Text;
strname[i] = txtfamily.Text;
strname[i] = txtphonstatic.Text;
strname[i] = txtphonnumber.Text;
strname[i] = txtmail.Text;
strname[i] = txtlocation.Text;
}



این کد بعد از کلیک بر روی دکمه مورد نظر به اندازه طول آرایه که حالا 10 است 10 بار تکرار میشه پشت سر هم !! یعنی 10 مقدار تکراری !!!
سعی کنید قبل از کدزدن یکم به مبنای کار فکر کنید تا بتونین بهترین عملکرد رو در کد زنی داشته باشین و یادتون نره آغاز برنامه نویسی با الگوریتم و فلوچارت بوده
سعی کنید قبل از کد نوشتن الگوریتم کار رو مشخص کنید تا بتونین به راحتی کد بزنید (تجربه شخصی خودم)

black_shadow
دوشنبه 07 دی 1394, 23:41 عصر
کد کاربر zayens برای شما بهترینه
و اصول کار هم همینه ولی من نمیدونم چرا شما میخواین با حلقه به آرایه تون مقدار بدین اونم مقادیری که باید از شما گرفته بشه !!!
اصول کار اینه که برای اضاف کردن شما باید هر بار مقادیر را در تکس باکس ها وارد کنید و بعد بر روی دکمه اضاف شدن کلیک کنید

در مورد کدتون »:

for (i = 0; i < strname.Length; i++) {
strname[i] = txtname.Text;
strname[i] = txtfamily.Text;
strname[i] = txtphonstatic.Text;
strname[i] = txtphonnumber.Text;
strname[i] = txtmail.Text;
strname[i] = txtlocation.Text;
}



این کد بعد از کلیک بر روی دکمه مورد نظر به اندازه طول آرایه که حالا 10 است 10 بار تکرار میشه پشت سر هم !! یعنی 10 مقدار تکراری !!!
سعی کنید قبل از کدزدن یکم به مبنای کار فکر کنید تا بتونین بهترین عملکرد رو در کد زنی داشته باشین و یادتون نره آغاز برنامه نویسی با الگوریتم و فلوچارت بوده
سعی کنید قبل از کد نوشتن الگوریتم کار رو مشخص کنید تا بتونین به راحتی کد بزنید (تجربه شخصی خودم)


داداش شرمنده که انقد بهتون زحمت میدم واسه تایپ ممنون از توضیحاتتون
داداش به خدا تازه کار هستم میخوام فصل به فصل کار کنم همون فصلو کامل یاد بگیرم
آیا میشه که با حلقه از کاربر تمام فیلد هارو وردی گرفت؟
من حس میکنم واسه هر فیلد بیام آرایه تعریف کنم درسته کار میکنه ولی بهینه نیست درسته؟
اگه میشه با توضیحات شما 3 استاد بهم یاد بدین یا اینکه منبع اموزشی بهتری هم دارین معرفی کنین
بازم ممنون
اگه هم بتونین واسم تمرین طرح کنین که روش نوشتنش تکنیکی باشه خیلی لطف میکنین

zayens
چهارشنبه 09 دی 1394, 12:54 عصر
آیا میشه که با حلقه از کاربر تمام فیلد هارو وردی گرفت؟
من حس میکنم واسه هر فیلد بیام آرایه تعریف کنم درسته کار میکنه ولی بهینه نیست درسته؟

برای اضافه شدن به لیست از for استفاده نمیکنن و لازم هم نیست(همونطور که کد را گذاشتم)
اما برای ذخیره توی دیتابیس یا فایل لازمه که اونجا از for استفاده کنی اما در حال حاضر نیاز نداری چون برنامت ذخیره نداره
روش ذخیره با فور:
for (int i = 0; i < strname.Length; i++) {
//ذخیره ی کل اطلاعات لیست فعلی توی فایل یا دیتابیس از طریق کلاس
classInsert ObjectInsert = new classInsert();
ObjectInsert.Insert(strname[i], strfamily[i], phone_static[i], phon_number[i], mail[i], location[i]);
}

برای ذخیره هم چه از طریق فایل چه ایکس ام ال چه دیتابیس و ... توی همین سایت سرچ کنی مطلب زیاد هست