delphi4arab منتديات دلفي للعرب
استخدام progressbar مع Shellexecute - نسخة قابلة للطباعة

+- delphi4arab منتديات دلفي للعرب (https://delphi4arab.net/forum)
+-- قسم : منتديات دلفي للعرب التعليمية (https://delphi4arab.net/forum/forumdisplay.php?fid=3)
+--- قسم : سؤال و جواب حول دلفي (https://delphi4arab.net/forum/forumdisplay.php?fid=15)
+--- الموضوع : استخدام progressbar مع Shellexecute (/showthread.php?tid=3944)



استخدام progressbar مع Shellexecute - shdotcom - 02-03-2012

السلام عليكم
كيف تنفيذ عملية باستخدام ShellExecute وهذه العملية تأخذ بعض الوقت على حسب حجم البيانات ،، كيف يمكن استخدام الـ progress bar لتوضيح متى تنتهي العملية..
شكرا


استخدام progressbar مع Shellexecute - kachwahed - 02-03-2012

وعليكم السلام ورحمة الله وبركاته
إقتباس :ا ريـد تنفيذ عملية
يمكنك صياغة سؤال: كيف أقوم بتنفيذ...؟ Smile
جرب استخدام Thread
http://www.delphi4arab.net/forum/showthread.php?tid=2706
http://www.delphi4arab.net/forum/showthread.php?tid=5474
بالتوفيق.



استخدام progressbar مع Shellexecute - shdotcom - 03-03-2012

السلام عليكم ،،
الغرض من سؤالي هو كيفية استخدام progressbar مع الدالة ShellExecute ،، ولا حاجة للسؤال " كيف أقوم بتنفيذ...؟ " لاني قمت بتنفيذ العملية (وهي عبارة عن Dos Command)لكن اثناء التنفيذ لايوجد مؤشر يفيد بان العملية قيد التنفيذ او متى تنتهي العملية لذلك احتاج الى استخدام ال progressbar لتوضيح سير العملية لا اكثر ،، شكرا


استخدام progressbar مع Shellexecute - kachwahed - 03-03-2012

إقتباس :سؤالي هو كيفية استخدم 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
بالتوفيق.