PDA

View Full Version : مشکل در برنامه



senator2012
سه شنبه 22 شهریور 1390, 14:08 عصر
سلام.
من یک برنامه نوشتم در WPF #C که دو قسمت دارد(قسمت ها را با Tab control درست کردم). قسمت اول با استفاده از تابع foreach توی درایوی که کاربر میده بره و تمام فایلها را توی یک لیست باکس لیست کنه:


http://up.iranblog.com/images/r727ocwp55dtw6r1bi8p.jpg





string drive = textBox.Text;
drive+=":\\";

foreach(string a in
System.IO.Directory.GetDirectories(drive)){

listbox.items.add(a)

البته کدش درست کپی نشد اینجا ولی منطقش این هست.
در بخش دوم یا تب دوم در چهارتا textbox کاربر درایوها را وارد میکند و سپس نام پوشه یا فایل را در یک textbox دیگر و سپس دکمه search را میزند و اگر فایل در اون درایورها وجود داشت مینویسه توی textbox result مینویشه found و اگر پیدا نشد not found:


http://up.iranblog.com/images/4x4xpxj9irlc7nrun48d.jpg





string drive = textBox2.Text;
string b=file.Text;
string c;
drive += ":\\";

foreach (string a in
System.IO.Directory.GetDirectories(drive))
{
c = a.Substring(4);
if (string.Compare(c, b, true) == 0)
{
result.Text = "found";
}
result.Text = "not found";




یه نکته هم بگم اون substring را برای این نوشتم که کاربر مثلا نام درایور را f وارد میکند و من هم برای این که برنامه درست کار کند یه :// بهش اضافه کردم و در تابع getdirectories قرار دادم.
ولی مثلا چیزی که در a قرار میگیرد f:\a هست و چیزی که کاربر توی اون textbox وارد میکنه a هست و من هم اومدم با substring نام درایو و اسلش ها را جدا کردم.
حالا مشکل این هست که هرکاری میکنم در result مینویسه not found و برنامه درست کار نمیکنه.
واقعا ممنون میشم یه راهنمایی بکنید.
---------------------------------------------------------------------
در اخر بگم اولین برنامه ای هست که مینویسم و خیلی مبتدی هستم.
یک سوالی که خیلی وقت هست توی ذهنم هست این هست که من از کجا باید بفهمم برای کاری که میخواهیم انجام بدم باید از چه تابع یا کدی استفاده کنم.
مثلا میخواهم بعد از لیست شدن نام فایلها در listbox ،کاربر بتونه فایلی که میخواهد را در listbox انتخاب کند و یک دکمه delete هم درست کنم که روی ان کلیک کنه و اون فایل پاک شه،مثل یک برنامه filemanager.
ممنون میشم در این مورد هم کمک کنید.
تشکر ویژه.