PDA

View Full Version : سوال: زمان سپری شده



Hashemvp
سه شنبه 14 فروردین 1397, 21:24 عصر
سلام دوستان میخواستم برای برنامه ای ک مینویسم
یک قسمتی بگذارم ک نمایش بده برای محاسبه کارایی ک انجام داده چ مقدار زمان سپری شده

کسی میدونه چطور میشه اینو گذاشت؟

www.pc3enter.tk
سه شنبه 14 فروردین 1397, 21:30 عصر
کمی واضحتر و روشنتر توضیح بده
تا کمکت کنم

Hashemvp
سه شنبه 14 فروردین 1397, 21:43 عصر
شما اگر برنامه Format Factory و غیره رو دیده باشین
وقتی دارن یک فایل رو تبدیل میکنن یک تایمر هست ک نشون میده چ مقدار زمانی سپرده شده تا این فرایند انجام شده

منظورم این هست از زمانی ک دکمه شروع زده شده تا زمانی که محاسبات تمام شده چند ثانیه یا دقیقه یا ساعت یا روز گذشته!!!!!!

SlowCode
سه شنبه 14 فروردین 1397, 23:08 عصر
خب خودت جواب رو گفتی دیگه!
یه تایمر میزاری با interval ۱۰۰۰ بعد هر وقت دکمه شروع زده شد تایمر رو enable میکنی و هروقت تموم شد غیرفعالش میکنی
یه متغیر سراسری تعریف میکنی و تو تایمر اینو مینویسی
spendTime = spendTime+1
زمان رو بر اساس ثانیه ذخیره میکنه، آخرسر یه حساب میکنی و اگه زیاد بود به دقیقه و ساعت و روز تبدیلش میکنی.

Hashemvp
سه شنبه 14 فروردین 1397, 23:49 عصر
خب خودت جواب رو گفتی دیگه!
یه تایمر میزاری با interval ۱۰۰۰ بعد هر وقت دکمه شروع زده شد تایمر رو enable میکنی و هروقت تموم شد غیرفعالش میکنی
یه متغیر سراسری تعریف میکنی و تو تایمر اینو مینویسی
spendTime = spendTime+1
زمان رو بر اساس ثانیه ذخیره میکنه، آخرسر یه حساب میکنی و اگه زیاد بود به دقیقه و ساعت و روز تبدیلش میکنی.

ممنون خودم اول همین به ذهنم رسید و اینو انجام دادم ولی این محاسباتش زیاده و اینکه پردازش سی پی یو رو میبره بالا چون مدام تایمر داره فعالیت میکنه من مد نظرم این بود که از حداقل پردازش استفاده کنم

تابع اش داره تمام میشه ان شاالله تا آخر شب یا فردا میذارم البته توی سرچ هم چند تا پیدا کردم ولی این یکی ک میذارم همونیه ک خودم مد نظرم هست با کمترین پردازش و محاسبه

http://www.vbforums.com/showthread.php?688943-displaying-elapsed-time

www.pc3enter.tk
چهارشنبه 15 فروردین 1397, 05:58 صبح
ببین عزیزم اون کد، مد ، ها را ولش کن یک چیزی که خودم استفاده میکنم اینکه میشه تو یک درخواست زمان اولیه ثبت کنی و در زمان بعدی به هر مقدار فاصله ای که بخواهی چکاپ انجام بدی که ببینی چه قدر گذشته میتونی از کد استفاده کنی.
این کد خودم نمشتم که بهت میگم چه کار

اول میتونی این کدو کپی کنی تو ماژول یا خود اصلی main اصلی برنامه ات


Public Function CHour(ByVal Seconds As Long) As String
Dim lTmpMinutes As Long: Dim lTmpSeconds As Long: Dim lTmpHours As Long
If Seconds > 59 Then lTmpSeconds = Seconds Mod 60: If Seconds > 3599 Then CSec = Format(Fix(Seconds / 3600), "00") & ":" & Format(Seconds / 60 - (60 * Fix(Seconds / 3600)), "00") & ":" & Format(lTmpSeconds, "00") Else CSec = "00:" & Format(Fix(Seconds / 60), "00") & ":" & Format(lTmpSeconds, "00") Else CSec = "00:00:" & Format(Seconds, "00")
CHour = CSec
End Function



