إعـــــــلان

تقليص
لا يوجد إعلان حتى الآن.

هل File.GetSize تعطي رقما ثابتا لحجم الملف يمكننا الاعتماد عليه بدقة ؟

تقليص
هذا الموضوع مغلق.
X
X
 
  • تصفية - فلترة
  • الوقت
  • عرض
إلغاء تحديد الكل
مشاركات جديدة

  • هل File.GetSize تعطي رقما ثابتا لحجم الملف يمكننا الاعتماد عليه بدقة ؟

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

    هل File.GetSize تعطي رقما ثابتا لحجم الملف يمكننا الاعتماد عليه بدقة أم أن رقم حجم الملف يمكن أن يتغير من جهاز لآخر أو من نظام تشغيل لآخر ولو بشكل طفيف ؟
    لأني أريد استخدام if الشرطية وسأشترط التساوي == مع حجم الملف ( مع ملاحظة أني لن استخدم < أو > ) لذلك أريد الاطمئنان أن رقم الحجم سيظل ثابتا و لن يتغير

    و إذا كانت الطريقة الأدق للتحقق من وجود ملف ما كما هو دون تغيير هي عن طريق بصمة الملف ...
    فيا ليت أحد الكرام يخبرنا بكود التحقق من الملف عن طريق بصمته إتماما للفائدة ...
    التعديل الأخير تم بواسطة علي قد حالي; الساعة 24-04-2016, 02:04 PM.

  • #2
    قبل ان اجرب الكود .....فيه لقطة يستعملها الكثير من المبرمجين هي استعملا مكان اخراج النتائج و غالبا تكون دبياوج

    يعني مثلا نكتب

    a + b = resulta

    اي نعرف قيمة ج او ماهي ج و هل هي عذذ او قيمة او نص او ........نخرجها في دالوج

    dialog.message("notice",resulta);

    تعليق


    • #3
      الكود يعطيك الحجم بوحدة octets

      تعليق


      • #4
        لدينا ملفين مضغوطين في القرص C
        file1.rar
        file2.rar

        في زر نزرع الكود

        كود PHP:

        s1 
        File.GetSize("C:\\file1.rar");
        s2 File.GetSize("C:\\file2.rar");

        if 
        s1 == s2 then
        Dialog
        .Message("notice""goooooooood ");
        else
        Dialog.Message("notice""falseeeeee");
        end 

        تعليق


        • #5
          المشاركة الأصلية بواسطة المحترف اقلي مشاهدة المشاركة
          الكود يعطيك الحجم بوحدة octets
          نعم اخي الحبيب و في الاوتوبلاي مكتوب عنها انها تعطينا الحجم بال bytes
          لكن مثلا هل ال byte هو نفسه ال octet فعلا ؟
          وجدت أحدهم يقول علي هذا الرابط https://learningnetwork.cisco.com/thread/56208
          ان ال byte قد تختلف عن ال octet ولكن الشائع ان كلاهما واحد = 8 bit
          لم افهم كلامهم جيدا ولا ادري مدي صحته و لكن يبقي السؤال هل استخدام هذا الاكشن لجلب قيمة حجم ملف سيعطينا نفس الرقم علي كل الاجهزة أم أنه قد يختلف في بعض الاجهزة مسببا مشاكل لم تكن في الحسبان اثناء كتابة الاكواد ...
          فمثلا لو اشترطت ان يكون حجم الملف مساوي لقيمة معينة بال bytes لتنفيذ امر معين
          اذا اختلفت هذه القيمة من جهاز لآخر ستحدث مشكلة ... فتارة سيكون الحجم مساويا و تارة سيكون غير مساو ... رغم أن الملف في الحالتين واحد ولم يحدث له أي تغيير
          فهل الادق التحقق من وجود ملف ما عن طريق البصمة ام ماذا ؟
          هناك برنامج للأخ الكريم هيثم لحذف الملفات المكررة ذكر انه اعتمد علي بصمة الملف و ليس الاسم او الحجم ... حاولت معرفة الكود الخاص ببصمة الملف ؟
          لكني لم استطع اتوصل لكود التحقق من بصمة الملف ...

          تعليق


          • #6
            الكود هو هو في كل الاجهزة اقصد قضية اشتراط تساوي الحجمين مهما كانت الوحدة ....

            تعليق


            • #7
              المشاركة الأصلية بواسطة المحترف اقلي مشاهدة المشاركة
              الكود هو هو في كل الاجهزة اقصد قضية اشتراط تساوي الحجمين مهما كانت الوحدة ....
              كلامك صحيح في حالة الكود الذي تفضلت بكتابته لن تكون هناك مشكلة
              ولكن مثلا الكود التالي ستحدث مشكلة إذا كان الحجم يختلف من جهاز للآخر
              كود PHP:
              s1 File.GetSize("C:\\file1.rar");
              s2 78423

              if s1 == s2 then
              Dialog
              .Message("notice""goooooooood ");
              else
              Dialog.Message("notice""falseeeeee");
              end 
              لأن S1 عل جهاز سيكون بحجم معين وليكن 78423 ولكنه علي جهاز آخر سيكون بحجم آخر مختلف حتي ولو اختلاف طفيف 78422 فسيعطي false
              (أنا هنا اتكلم بافتراض أن قيمة الحجم ستتغير من جهاز لآخر ولكني لا أعلم هل هذا صحيح أم خطأ)

              لذلك كنت أفكر في مسألة التحقق من وجود الملف بشيء يميز الملف و لا يتغير أبدا (تجنبا لاحتمال أن تكون قراءة حجم الملف بالبايت قد تتغير فعلا من جهاز لآخر ) ...
              هل تعرف أخي كود التحقق من وجود الملف بالبصمة كالذي استخدمه الأخ هيثم بدلا من التحقق بالحجم أو الاسم ؟ و هل البصمة هذه هي الهاش أم ماذا ؟

              تعليق


              • #8
                بالاسم ممكن اما قضية البصمة فلا اعرف ما هي اصلا و ما المقصود بها
                طبعا ننت؟ر الاخوة ممكن لهم راي اخر و اكثر دقة و علما

                تعليق


                • #9
                  المشاركة الأصلية بواسطة المحترف اقلي مشاهدة المشاركة
                  بالاسم ممكن اما قضية البصمة فلا اعرف ما هي اصلا و ما المقصود بها
                  طبعا ننت؟ر الاخوة ممكن لهم راي اخر و اكثر دقة و علما
                  منتظر معك بارك الله فيك ... و إن كنت أشعر ان File.GetAttributes سيكون لها علاقة بموضوع بصمة الملفات و الله أعلم ....
                  التعديل الأخير تم بواسطة علي قد حالي; الساعة 24-04-2016, 08:45 PM.

                  تعليق


                  • #10
                    اخي الكريم .. موضوع ان حجم الملف يتغير من جهاز إلى آخر لا أعتقد وفي نفس الوقت لا أستطيع أن أؤكد ذلك .

                    أما عن الكود المستخدم للحصول على بصمة الملف ..

                    كود:
                    File.GetCRC("C:\\MyFile.txt");
                    بالتوفيق اخي الكريم

                    تعليق


                    • #11
                      المشاركة الأصلية بواسطة Haitham.2012 مشاهدة المشاركة
                      اخي الكريم .. موضوع ان حجم الملف يتغير من جهاز إلى آخر لا أعتقد وفي نفس الوقت لا أستطيع أن أؤكد ذلك .

                      أما عن الكود المستخدم للحصول على بصمة الملف ..

                      كود:
                      File.GetCRC("C:\\MyFile.txt");
                      بالتوفيق اخي الكريم
                      شكرا لك أخي الكريم ...
                      استخدمت الكود ولاحظت أنه يعطي هذا الرقم الثابت 4294967295 إذا كان الملف غير موجود في المسار المحدد....
                      فهل هذا خطأ من نسخة الاوتوبلاي عندي أم ان ذلك شيء عادي يحدث مع الجميع ؟
                      جزاك الله خيرا

                      تعليق


                      • #12
                        المشاركة الأصلية بواسطة علي قد حالي مشاهدة المشاركة
                        شكرا لك أخي الكريم ...
                        استخدمت الكود ولاحظت أنه يعطي هذا الرقم الثابت 4294967295 إذا كان الملف غير موجود في المسار المحدد....
                        فهل هذا خطأ من نسخة الاوتوبلاي عندي أم ان ذلك شيء عادي يحدث مع الجميع ؟
                        جزاك الله خيرا

                        نعم اخي الكريم .. اذا كان الملف غير موجود يعود بهذا الرقم .. كان المفترض ان يعود بقيمه nill أو -1 ... ولكن لا عليك استخدم اكواد التحقق من وجود الملف الهدف أولا قبل استخدام كود البصمه

                        بالتوفيق

                        تعليق


                        • #13
                          المشاركة الأصلية بواسطة Haitham.2012 مشاهدة المشاركة
                          نعم اخي الكريم .. اذا كان الملف غير موجود يعود بهذا الرقم .. كان المفترض ان يعود بقيمه nill أو -1 ... ولكن لا عليك استخدم اكواد التحقق من وجود الملف الهدف أولا قبل استخدام كود البصمه

                          بالتوفيق
                          بارك الله فيك أخانا الكريم ...
                          هل أطمع أن تخبرني برأيك في هذا الكود علي هذه المشاركة http://sites.ienajah.com/vb2/showpost.p...12&postcount=3 ليطمئن قلبي
                          شكرا لمساعدتك القيمة ومرورك العطر

                          تعليق

                          مواضيع تهمك

                          تقليص

                          المنتدى: القسم العام نشرت بواسطة: Reem2Rabeh الوقت: 04-23-2025 الساعة 04:27 PM
                          المنتدى: ضبط وتوكيد الجودة نشرت بواسطة: HeaD Master الوقت: 04-15-2025 الساعة 09:30 AM
                          المنتدى: التصنيع والانتاج نشرت بواسطة: HeaD Master الوقت: 04-11-2025 الساعة 01:08 PM
                          المنتدى: القسم العام نشرت بواسطة: نوال الخطيب الوقت: 03-19-2025 الساعة 03:07 AM
                          المنتدى: الكمبيوتر والإنترنت نشرت بواسطة: عوض السوداني الوقت: 03-18-2025 الساعة 07:22 AM
                          يعمل...
                          X