مشکل کد زیر چیست؟چرا فایل های داخل پوشه انتخاب شده داخل لیست باکس قرار نمیگیرند؟
privatevoid btn_selectfolder_Click(object sender, EventArgs e)
{
FolderBrowserDialog fbd = newFolderBrowserDialog();
fbd.ShowNewFolderButton = false;
if (fbd.ShowDialog() == DialogResult.OK)
{
string path= fbd.SelectedPath;
string Pattern = "*.jpg;*.gif;*.bmp";
string[] filePaths = Directory.GetFiles(path, Pattern ,SearchOption.AllDirectories);
foreach(string s in filePaths)
listBox2.Items.Add(s.ToString());
}
}
میخوام تو این کد تمام فایل هایی که پسوندشون نیز مسخص شده را داخل لیست باکسم درج کنم اما نمیشه
راستی اینم بگم که اصلا خطای گرامری نداره
ممنون از دوست های خوبم بابت راهنمایی هاتون!!!!
1 ضمیمه
نقل قول: مشکل کد زیر چیست؟چرا فایل های داخل پوشه انتخاب شده داخل لیست باکس قرار نمیگیرند؟
از این استفاده کن برا من کار کرد!
FolderBrowserDialog fbd = new FolderBrowserDialog();
fbd.ShowNewFolderButton = false;
if (fbd.ShowDialog() == DialogResult.OK)
{
string path = fbd.SelectedPath;
// string Pattern = "*.jpg||*.gif|*.bmp";
var filePaths = Directory.GetFiles(path, "*.*", SearchOption.AllDirectories)
.Where(s => s.EndsWith(".gif") || s.EndsWith(".jpg") || s.EndsWith(".bmp"));
foreach (var s in filePaths)
listBox2.Items.Add(s.ToString());
}
نقل قول: مشکل کد زیر چیست؟چرا فایل های داخل پوشه انتخاب شده داخل لیست باکس قرار نمیگیرند؟
ممنون دوست عزیز
فقط یه مشکل داشت، اونم اینکه اگه درایو را انتخاب کنیم خطا میده که اونم با یه دستور
trycatchحلشد
try
{
var filePaths = Directory.GetFiles(path, "*.*", SearchOption.AllDirectories)
.Where(s => s.EndsWith(".gif") || s.EndsWith(".jpg") || s.EndsWith(".bmp"));
listBox2.Items.Clear();
foreach (var s in filePaths)
listBox2.Items.Add(s.ToString());
}
catch
{
MessageBox.Show("فقط پوشه انتخاب کنید، نمیتوان کل درایو را انتخاب کرد");
}
نقل قول: مشکل کد زیر چیست؟چرا فایل های داخل پوشه انتخاب شده داخل لیست باکس قرار نمیگیرند؟
try catch مشکلت رو حل کرد!!!!
یا اون کدها رو که
.Where(s => s.EndsWith(".gif") || s.EndsWith(".jpg") || s.EndsWith(".bmp"));
از بالا کپ زدی تشکر هم که یادت رفت!
چقدر بی ملاحظه اند بعضیها
نقل قول: مشکل کد زیر چیست؟چرا فایل های داخل پوشه انتخاب شده داخل لیست باکس قرار نمیگیرند؟
نقل قول:
نوشته شده توسط
fmehrvarzi
try catch مشکلت رو حل کرد!!!!
یا اون کدها رو که
.Where(s => s.EndsWith(".gif") || s.EndsWith(".jpg") || s.EndsWith(".bmp"));
از بالا کپ زدی تشکر هم که یادت رفت!
چقدر بی ملاحظه اند بعضیها
دوست عزیز اگه دقت کنی که در قسمت دوم همه کدها همون کد های شما ...(این یعنی اینکه شما مشکل کد پست اولو حل کردید) فقط منم یه try catch بهش اضافه کردم در واقع منم در ادامه کد های شما این حرف گفتم
راستی به نحوی منم تشکر کردم (ممنون دوست عزیز)
اما در کل ممنونم بخاطر لطفی که دارید
ما که مبتدی هستیم و به کمک دوستان با ارزشمنی مثل جنابعالی نیاز داریم اگه هم یه جایی بی ادبی شده شما ببخشید
نقل قول: مشکل کد زیر چیست؟چرا فایل های داخل پوشه انتخاب شده داخل لیست باکس قرار نمیگیرند؟
نقل قول:
نوشته شده توسط
fmehrvarzi
try catch مشکلت رو حل کرد!!!!
یا اون کدها رو که
.Where(s => s.EndsWith(".gif") || s.EndsWith(".jpg") || s.EndsWith(".bmp"));
از بالا کپ زدی تشکر هم که یادت رفت!
چقدر بی ملاحظه اند بعضیها
از هر کاری که برای دیگران انجام می دهید انتظار تشکر و سپاسگذاری نداشته باشید چون دراینصورت ارزش کاری که انجام داده اید را از بین می برید.هر کاری را برای رضای خدا انجام دهید.
موفق باشید
نقل قول: مشکل کد زیر چیست؟چرا فایل های داخل پوشه انتخاب شده داخل لیست باکس قرار نمیگیرند؟
سلام
برای اینکه کار شما دوستان را شاید کمی تمیل تر کنم ، پیشنهاد می کنم به جای اینکه از حلقه Foreach استفاده کنند می توانند از متد AddRange از ListBox به جای متد Add استفاده کنید تا کد شما باز هم ساده تر شود.
موفق باشید.
من فکر می کنم اگر از چیز های آماده خود VS استفاده کنیم. بهتر است. آماده ای که بازده ی خوبی داشته باشد نه هر آماده ای.
هدف سرعت بود.
دست دوستان درد نکنه
موفق باشید
---------------------------
آموزش برنامه نویسی ویژوال بیسیک
www.homecode.blogfa.com
نقل قول: مشکل کد زیر چیست؟چرا فایل های داخل پوشه انتخاب شده داخل لیست باکس قرار نمیگیرند؟
نقل قول:
نوشته شده توسط
Mousavmousab
سلام
برای اینکه کار شما دوستان را شاید کمی تمیل تر کنم ، پیشنهاد می کنم به جای اینکه از حلقه Foreach استفاده کنند می توانند از متد AddRange از ListBox به جای متد Add استفاده کنید تا کد شما باز هم ساده تر شود.
موفق باشید.
من فکر می کنم اگر از چیز های آماده خود VS استفاده کنیم. بهتر است. آماده ای که بازده ی خوبی داشته باشد نه هر آماده ای.
هدف سرعت بود.
دست دوستان درد نکنه
موفق باشید
---------------------------
آموزش برنامه نویسی ویژوال بیسیک
www.homecode.blogfa.com
سلام دوست عزیز
ممنون از راهنمایی تون اگه امکانش هست همین کد را با متد AddRange بنویسید نتونستم بنویسمش .
بازم ممنون از راهنمایی هاتون
موفق باشی
نقل قول: مشکل کد زیر چیست؟چرا فایل های داخل پوشه انتخاب شده داخل لیست باکس قرار نمیگیرند؟
نقل قول:
اگه امکانش هست همین کد را با متد AddRange بنویسید نتونستم بنویسمش
List<string> lstFiles = new List<string>();
private void button1_Click(object sender, EventArgs e)
{
string[] arrFiles = null;
FolderBrowserDialog fbd = new FolderBrowserDialog();
DialogResult result = fbd.ShowDialog();
if (result == DialogResult.OK)
{
arrFiles = Directory.GetFiles(fbd.SelectedPath, "*.txt", System.IO.SearchOption.TopDirectoryOnly);
}
foreach (string s in arrFiles)
{
lstFiles.Add(Path.GetFileName(s));
}
listBox1.Items.AddRange(lstFiles.ToArray());
}
نقل قول: مشکل کد زیر چیست؟چرا فایل های داخل پوشه انتخاب شده داخل لیست باکس قرار نمیگیرند؟
نقل قول:
نوشته شده توسط
matin.soft
از هر کاری که برای دیگران انجام می دهید انتظار تشکر و سپاسگذاری نداشته باشید چون دراینصورت ارزش کاری که انجام داده اید را از بین می برید.هر کاری را برای رضای خدا انجام دهید.
موفق باشید
تشکر کردن تو این سایت (که توصیه میشه) کمک میکنه من ِ نوعی ، که کد نوشتم متوجه بشم کدی که نوشتم کارشون را راه انداخته و یا مشکلشون را حل کرده
اگر تشکری نباشه! ملت همه میان مسئله ای که حل شده را ممکنه دوباره حل کنند. (دوباره کاری زیاد میشه!)
و یا ممکنه به من بگه : کدهات ممکنه کارشونو راه ننداخته باشه.
ایشان هم منظوری نداشتن مشکل با اون کدهای بالا حل شد.
اما چون گفته بودن try catch مشکلشون را حل کرده ! و از همون کدهای بالا استفاده کرده بودن! گفتم که توصیه ای کرده باشم!
در ضمن این مسئله به رضای خدا ربطی نداره!
با تشکر