delphi4arab منتديات دلفي للعرب

نسخة كاملة : استخدام progressbar مع Shellexecute
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
السلام عليكم
كيف تنفيذ عملية باستخدام ShellExecute وهذه العملية تأخذ بعض الوقت على حسب حجم البيانات ،، كيف يمكن استخدام الـ progress bar لتوضيح متى تنتهي العملية..
شكرا
وعليكم السلام ورحمة الله وبركاته
إقتباس :ا ريـد تنفيذ عملية
يمكنك صياغة سؤال: كيف أقوم بتنفيذ...؟ Smile
جرب استخدام Thread
http://www.delphi4arab.net/forum/showthr...p?tid=2706
http://www.delphi4arab.net/forum/showthr...p?tid=5474
بالتوفيق.
السلام عليكم ،،
الغرض من سؤالي هو كيفية استخدام progressbar مع الدالة ShellExecute ،، ولا حاجة للسؤال " كيف أقوم بتنفيذ...؟ " لاني قمت بتنفيذ العملية (وهي عبارة عن Dos Command)لكن اثناء التنفيذ لايوجد مؤشر يفيد بان العملية قيد التنفيذ او متى تنتهي العملية لذلك احتاج الى استخدام ال progressbar لتوضيح سير العملية لا اكثر ،، شكرا
إقتباس :سؤالي هو كيفية استخدم 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
بالتوفيق.