ايران ويج

نسخه‌ی کامل: پیدا کردن زمان یک عمل مثل کپی یا ...
شما در حال مشاهده‌ی نسخه‌ی متنی این صفحه می‌باشید. مشاهده‌ی نسخه‌ی کامل با قالب بندی مناسب.
میخوام زمان یه عمل رو تو سیستم به دست بیارم یعنی وقتی برنامم داره یه سری فایل رو کپی یا پاک میکنه یه progsess شروع بشه به پر شدن و وقتی عمل کپی شدن تموم شد progsess هم پر بشه
ممنون Whistle
نمونه بسیار خوبی از این برنامه رو آقا اشکان تو سایت گذاشتن.لیست برنامه های ایشون رو سرچ کنین حتما پیدا می کنین.نتونستین بفرمایید براتون آپ کنم.

اما یه سئوال کلی تر:
چطور میشه دقیقا مدت زمان یک عمل طولانی حدودا مثلا 10 تا15 ثانیه رو روی Progressbar آورد.البته نه در حالتی که ما دقیقا یک حلقه مشخص داریم.بلکه در حالتیکه یک عمل خودش زمان زیادی می بره.مثلا اجرای دستور Put یا Get برای خوندن یا نوشتن یک فایل سنگین

؟؟؟
وقتی که یک کاری رو سیستم عامل انجام میده و نه برنامه شما ، فقط خود سیستم عامله که میتونه بهتون این اطلاعات رو بده . پس اگر تابعی اطلاعاتی از اینکه چند بایت نوشته یا چقدر جلو رفته رو به شما نده شما هیچ راهی برای دسترسی به این اطلاعات نداری .
البته راههای ابتکاری ( و نه خیلی دقیق ) وجود داره . مثلا شما حجم نهایی فایل رو میدونی ( شما دیتا بهش میدی که بنویسه پس حجمش نهایی رو باید بدونی ) حالا دستور Put داره دیتای زیادی رو هم مینویسه تو فایل مبدا . شما میای و یک تایمر میزاری و هر چند میلی ثانیه یکبار (یا هر دقتی که شما دوست داری ) حجم فایل رو چک میکنه . شما دوتا حجم رو داری خوب خیلی راحت درصدش رو بدست میاری !