PDA

View Full Version : سوال: کپی چندین فایل انتخابی به چندین دایرکتوری انتخابی با checkedListBox ها



امیر مهرشاد
یک شنبه 28 مهر 1392, 16:30 عصر
سلام دوستان
لیست تمامی فایل های مبدا و مقصد رو با کلاس هاس IO بدست میارم و هرکدومشونو توی یک checkedListBox بصورت جداگانه میریزم .قصدم اینه که فایل هایی که از مبدا توسط کاربر انتخاب شدند رو کپی کنه توی دایرکتوری های مقصد که کاربر انتخابشون کرده چکار کنم ؟

دستوری که بفهمه چه فایل هایی از مبدا انتخاب شده و چه پوشه هایی در مقصد انتخاب شده سپس عمل کپی رو انجام بده مثلا 4 تا عکس از دستکتاپ انتخاب شده باید همزمان این سه تا عکس توی 2 تا پوشه مقصد کپی بشه

یه نمونه میزارم منظورمو میفهمید :

112068

و سوال دوم :

یه تکس باکس برای جستجو (در داخل آیتم های چک لیست باکس مقصد) کذاشته شده و قراره دقیقا همانند دستور Like با نوشتن قسمتی از نام پوشه بقیه آیتم ها نامتشابه حذف و آیتم های مشابه یا هم نام در لیست نمایش داده شوند ممنون میشم دوستان کمک کنند.


اینم واسه برگشت آیتم های انتخاب شده - البته با آرایه و فورایچ بهتر میشد :


for (int i = 0; i < checkedListBox1.Items.Count; i++)
{
listBox1.DataSource = checkedListBox1.CheckedItems;

}


ولی روند چند انتخابی برای عمل بالا رو میخوام


و آخرین سوالم : اگر توجه کنید

112069


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



متشکرم

aliagamon
یک شنبه 28 مهر 1392, 20:14 عصر
سوال اول رو من ویژوال ندارم اما فکر کنم با یه همچین کدی :

foreach(object item in checkedListBox1.CheckedItems) {
MessageBox.Show(item.ToString());
}

بتونی اسم فایل هر در بیاری .... و از ون طرف هم اسم فولدر هر بعد از این دوتا استفاده کنی و همه فایل هر به ترتیب به دونه دونه فولدر ها انتقال بدی ....
سوال دو رو چون نمیتونم با ویژوال کار کنم نمیتونم کمک کنم چون باید تست کنم ببینم چه روشی بهتر جواب میده .... (راهنمایی میتونم بکنم مشکل اینه با contains نمیتونی دقت بالایی تو غربال داشته باشی )
سوال سه .....
چون ما باید از متن (تکست ) خود آیتم استفاده کنیم پس نمیشه خلاصه کرد (سه نقطه گذشت ) ... میتونی یه خاصیت بهش اضافه کنی که هر آیتم علاوه بر تکست یه مشخصه آدرس هم داشته باشن ....
در آخر من ویژوال یا هر کامپیلر دیگه ای ندارم پس کدی که دادم تست نشده ....

امیر مهرشاد
یک شنبه 28 مهر 1392, 20:50 عصر
لطفا یکی کمک کنه

اینم نوشتم باز نمیشه


foreach (string maghsad in checkedListBox2.CheckedItems)
{
foreach (string mabda in checkedListBox1.CheckedItems)
{
File.Copy(mabda,maghsad+Path.GetFileName(mabda));
}

}

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

پست های زیادی در همین رابطه اینجا زده شده (اجازه دسترسی ) ولی متاسفانه هنوز نتونستم با مطالعه روش های پیشنهادی مشکلمو مرتفع کنم

امیر مهرشاد
چهارشنبه 01 آبان 1392, 23:46 عصر
بالاخره حل شد