PDA

View Full Version : کامپوننتی برای نمایش یک انیمیشن در هنگام Freeze شدن برنامه



یوسف زالی
چهارشنبه 20 فروردین 1393, 14:59 عصر
سلام.
دوستان با توجه به این که چه در محاسبات سنگین، چه در گزارشات حجیم و نت و چه در سایر موارد، طول کشیدن کار باعث فریز شدن برنامه می شه، کامپوننتی نوشتم که می تونه در هنگام فریز شدن برنامه، Sequence ی از تصاویر بیت مپ رو برای کاربر نمایش بده. مثلا بیاد و یک ساعت شنی رو بچرخونه تا کاربر لااقل متوجه باشه که برنامه در حال محاسبات هست..
این کامپوننت روی دلفی 7 و دلفی XE3 تست و با موفقیت اجرا شده.

طریقه نصب
-------------
- File -> Close All
- File -> Open Project
در دلفی 7: Files of type: Delphi Package
- فایل U30Package.dpk رو انتخاب کنید و Build و سپس Install
- در Tool Pallete یک تب با عنوان U30Pack اضافه می شه که کامپوننت مد نظر در اینجاست

طرز استفاده
--------------
فقط کافیه یک کامپوننت بندازید روی فرم اصلی، همین!
کامپوننت مورد نظر در هنگام هنگ کردن خودش باقی کارها رو انجام می ده.

خصوصیات
-----------
Enabled = همون طور که پیداست، باعث می شه از نمایش انیمیشن جلوگیری بشه یا نمایش داده بشه
Frame1 .. Frame8 = در اینجا می تونید فریم هاتون رو اضافه کنید. می تونید فقط چند تاش رو پر کنید. لازم نیست حتما فریم هاتون رو پشت سر هم اضافه کنید یعنی مثلا 1 و 2 و 5 و 6 مجازه. حتی لازم نیست فایل ها سایز یکسانی داشته باشند.
FrameDelay = زمان طول کشیدن هر فریم
TimeOut = زمان تحریک برای نمایش
TransParentColor و TransParentColorValue = باعث می شه پشت تصویرتون خالی بشه یا صفحه داشته باشه


خود کامپوننت رو به همراه سورس و یک نمونه ساده برنامه براتون می گذارم.
دوستان حتما نظر بدید و اگر عیب و ایرادی داره گزارش کنید.

- با احترام -

rahro
چهارشنبه 20 فروردین 1393, 17:06 عصر
سلام.
دوستان با توجه به این که چه در محاسبات سنگین، چه در گزارشات حجیم و نت و چه در سایر موارد، طول کشیدن کار باعث فریز شدن برنامه می شه، کامپوننتی نوشتم که می تونه در هنگام فریز شدن برنامه، Sequence ی از تصاویر بیت مپ رو برای کاربر نمایش بده. مثلا بیاد و یک ساعت شنی رو بچرخونه تا کاربر لااقل متوجه باشه که برنامه در حال محاسبات هست..
این کامپوننت روی دلفی 7 و دلفی XE3 تست و با موفقیت اجرا شده.

طریقه نصب
-------------
- File -> Close All
- File -> Open Project
در دلفی 7: Files of type: Delphi Package
- فایل U30Package.dpk رو انتخاب کنید و Build و سپس Install
- در Tool Pallete یک تب با عنوان U30Pack اضافه می شه که کامپوننت مد نظر در اینجاست

طرز استفاده
--------------
فقط کافیه یک کامپوننت بندازید روی فرم اصلی، همین!
کامپوننت مورد نظر در هنگام هنگ کردن خودش باقی کارها رو انجام می ده.

خصوصیات
-----------
Enabled = همون طور که پیداست، باعث می شه از نمایش انیمیشن جلوگیری بشه یا نمایش داده بشه
Frame1 .. Frame8 = در اینجا می تونید فریم هاتون رو اضافه کنید. می تونید فقط چند تاش رو پر کنید. لازم نیست حتما فریم هاتون رو پشت سر هم اضافه کنید یعنی مثلا 1 و 2 و 5 و 6 مجازه. حتی لازم نیست فایل ها سایز یکسانی داشته باشند.
FrameDelay = زمان طول کشیدن هر فریم
TimeOut = زمان تحریک برای نمایش
TransParentColor و TransParentColorValue = باعث می شه پشت تصویرتون خالی بشه یا صفحه داشته باشه


خود کامپوننت رو به همراه سورس و یک نمونه ساده برنامه براتون می گذارم.
دوستان حتما نظر بدید و اگر عیب و ایرادی داره گزارش کنید.