کارش حالا چیه اینه که اگر بهش عدد به ثانیه بدی میتونی برات تبدیل میکنه به زمان (00:00:00)
که جالبی کار به این شکله که حتی بیخودی علیه سیستم دنیا با کمترین قدرت را داشته باشی تغییر ۱ ثانیه نداری و پردازش هم خیلی خیلی میاری پایین
این کد از حداقل با محاسبه ۳ عملیات ریاضی تا حداکثر ۶ الی ۷ عمل ریاضی این کارو انجام میده.


این لینک همون کده ولی تو سایت دیگه گذاشتم
https://anotepad.com/notes/grsi9b
اگر به کارت اومد که هیچی اگر که نه بگو تا از یک روشی دیگه بهت بگم

Hashemvp
چهارشنبه 15 فروردین 1397, 10:32 صبح
ببین عزیزم اون کد، مد ، ها را ولش کن یک چیزی که خودم استفاده میکنم اینکه میشه تو یک درخواست زمان اولیه ثبت کنی و در زمان بعدی به هر مقدار فاصله ای که بخواهی چکاپ انجام بدی که ببینی چه قدر گذشته میتونی از کد استفاده کنی.
این کد خودم نمشتم که بهت میگم چه کار

اول میتونی این کدو کپی کنی تو ماژول یا خود اصلی main اصلی برنامه ات


Public Function CHour(ByVal Seconds As Long) As String
Dim lTmpMinutes As Long: Dim lTmpSeconds As Long: Dim lTmpHours As Long
If Seconds > 59 Then lTmpSeconds = Seconds Mod 60: If Seconds > 3599 Then CSec = Format(Fix(Seconds / 3600), "00") & ":" & Format(Seconds / 60 - (60 * Fix(Seconds / 3600)), "00") & ":" & Format(lTmpSeconds, "00") Else CSec = "00:" & Format(Fix(Seconds / 60), "00") & ":" & Format(lTmpSeconds, "00") Else CSec = "00:00:" & Format(Seconds, "00")
CHour = CSec
End Function



کارش حالا چیه اینه که اگر بهش عدد به ثانیه بدی میتونی برات تبدیل میکنه به زمان (00:00:00)
که جالبی کار به این شکله که حتی بیخودی علیه سیستم دنیا با کمترین قدرت را داشته باشی تغییر ۱ ثانیه نداری و پردازش هم خیلی خیلی میاری پایین
این کد از حداقل با محاسبه ۳ عملیات ریاضی تا حداکثر ۶ الی ۷ عمل ریاضی این کارو انجام میده.


این لینک همون کده ولی تو سایت دیگه گذاشتم
https://anotepad.com/notes/grsi9b
اگر به کارت اومد که هیچی اگر که نه بگو تا از یک روشی دیگه بهت بگم

دستت طلا ممنون بله یک همچنین چیزی میخواستم خودمم از همین استفاده کردم
http://www.freevbcode.com/ShowCode.asp?ID=267
با استفاده از تابع time$ ویبی یک زمان اولیه میگیرم و یک زمان انتهایی و میدم به تابع و محاسبه میکنه

ممنون دوستان

www.pc3enter.tk
چهارشنبه 15 فروردین 1397, 14:04 عصر
اهان اون سایتی که گذاشتی با ۱۲ الی ۱۴ عملیات ریاضی اینکارو انجام میده تقریبا
ولی از من کمتر

یک روش دیگه هم بلدم که با یک خط فقط این کارو انجام میدید ولی از انجام عملیات پشت پرده خبر ندارم.
اگر میخواهی بگم

Hashemvp
چهارشنبه 15 فروردین 1397, 17:23 عصر
اهان اون سایتی که گذاشتی با ۱۲ الی ۱۴ عملیات ریاضی اینکارو انجام میده تقریبا
ولی از من کمتر

