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

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

مشكلة عند تكرار الامر File.Copy فى اكثر من صفحة

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

  • مشكلة عند تكرار الامر File.Copy فى اكثر من صفحة

    السلام عليكم ورحمة الله وبركاته
    بسم الله الرحمن الرحيم
    اخوانى الكرااام انا عارف انى دوشتكم باستفساراتى الكثيرة المريرة
    واعرف ان الحمل عليكم زائد وما فى المنتدى من محترفين الا ومعدودين واعلم ان الحمل عليئكم زائد فسامحونى
    اما عن اسفسارى هذا فانا لا اعلم اهو خطأ برمجى ام عيب فى البرنامج نفسه
    طيب تعالو نشوف الخطأ
    ------------------------------
    اولا هذا كود مشترك فى صفحات المشروع

    كود:
    -- الثور على كل الملفات بداخل المجلد Actions
    
    files = File.Find("AutoPlay\\Docs\\Actions", "*.*", true, true, nil, nil);
    
    -----------------------------------------------------------------------------------
    
    if files == nil then
    
    Dialog.Message("تنبيه", "لايوجد ملفات لنسخها", MB_OK, MB_ICONINFORMATION, MB_DEFBUTTON1);
    
    else
    
    -- حساب الحجم الكلى للملفات
    
    total_size = 0
    
    for x,y in pairs (files) do
    
    get_size = File.GetSize(y);
    
    total_size = total_size + get_size
    
    end
    
    total_size = String.GetFormattedSize(total_size, FMTSIZE_AUTOMATIC, true);
    
    Label.SetText("sz", total_size);
    
    -----------------------------------------------------------------------------------
    
    -- ÍÓÇÈ ÚÏÏ ÇáãáÝÇÊ Çáßáí
    
    count = Table.Count(files);
    
    Label.SetText("all", count);
    
    -----------------------------------------------------------------------------------
    
    -- ÅÌÑÇÁ ÚãáíÉ ÇáäÓÎ ÈÚÏ ÇáÊÍÞÞ ãä ÇáãÓÇÑ ÇáåÏÝ
    
    path = Input.GetText("Input1");
    if path == "Choose Target Folder to Copy Actions" then
    
    Dialog.Message("ÊäÈíå", "ÍÏÏ ÇáãÓÇÑ ÇáÐí ÊÑíÏ äÓÎ ÇáãáÝÇÊ Åáíå", MB_OK, MB_ICONINFORMATION, MB_DEFBUTTON1);
    
    else
    Folder.Create(path.."\\Actions");
    path = path.."\\Actions"
    
    for x,y in pairs (files) do
    
    File.Copy(y, path, false, true, false, false, nil);
    
    Label.SetText("current_num", x);
    
    Progress.SetCurrentPos("Progress1", x * 100 / count);
    
    end -- for x,y in pairs (files) do
    
    Dialog.Message("Notice", "Done !!", MB_OK, MB_ICONINFORMATION, MB_DEFBUTTON1);
    
    end -- if path == "" then
    
    -----------------------------------------------------------------------------------
    
    end -- if files ~= nil then
    لايختلف هذا الكود من صفحة لصفحة الا المسار
    فالكود المطروح هو مسار ملفات الاكشنز الخاصة بالفوتوشوب وهو فى زر التنصيب الخاص بصفحة الاكشنز
    واما الصفحات الاخرى فيختلف المسار اللى هو Autoplay\\Docs\\Actions
    فيتم تغيره الى مسار اخر حسب الملف اللى واضعه فى التجميعة

    المشكلة هو انى لايمكننى استخدام الكود الا مرة واحدة
    مثلا :
    عندى صفحتين واحدة خاصة بالصور والثانية خاصة بالاكشنز
    اذا دخلت الى صفحة الاكشنز ووضعت مسار النسخ فى Input 1 يتم النسخ ثم اذا ضغط على زر الرجوع الى الصفحة الرئيسية ثم التنقل
    الى صفحة الصور وانفذ عملية النسخ فتظهر رسالة "لاتوجد ملفات لنسخها" واذا راجعت الكود المذكور بالاعلى ستجد انها لن تظهر
    الا فى حالة ان تؤل قيمة File.Find الى القيمة Nill
    مع العلم انه نفس الكود اللى فى صفحة الاكشنز باختلاف المسار
    اما اذا قمت بأغلاق التجميعة والبدأ بتنصيب الصور يتم التنصيب بنفس الطريقة
    وعند العودة الى تنصيب الاكشنز يحدث نفس الخطأ
    وهذا فيديو توضيحى للمشكلة
    http://www.youtube.com/watch?v=QTnGq_dbTUc
    ارجو ان تفيديونى فهذه المشكلة غرريبة جدا
    التعديل الأخير تم بواسطة القنـاص المصرى; الساعة 15-09-2013, 02:13 AM.

  • #2
    طيب ... حاليا يتعذر عليا القيام بالتجربه .. سأعطيك بعض المحاولات يمكن تنفع

    اولا استبدل كود file.find بهذا ..

    كود:
    files = File.Find(_SourceFolder.."\\AutoPlay\\Docs\\Actions", "*.*", true, true, nil, nil);

    ثانيا ضع هذا السطر قبل كود ال file.find

    كود:
    files = {}

    تعليق


    • #3
      اخى هيثم بعد تنفيذ خطواتك
      صار يجبلى الرسالة وماصار يسطبلى شئ يعنى صارت اصعب من الاول
      لانه كان الاول يسطب مرة واحدة الان ماعد بيسطب اصلا وبيقلى لايوجد ملفات لتنصيبها

      تعليق


      • #4
        في هذه الحاله لا املك الا ان ترسل لي ملف مفتوح .. لانه اعتقد هناك تداخل في الاكواد يؤدي الى هذه المشكله ..!!

        لا اريد ملفك المفتوح بالكامل طبعا " نسخه مصغره منه " به صفحتان كلا منهم به عملية النسخ المطلوبه

        تعليق


        • #5
          قمت بعمل نسخة مصغرة للمشروع لك بحجم 2.5 ميجا
          لان النسخة الاصلية تتجاوز ال 1.5 GB ووضعت الاكواد كوبى باست
          واضفت ملفات فى فولدر الـDocs ولكن بأحجام صغيرة لكى تتأكد من عملية النسخ
          اليك الرابط استاذ هيثم
          http://hulkload.com/2r2hmke8mb1p
          جزاك الله كل خير وانزلك فى نزل الانبياء وبارك فيك وفى ذريتك

          تعليق


          • #6
            كل ما وضعته هذه الكلمه ( _SourceFolder ) قبل المسار .. وذكرت لك ذلك مسبقا لكن يبدو انك لم تنتبه .. عموما جربتها ونجح النسخ في كل المسارات بشكل جيد

            كود:
            actions = File.Find(_SourceFolder.."\\AutoPlay\\Docs\\Actions", "*.*", true, true, nil, nil);

            بالتوفيق

            تعليق


            • #7
              الحمد لله تم الحل يا اخى بفضل الله ثم فضلك نعم انا كنت نسيت دمج الملف عبر النقتطين
              وجزاك الله كل خير على مجهودك معنا

              تعليق

              مواضيع تهمك

              تقليص

              المنتدى: القسم العام نشرت بواسطة: ماريا عبد الله الوقت: 06-08-2025 الساعة 11:33 PM
              المنتدى: القسم العام نشرت بواسطة: ماريا عبد الله الوقت: 06-04-2025 الساعة 05:29 PM
              المنتدى: القسم العام نشرت بواسطة: ماريا عبد الله الوقت: 05-31-2025 الساعة 10:07 PM
              المنتدى: القسم العام نشرت بواسطة: ماريا عبد الله الوقت: 05-30-2025 الساعة 11:48 PM
              المنتدى: التصنيع والانتاج نشرت بواسطة: HaMooooDi الوقت: 05-30-2025 الساعة 09:36 AM
              يعمل...
              X