- با احترام -

از لطفت بسیار ممنون
فقط دوست عزیز منم حدودا مثه کامپونتتو دارم البته از من باید زمان اجرا و توقفشو مشخص کنی اما با هر GUI که از WinControl که مشتق شده باشه کار میکنه.
دوست عزیز ضعفی که در کد خودم دیدم و راه و حلی هنوز واسش نیافتم در کامپوننت شما هم دیدم شما که استاد دلفی هستید اگر میتونی یه راه حل واسش بذار مشکل اینه: وفتی Wait Form کامپوننت شما اجرا میشه اگر روی ان دائم کلیک کنی هنگ میکنه و به ریسپون ختم میشه ممنون میشم علت این مشکلو بگی و آپدیتش کنی ؛ بازم مرسی از You-See جان!!

یوسف زالی
چهارشنبه 20 فروردین 1393, 17:14 عصر
من این مورد رو ندیدم. البته با دلفی 7 این کار رو کردم. جزییات کار و نسخه دلفی رو بگید.
برای تشکر هم زدن دکمه کفایت می کنه.

rahro
جمعه 22 فروردین 1393, 22:34 عصر
من این مورد رو ندیدم. البته با دلفی 7 این کار رو کردم. جزییات کار و نسخه دلفی رو بگید.
برای تشکر هم زدن دکمه کفایت می کنه.

You-See گل ببخشید
من توی دلفی xe2 چک کردم البته لازمه بگم کدی بشکل ذیل موجب همچین مشکلی میشه
for I := 1 to 50 do
Sleep(50);
در آخر بازم از شما تشکر میکنم خیلی گلی!! دقیقا زدی وسط نشونه ؛ همون چیزی من دنبالش بودم ، روش کار میکنم دوست دارم کاملتر بشه واقعا بدرد بخور و کاربردی البته کسای که درک کنن....:تشویق::تشویق::تشویق::ق ب:

یوسف زالی
یک شنبه 24 فروردین 1393, 10:23 صبح
من نسخه شما رو ندارم اما در نسخه های خودم چک کردم مشکلی مشاهده نشد.
اگر به جایی رسیدید و فهمیدید اشکال از کجاست بگید تا کامپوننت آپدیت بشه.

rahro
یک شنبه 24 فروردین 1393, 17:20 عصر
من نسخه شما رو ندارم اما در نسخه های خودم چک کردم مشکلی مشاهده نشد.
اگر به جایی رسیدید و فهمیدید اشکال از کجاست بگید تا کامپوننت آپدیت بشه.
بله حتما You-See جان:قلب:

khoshblagh
دوشنبه 25 فروردین 1393, 19:27 عصر
با تشکر از جناب You-See
در برنامه پیوست گاهی دیبی گرید درست نمایش داده میشود. ولی گاهی به صورت فشرده نمایش داده میشود. در دلفی 7 این برنامه ساخته شده است.توضیح اینکه این برنامه قبل از استفاده از کامپوننت مشکلی نداشته است . متشکرم

یوسف زالی
دوشنبه 25 فروردین 1393, 20:51 عصر
من هم یک بار به مشکل باهاش برخورد کردم. احتمال می دم ایراد از اشیا تو ترد باشه. به هر جهت من کامپوننت Raize رو برای 7 ندارم. اون رو هم پیوست کنید.

khoshblagh
دوشنبه 25 فروردین 1393, 23:01 عصر
با سلام
از دیبی گرید dbgridEh استفاده شده است.https://tu1.s3.amazonaws.com/12B8611F4A16/ehlib62150.7z
https://tu1.s3.amazonaws.com/12B8611F4A16/Raize54.rar

یوسف زالی
دوشنبه 25 فروردین 1393, 23:35 عصر
سری کامپوننت هاتون رو من که ندارم. یا بگذارید یا برنامه رو با کامپوننت های استاندارد برام برای بررسی قرار بدید.
ممکنه اصلا کامپوننت ها در کارکرد تداخل داشته باشند. برای این منظور بهتره کامپوننت ها رو هم بدید.
اصولا من روی سیستمم هیچ کامپوننت third party ای رو بنا به دلایل شرکتی که توش کار می کنم دائم نصب نگه نمی دارم.

khoshblagh
سه شنبه 26 فروردین 1393, 00:22 صبح
با سلام
از لینکهای زیر استفاده نمائید.
https://tu1.s3.amazonaws.com/12B8611F4A16/Raize54.rar
https://tu1.s3.amazonaws.com/12B8611F4A16/ehlib62150.7z