یک روش دیگه هم بلدم که با یک خط فقط این کارو انجام میدید ولی از انجام عملیات پشت پرده خبر ندارم.
اگر میخواهی بگم
نیکی و پرسش؟؟؟؟ خوب بده کد رو

www.pc3enter.tk
پنج شنبه 16 فروردین 1397, 18:46 عصر
بیا این هم کد، این را بگم باز هم کد نایب دیگری هم هست که انشاالله هر وقت هوس کردم میگم
این را نیز بگم که این کدها را هرکسی نه بهت میده و نه برات می نویسه.
من حدود یک سال هست روی کد های ویژوال بیسیک دارم کار میکنم از خود خودش بگیر تا خود برنامه ویژوال بیسیک جوری دارم کد اسمبلی اش را تغییر میدم که بروز بشه. که شده!

البته هنوز کامل نشده و حدود ۹۰٪ پیش رفته. که اون هم بزودی اماده میشه.
نمونه فیلم (https://www.aparat.com/v/3aF12/VB6.4_New_%2C_%D9%88%DB%8C%DA%98%DA%AF%DB%8C_%D9%8 7%D8%A7%DB%8C_%D8%AC%D8%AF%DB%8C%D8%AF_%D9%88%DB%8 C%DA%98%D8%A7%D9%84_%D8%A8%DB%8C%D8%B3%DB%8C%DA%A9 _6.4)



اینهم کد

aa = DateDiff("s", FristTime, SecondTime)
StringTime = Format$(CDate(aa / 60 / 60 / 24), "hh:mm:ss")



یک دکمه تشکر اون پایین هم هست اگر لطف کنی .... آره

Hashemvp
پنج شنبه 16 فروردین 1397, 20:06 عصر
احسنت به شما بنده هم خیلی وقته روی ویبی کار میکنم.......و کامپونت های خوبی ساختم
ای دی تلگرامم دوست داشتی پیام بده
HVPxx

واقعا احسنت به شما ویدیو رو دیدم خیلی عالی بود

ولی یکسری جزئیات رو مثلا توی پرینت رعایت نکردین ک آخر متن معمولا یک شکل های عجیب غریب پرینت میشد
فقط کافی بود قبل از برگشت خروجی Cstr() رو استفاده کنید تا فضای خالی اضافی رو حذف کنه

بهر حال واقعا عالی بود

خدا قوت خسته نباشید

www.pc3enter.tk
پنج شنبه 16 فروردین 1397, 21:45 عصر
اختیار دارید نکته ای که گفتی تست نکردم
چون برای حذف داده های خالی از trim استفاده میکردم
حالا ببین چی میشه درست میشه یا نه

متاسفانه تلگرام ندارم.

درضمن ایشالله اگر خدا بخواد تا ۱ ماه دیگه سعی میکنم تمومش کنم و بگذارم تو همین سایت و (ببخشید ، دهن این منتقدان vb را ببندم) تا دیگران استفاده کنند.

بگو ایشالله : فقط به یک نکته مهم توجه کردی؟ موقع اجرا بدون هیچ کامپونتی دکمه ها گرافیکی بود!!!!!؟

Hashemvp
پنج شنبه 16 فروردین 1397, 22:00 عصر
اختیار دارید نکته ای که گفتی تست نکردم
چون برای حذف داده های خالی از trim استفاده میکردم
حالا ببین چی میشه درست میشه یا نه

متاسفانه تلگرام ندارم.

درضمن ایشالله اگر خدا بخواد تا ۱ ماه دیگه سعی میکنم تمومش کنم و بگذارم تو همین سایت و (ببخشید ، دهن این منتقدان vb را ببندم) تا دیگران استفاده کنند.

بگو ایشالله : فقط به یک نکته مهم توجه کردی؟ موقع اجرا بدون هیچ کامپونتی دکمه ها گرافیکی بود!!!!!؟

ان شاالله دقیقا منم همین مشکل رو باهاشون دارم حرف زیاد میزنن ولی مهم اینکه هنوز ویبی با وجود این همه پیشرفتی ک شده
هنوز کارایی خودش رو از دست نداده و با توجه به اینکه اصلا بروز رسانی دیگه نشده براش
کم نیاورده

منتظریم

www.pc3enter.tk
جمعه 17 فروردین 1397, 01:55 صبح
اره واقعا ، مرده‌شور برده نمی‌دونم چطوری اینجوری طراحی شده که موقع طراحی اش انگار فکر ۴۰ سال دیگه را میکردند. (خداییش)
از چیش برات بگم ، ها ، از چیش؟؟؟؟؟ که حتی برنامه هایی اومدند عین خط کد و ظاهر وی بی را کپی و طراحی کردند ولی باز هم اصلا باشون حال نمیکنی و راحتیشو ندارند.
مثلا از چی بگم.

سریع اجرا شدن خود نرم افزار.
اجرای سریع برنامه.
راحتی درک و فهم موقع کد نوشتن.جابه‌جایی سریع و راحت ببین صفحات.
باگ یابی فوق‌العاده قوی که تو خود #C که سال ۲۰۵۰ قراره بیاد، نداره.
اصلا وی بی نه اینکه تکلیفش با خودش مشخصه ، با کاربر هم تکلیفش هم مشخصه.!!!!! به خدا
و ......
مورد داشتیم طرف اومده وی بی را یاد بگیره ، بعد یک هفته رفته سراغ برنامه نویسی شبکه!!!!!! (مگه داریم اخه)

ولی اینو بگم که وی بی ۶ مشکل از نظر من داره که منو کمی اذیت میکنه، اگر این طرفشو میگیم ، اون طرفشو هم بگیم

۱.از ی فارسی نیز پشتیبانی نمیکنه و بجاش از این پشتیبانی میکنه، ي / البته این مشکل فقط مال ما ایرانی هاست و نه جای دیگه
۲.حافظه string بیشتر ۶۴kb نیست و نمیشه بیشتر از توش لود کرد، حتی توی TextBox
۳.ذخیره سازی داده ، ارسال اطلاعات، لود اطلاعات، ارتباط اطلاعات را به صورت unicode Anscii انجام میده
۴.ترس و دلهره برنامه نویس ها از اجرانشدن بعضی از کامپوننت ها در سیستم مشتری یا کاربر
۵.قدیمی بودن مرورگرش که بعضی وقت ها لجمون را در میاره.
۶.و در آخر اگر بهش فقط یک کمی عادت کنی دیگر زبان های برنامه نویسی میشه برات ، زبان چینی

gorg313
جمعه 21 اردیبهشت 1397, 13:56 عصر
سلام دوستان میخواستم برای برنامه ای ک مینویسم
یک قسمتی بگذارم ک نمایش بده برای محاسبه کارایی ک ا (http://p040.harajiha.ir/)نجام داده چ مقدار زمان سپری شده

کسی میدونه چطور میشه اینو گذاشت؟




Private Sub Form_Load()
Timer1.Interval = 1000
Timer1.Enabled = True
Label1.Caption = "00"
Label2.Caption = "00"
Label3.Caption = "00"
Label4.Caption = "00"
End Sub

Private Sub Form_Unload(Cancel As Integer)

' در اين قسمت که فرم بسته ميشه ميتوني مقادير را ذخيره کني و موقع لود شدن فرم بارگذاري کني دوباره

End Sub

Private Sub Timer1_Timer()

Label1.Caption = Label1.Caption + 1

' اينم دقيقه را حساب ميکنه

If Label1.Caption = 60 Then
Label2.Caption = Label2.Caption + 1
Label1.Caption = 0

End If

' ساعت را محاسبه ميکنه

If Label2.Caption = 60 Then
Label3.Caption = Label3.Caption + 1
Label2.Caption = 0

End If


' روز را شمارش ميکنه که 360 رو ميشه

If Label3.Caption = 24 Then

Label4.Caption = Label4.Caption + 1
Label3.Caption = 0
End If


End Sub




این خیلی کد ساده و پیش پا افتاده ای هست ولی کار میکنه
مابقی کار با خودته

امیدوارم به دردت بخوره

vbhamed
شنبه 07 مهر 1397, 11:05 صبح
اره واقعا ، مرده‌شور برده نمی‌دونم چطوری اینجوری طراحی شده که موقع طراحی اش انگار فکر ۴۰ سال دیگه را میکردند. (خداییش)
از چیش برات بگم ، ها ، از چیش؟؟؟؟؟ که حتی برنامه هایی اومدند عین خط کد و ظاهر وی بی را کپی و طراحی کردند ولی باز هم اصلا باشون حال نمیکنی و راحتیشو ندارند.
مثلا از چی بگم.

سریع اجرا شدن خود نرم افزار.
اجرای سریع برنامه.
راحتی درک و فهم موقع کد نوشتن.جابه‌جایی سریع و راحت ببین صفحات.
باگ یابی فوق‌العاده قوی که تو خود #C که سال ۲۰۵۰ قراره بیاد، نداره.
اصلا وی بی نه اینکه تکلیفش با خودش مشخصه ، با کاربر هم تکلیفش هم مشخصه.!!!!! به خدا
و ......
مورد داشتیم طرف اومده وی بی را یاد بگیره ، بعد یک هفته رفته سراغ برنامه نویسی شبکه!!!!!! (مگه داریم اخه)

ولی اینو بگم که وی بی ۶ مشکل از نظر من داره که منو کمی اذیت میکنه، اگر این طرفشو میگیم ، اون طرفشو هم بگیم

۱.از ی فارسی نیز پشتیبانی نمیکنه و بجاش از این پشتیبانی میکنه، ي / البته این مشکل فقط مال ما ایرانی هاست و نه جای دیگه
۲.حافظه string بیشتر ۶۴kb نیست و نمیشه بیشتر از توش لود کرد، حتی توی TextBox
۳.ذخیره سازی داده ، ارسال اطلاعات، لود اطلاعات، ارتباط اطلاعات را به صورت unicode Anscii انجام میده
۴.ترس و دلهره برنامه نویس ها از اجرانشدن بعضی از کامپوننت ها در سیستم مشتری یا کاربر
۵.قدیمی بودن مرورگرش که بعضی وقت ها لجمون را در میاره.
۶.و در آخر اگر بهش فقط یک کمی عادت کنی دیگر زبان های برنامه نویسی میشه برات ، زبان چینی


سلام
فیلم رو دیدم، توابع مفیدی نوشتی فقط اینکه نباید اسمش رو ویژوال بیسیک جدید بزاری چون بهرحال یکسری تابع در ماژول اضافه شده، ضمنا میتونی روی Add-in ها وی بی هم کار کنی، کارای خیلی خوبی میشه باهاش انجام داد، بیشتر مخصوص محیط طراحی و کدنویسی هستش

در مورد مشکلاتی هم که گفتی هیچکدوم مانعی نیست، مورد 4 که با ساخت ستاپ به راحتی حله، با کامپوننت Codejock کل مشکلات یونیکد و حافظه حله (آخرین نسخه ای که یونیکد داره 16 هستش)
در مورد مرورگر هم بستگی به استفاده داره اگر قرار باشه فقط سایتی رو نمایش بدی میتونی یک برنامه کوچیک با زبانی دیگه بنویسی که از مرورگرهای جدیدتر پشتیبانی میکنه، اگر هم قرار باشه پردازش انجام بشه بازم با همین روش میشه ولی پیچیده تر
در کل کار نشد نداره

اما در اینکه vb6 عشقه شک نکن، سرعت، سادگی، قدرت، کیفیت

وجود مفسر که عیب یابی رو خیلی خیلی راحت تر میکنه نسبت به محیطها و زبانهای دیگه

www.pc3enter.tk
شنبه 07 مهر 1397, 16:48 عصر
یعنی خودت یکی یکی دونه ای (دمت گرم)