الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

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

بدأه _- محمد نور -_ في 27 يناير 2010 · 4 رد · 705 مشاهدة · في Microsoft Visual C#.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

أقوم بكتابة أداة لعمل تعديل مرة واحدة فقط على ملف قاعدة بيانات

أريد أن أجد أى شئ يميز ملف قاعدة البيانات الذى تم التعديل عليه من قبل

يوجد عدة طرق و لكن لها عيوب

أولا من الممكن أن أقوم بتخزين قيمة داخل قاعدة البيانات هذه تدل على أنه تم تعديلها من قبل

و لكنى لا أملك صلاحية إضافة هذه القيمة فيها

ثانيا ممكن أقوم بعمل hashing للملف و لكن هذا الأمر قد يأخذ بعض الوقت

فهل يوجد شئ يميز أى ملف يتم إنشاءه أستطيع أن أستخدمه لكى أتحكم فى هذا الأمر

لا إله إلا الله محمد رسول الله

アッラー以外に神はなし。ムハンマドはアッラーの使徒である

#2

وعليكم السلام ورحمة الله وبركاته

افترض أن ملف قاعدة البيانات من نوع SQL SERVER ؟ إذا كان كذلك فلا يمكنك حتى عمل hashing للمف بدون إيقاف محرك قاعدة البيانات الذي يستخدم الملف ..

هناك فكره أخرى وهي التعديل على خصائص الملف Attributes واستخدام واحده منها كـ Flag يبين هل تم معالجة الملف من قبل أم لأ

مثلاً يمكن إستخدام خاصية Archive أو أي خاصية أخرى غير مهمه ومخفية عن المستخدم بعد معالجة الملف :


File.SetAttributes(path, File.GetAttributes(path) | FileAttributes.Archive);
            string path = "c:\\testfile";

وعند الإختبار :


{
MessageBox.Show("File prosecced");
}
else
{
MessageBox.Show("File NOT prosecced");
}
            if ((File.GetAttributes(path) & FileAttributes.Archive) == FileAttributes.Archive)

..

تم تعديل هذه المشاركة بواسطة Desert_Eagle في 30 يناير 2010 في 18:17

1
#3

مسألة عمل hashing سوف تكون بالتأكيد قبل أن أقوم بوضع قاعدة البيانات على إتصال بالخادم

و لكن هذه ليس المشكلة

يوجد مشكلة فى الطريقة التى طرحتها ألا و هى التعديل على خصائص الملف

أنه لو تكم التعديل على هذه الخاصية من قبل أى برنامج أى لأى سبب فإن هذه الطريقة لن تعد صالحة من أدل هذا الأمر

أنا أبحث عن شئ يميز الملف منذ إنشاءه

رقم ما أو أى شئ خاص به

لا إله إلا الله محمد رسول الله

アッラー以外に神はなし。ムハンマドはアッラーの使徒である

#4
FileInfo fi = new FileInfo("yourfilename");
int diff = DateTime.Compare(fi.LastWriteTime, fi.CreationTime);
// already modified or no
#5

أظن أننى قد أخذ هذه بالإعتبار

لا إله إلا الله محمد رسول الله

アッラー以外に神はなし。ムハンマドはアッラーの使徒である

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…