easyDelphi Q&A
+3 تصويتات
49 مشاهدات

لديا هذا الكود هنا :

.....

Image1.Picture.LoadFromFile(FileName);
....

procedure TForm1.Image1Progress(Sender: TObject; Stage: TProgressStage;
  PercentDone: Byte; RedrawNow: Boolean; const R: TRect; const Msg: string);
begin
  case Stage of
    psStarting: ProgressBar1.Position := 0;
    psRunning:
      begin
        ProgressBar1.Position := PercentDone;
      end;
    psEnding:
      begin
        ProgressBar1.Position := PercentDone;
        Timer1.Enabled := True; // Interval := 500;
      end;
  end

end;

procedure TForm1.Timer1Timer(Sender: TObject);
begin
  Timer1.Enabled := False;
  ProgressBar1.Position := 0;
end;

صورة عن المثال:

ولتحميل المثال حتى يتسنى للأخوة الكرام التجريب و محاولة إيجاد الحل و شكرا ... من هنا

  من فضلكم أريد تفعيل الحدث "Image1Progress" في الوقت الذي تبدأ فيه "Image1" بتحميل الصورة المحملة من الخارج بواسطة "TOpenPictureDialog"  حتى إظهار الصورة بصفة كاملة على مستوى "Image1.Picure" مع العلم أن حجم الصورة المراد إظهارها قد يتجاوز 10 ميقا بايت .. و شكرا.

سُئل في تصنيف vcl بواسطة (13,990 نقاط)
عُدل بواسطة | 49 مشاهدات
 
ماذا تقصد بـ ( تفعيل الحديث ) ؟؟
بالأنجليزية "Fire up the event handler of an object" يعني الحدث(event Property) للمكون "TImage" مو شغال (لا يستجيب أو غير مفعل) .....
هذه العبارة لا تعني ( الحدث مو شغال ـ لا يستجيب ا غير مفعل ) ..
من اين اتيت بهذه العبارة
هذا الحدث يعمل بشكل تلقائي
عذرا أستاذ سامر هل يعمل عذا الحدث عندك ؟ بمعنى هل المثال شغال عندك ؟
ساكتب لك جواب
ok أستاذ أشكرك كثيرا ..
حسنا . ساتاكد من الكود وقت استطيع . واجيبك اين المشكلة
أشكرك كثيرا أستاذ سامر ...

1 إجابة واحدة

+4 تصويتات
أفضل إجابة
هذا الحدث يعمل تلقائيا . عند تغير الـ status او تغير الـ PercentDone لكن بشرط ان يكون نوع الصورة متوافق مع مطلبات هذا الاجراء . مثلا . الـ PercentDone . حتى يتمكن من معرفة النسبة يجب عليه معرفة الحجم الكلي للصورة ( لا اقصد حجم الملف ) . ان كانت الصورة bmp . لن تكون هناك حاجة لفك ضغط الصورة كما في jpg . والنسبة ستكون صحيحة . اما في الصور المضغوطة قد لا تتوفر هذه المعلومة إلا بعد الانتهاء من فك الضغط . والنتيجة هي نسبة خاطئة غير صحيحة تتغير بشكل يبدو اعتباطي . هذا عدا عن ان المكتبة الخاصة بهذا النوع نفسه قد لا يوجد فيها اجراء progress في الاساس. اي ان OnProgress لن يتنفذ لان لا يوجد اجراء progress في الاساس ليطلبه . ( اعتقد TJPGImage لا يحتوي هذا الاجراء . لست متاكد ) .

باختصار . هذا OnProgress يعمل بشكل سليم لكن يتاثر بشدة بنوع ملف الصورة . مضغوطة او لا . هل تحتوي معلومات كاملة ام لا . هل هناك اجراء progress ام لا .. وعدة اشياء اخرى ) .

لذلك لا تتوقع من OnProgress ان يعمل بشكل كامل مع كل الانواع .

جربه مع الـ bmp حتى تتاكد من انه يعمل او لا .
تم الرد عليه بواسطة (18,920 نقاط)
مختارة بواسطة
عذرا أستاذ المثال لا يعمل .......
عذرا المثال أصبح شغال و كأنني أصبت بالعمى .... و الله لا أدري كيف لم ألاحظ أن المكون لم يكن مرتبط أساسا بالحدث "OnProgress" و الله عجيب أحيانا نصبح كمن لا يفقه في دينه شيئا .....

اسئلة متعلقة

+1 تصويت
1 إجابة
سُئل نوفمبر 15 في تصنيف vcl بواسطة Amar Gozim (10,490 نقاط) | 78 مشاهدات
+3 تصويتات
2 إجابة
سُئل أغسطس 10 في تصنيف SQL Server بواسطة KHALED (6,370 نقاط) | 82 مشاهدات
0 تصويتات
1 إجابة
سُئل منذ 2 أيام في تصنيف vcl بواسطة fares (140 نقاط) | 25 مشاهدات
+4 تصويتات
1 إجابة
سُئل أغسطس 14 في تصنيف SQLite بواسطة reema (240 نقاط) | 31 مشاهدات
+2 تصويتات
2 إجابة
سُئل أغسطس 9 في تصنيف vcl بواسطة KHALED (6,370 نقاط) | 91 مشاهدات
ادعُ اصدقائك في الفايسبوك لمشاركتك
Comodo SSL

مرحبًا بك إلى EasyDelphi Q&A، حيث يمكنك طرح الأسئلة والحصول على الإجابة عليها من المستخدمين الآخرين.

لا يسمح بطلب او السؤال عن كراك او تفعيل او كسر او فك او اي شيء يخالف اتفاقيات الترخيص  مهما كان السبب ومهما كان البرنامج ونوعه. ولا حتى نشر روابط تحتوي على مثل هذه الاشياء لا في الاسئلة ولا في الاجابات ولا التعليقات . نهائيا

282 سؤال
487 إجابة
866 تعليق
177 مستخدم