استخدام progressbar مع Shellexecute
#1
السلام عليكم
كيف تنفيذ عملية باستخدام ShellExecute وهذه العملية تأخذ بعض الوقت على حسب حجم البيانات ،، كيف يمكن استخدام الـ progress bar لتوضيح متى تنتهي العملية..
شكرا
الرد
#2
وعليكم السلام ورحمة الله وبركاته
إقتباس :ا ريـد تنفيذ عملية
يمكنك صياغة سؤال: كيف أقوم بتنفيذ...؟ Smile
جرب استخدام Thread
http://www.delphi4arab.net/forum/showthr...p?tid=2706
http://www.delphi4arab.net/forum/showthr...p?tid=5474
بالتوفيق.
اللهم احقن دماء المسلمين، لا تنسوهم بالدعاء...
الرد
#3
السلام عليكم ،،
الغرض من سؤالي هو كيفية استخدام progressbar مع الدالة ShellExecute ،، ولا حاجة للسؤال " كيف أقوم بتنفيذ...؟ " لاني قمت بتنفيذ العملية (وهي عبارة عن Dos Command)لكن اثناء التنفيذ لايوجد مؤشر يفيد بان العملية قيد التنفيذ او متى تنتهي العملية لذلك احتاج الى استخدام ال progressbar لتوضيح سير العملية لا اكثر ،، شكرا
الرد
#4
إقتباس :سؤالي هو كيفية استخدم progressbar مع الدالة ShellExecute
صح، هكذا صغت سؤال Smile
لنفكر بطريقة أخرى...
الغرض اكتشاف تقدم العملية
لأجل ذلك يلزمنا الحصول على بيانات تفيد في اكتشاف ذلك
ShellExecute لا توفر CallBack للحصول على بيانات تقدم العملية (WinExec أيضا وغير منصوح باستخدامها)
التكهن بالمدة المستغرقة صعب جدا وهو متعلق بالعتاد والنظام وغير ذلك...
إذا يبقى لدينا:
- عدم تحديد المدة، وحينها نعرض Marquee ProgressBar تقدم العملية غير مؤقت، مثال Marquee مرفق.
أو استخدام Thread كما ذكرنا، شيء كهذا TAnimationThread، مثال هنا:
كود :
http://www.experts-exchange.com/Programming/Languages/Pascal/Delphi/Q_24181535.html
- محاولة تحديد المدة المستغرقة باستخدام CreateProcess التي تقدم بيانات أكثر بما في ذلك مقبض Handle قد يمكن متابعته، ينظر:
كود :
http://stackoverflow.com/questions/3043001/how-to-get-the-handle-that-is-executed-in-winexec-or-shellexecute
كود :
http://www.delphigroups.info/2/9c/413955.html
بالتوفيق.


الملفات المرفقة
.rar   MarqueeProgressBar.rar (الحجم : 1.92 ك ب / التحميلات : 60)
اللهم احقن دماء المسلمين، لا تنسوهم بالدعاء...
الرد


التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم