منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب

نسخة كاملة : خزن ملفات داخل قاعدة البيانات
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
الصفحات : 1 2
لى ولك وللجميع بامر الله

تحياتى لك
وتمنياتى لك التوفيق
شكرا للجهود لدي سؤال اذا ممكن 
هو عند فتح الملف يحفظ نسخة في ملف المشروع 
المطلوب هو فتح الملف دون الحفظ مع الشكر
الشكر لله والحمد لله
والحمد لله على كل حال

حفظ الملف اجبارة فى كلا الاحوال
كون ان يكون مرئي كما اشرت اليه او بمنطلق نفسه
سيقوم بانشاء الملف فى مجلد Temp الخاص بالنظام

لذلك جعلت من الامر ان يكون مرئي لمعرفة ما يقوم بتكوينه
لنقول انه يقوم بانشاء الملف بمجلد باسم 123 بجانب البرنامج

كل ما عليك فعله التالى
كود حذف أو تفريغ المجلد المشار اليه باسم 123
اما عند اغلاق البرنامج يتم بتنفيذ هذا الكود او بعد اتمام الحدث مثل اغلاق الشاشة وما شبه

وبكده تكون انت متابعة لما يقومه البرنامج ولا يستغل من استهلاك المساحة على جهاز المستخدم
وتمكنت من تفريغ / مسح الملفات دون ان مستخدم الجهاز الدخول على مجلد Temp كل فترة لاتمام تفريفه

تحياتى لك
وتمنياتى لك التوفيق
شكرا لك اخي عذرا على الالحاح هل من الممكن كتابة الكودات التي شرحتها اي كود الحفظ في مجلد وكود الحذف عند الاغلاق
  Heart مع الشكر Heart
الشكر لله والحمد لله 
والحمد لله على كل حال

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

فى الحدث الخاص بالمشروع تحت اسم button2_Click
ستجد هذا الجزء من الكود فى الحدث
كود :
               // تحويل الكود المسجل بقاعدة البيانات الى ملف
               byte[] ff = (byte[])dt.Rows[DgId][3];
               var FPath = dt.Rows[DgId][1].ToString() + dt.Rows[DgId][2].ToString();
               FileStream FFS = new FileStream(FPath, FileMode.Create, FileAccess.Write);
               FFS.Write(ff, 0, ff.Length);
               FFS.Close();
               // تنفيذ فتح الملف بعد انشائه بالكود السابق
               Process.Start(FPath);

كل ما عليك استبداله بهذا الكود
كود :
               // تحويل الكود المسجل بقاعدة البيانات الى ملف
               byte[] ff = (byte[])dt.Rows[DgId][3];
               if (!System.IO.Directory.Exists("MyFile")) { System.IO.Directory.CreateDirectory("MyFile"); }
               var FPath = "MyFile\\" + dt.Rows[DgId][1].ToString() + dt.Rows[DgId][2].ToString();  
               FileStream FFS = new FileStream(FPath, FileMode.Create, FileAccess.Write);
               FFS.Write(ff, 0, ff.Length);
               FFS.Close();
               // تنفيذ فتح الملف بعد انشائه بالكود السابق
               Process.Start(FPath);

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

تعال على الفورم وقم بتفعيل حدث : Form1_FormClosing
وقم بعد ذلك باضافة هذا الكود بداخله
كود :
           if (System.IO.Directory.Exists("MyFile")) { System.IO.Directory.Delete("MyFile", true); }

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

وبكده تكون حليت مشكلة تواجد الملف بجانب البرنامج

تذكر كلمة MyFile فى الاكواد بالاعلى تعنى اسم المجلد يمكنك تغيير الكلمة لما تريده
من جميع اسطر الاكواد معاً وليس  فى سطر واحد فقط

تحياتى لك
وتمنياتى لك التوفيق
Heart في الحقيقة يعجز لساني عن شكرك على الدعم الذي تقدمه لي لكنك فعلا تطبق القول  (زكاة العلم نشره) متمنيا لك دوام التوفيق Heart
الحمد لله والشكر لله
والحمد لله على كل حال

تحياتى لك
وتمنياتى لك التوفيق
الصفحات : 1 2