تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[سؤال] مشكلة مع كود اوبن فيل ديلوج
#1
السلام عليكم ورحمة الله 
عندى مشكله اريد ان احدد من اداة اوبن فيل ديلوج وبعد تحديد صورتين او اكثر وعند ضغط اوبن يقوم بنسخهم الى مجلد مع ملفات البرنامج واسم المجلد of
جربت هذا الكود ولكن تخرج لى رسالة تعذر العثور على المسار اتمنى ان احد يوضح لى اين الخطا
الكود 
كود :
string pathx = ("of\\");
           openfile.Multiselect = true;
           openfile.ShowDialog();
           string f1 = "";
           f1 = openfile.FileName;
           textBox1.Text = f1;
           File.Copy(f1,pathx);
السورس كود 
صورة من البرنامج
الرد }}}
تم الشكر بواسطة:
#2
وعليكم السلام ورحمة الله وبركاته

فى البداية لجعل الكد يعمل بشكل صحيح
فقط قم باضافة listBox من ثم استخدم الكود بهذا الشكل
كود :
           var pathx = Directory.GetCurrentDirectory() + "\\of\\";
           openfile.Filter = "All files (*.*)|*.*";
           openfile.Multiselect = true;
           openfile.Title = "My File Browser";
           if (openfile.ShowDialog() == DialogResult.OK) {
               foreach (String file in openfile.FileNames)
               {
                   var GetFile = file.Split('\\').Last();
                   listBox1.Items.Add(GetFile);
                   if (!Directory.Exists(pathx)){Directory.CreateDirectory(pathx);}
                   File.Copy(file, pathx + GetFile, true);
                   textBox1.Text = pathx + listBox1.Items[0].ToString();
               }
           }

بهذا الكود انت لا تحتاج لانشاء المجلد يدوياً
سيقوم الكود بالتحقق اذا كان المجلد غير موجود بانشاء المجلد تلقائي
مرفق بالرد السورس + برنامج للاختبار 
مع بعض اللمسات والتعديل على شكل الفورم بالسورس
وشرح كل سطر من الكود

تحياتى لك
وتمنياتى لك التوفيق


الملفات المرفقة
.zip   Pro Open File.zip (الحجم : 4.78 ك ب / التحميلات : 6)
.zip   open file dilog.zip (الحجم : 12.09 ك ب / التحميلات : 11)
{ وَقُل رَّبِّ زِدْنِي عِلْمًا }
[ كن على يقين من اعمالنا نخطئ ومن اخطائنا نتعلم ولذلك لا شي مستحيل ]

ساهم دائماً فى    لكل من يقوم بالمساهمة
فى حل المشكلة او الاستفسار لديك فالجميع هنا يعمل 
على مساعدة الاخرين لوجه الله وان تحتسب له اجر عند الله


 شرح كيفية عمل قاعدة بيانات تعمل على اكثر من جهاز على الشبكة الداخلية
الرد }}}
تم الشكر بواسطة: ابراهيم ايبو , thevirus , issamsaidd , sendbad100
#3
شكرا لك انا متشكر جد ولكن انا هل ينفع الغى الست بوكس ويكون مباشر وهل ينفع انى اعمل تكست بكس اخرى مثلا اكتب احمد واختار ملف ينشى مجلد داخل of بااسم احمد يتيج لى النسخ بدخلة وهكذا اكتب محمد فى التكست واضغ على الاوبن فيل وينشى مجلد اخر دخل مجلد of باسم محمد ويتيح لى النسخ بدخلة وهكذا على باقى الاسماء هذا لا الاصل ما كنت اريدة وشكرا لك على مسعادتك 

اتمنى تكون الصور وصلت لا اريد سوى تكست بوكس واحدة اكتب فيها اسماء ويشى مجلدات داخل مجلد of فقط هذا ما اريدة شكرا لك مره اخرى صورة توضحية 
الرد }}}
تم الشكر بواسطة:
#4
كود :
   {
           // توضيح مسار واسم المجلد لنسخ الملفات به
           var pathx = Directory.CreateDirectory ("hh\\"+textBox2.Text);
         
          // لتحديد جمع الملفات
          openfile.Filter = "All files (*.*)|*.*";
           // تعدد الملفات فى المرة الواحدة
           openfile.Multiselect = true;
           // مجرد اسم لعنوان اداء تحديد الملفات
           openfile.Title = "My File Browser";
           // التحقق اذا تم اختيار ملف او اكثر ثم الموافقة لاتمام تنفيذ الكود
           if (openfile.ShowDialog() == DialogResult.OK) {
               // اعطاء متغير باسم File
               // ليقوم بجلب جميع الملفات التى تم تحديدها
               foreach (String file in openfile.FileNames)
               {
                   // اخذ اسم الملف فقط بدون المسار كاملاً
                   var GetFile = file.Split('\\').Last();
                   // اضافة اسم الملف فى القائمة ListBox
                   listBox1.Items.Add(GetFile);
                   // تحقق اذا كان المجلد موجود واذا لا يتم انشاء المجلد
                   //if (!Directory.Exists(pathx)){Directory.CreateDirectory(pathx);}
                   // نسخ الملف الى مسار المجلد المحدد مسبقاً
                   File.Copy(file, pathx  + GetFile, true);
                   // جلب مسار واسم الملف الجديد فى TextBox
                   textBox1.Text = pathx + listBox1.Items[0].ToString();
               }
           }
       }

       private void listBox1_SelectedIndexChanged(object sender, EventArgs e)
       {
           // توضيح مسار واسم المجلد
           var pathx = Directory.CreateDirectory("hh\\" + textBox2.Text);
           // جلب مسار واسم الملف الجديد فى TextBox
           textBox1.Text = pathx + listBox1.Items[listBox1.SelectedIndex].ToString();
       }
هذا الكود صنع المجلد با الاسم ولكن كيف عند فتح الاوبن فيل ينسخ ما وضعتعة بدخل المجلد الذى اخد اسمة من التكست بوكس 2
الرد }}}
تم الشكر بواسطة:



التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم