PDA

View Full Version : انجام یک کار در یک ساعت معین



galaxyking
یک شنبه 20 فروردین 1391, 21:18 عصر
سلام
من یه برنامه دارم که باید در یک زمان که ما باید آن را بدهیم مقدار یک متغیر را تغییر دهد
و ساعت داخلی هم با ساعت کامپیوتر یکی شود
یعنی ما به نرم افزار بگوییم که در ساعت 05:10:23 مقدار یک متغیر را تغییر داده ودر ساعت 7:12:13 مقدار آن را دوباره صفر کند

m2011kh
یک شنبه 20 فروردین 1391, 22:04 عصر
یه تایمر میزاری و این کد هارو داخلش مینویسی:
Private M as integer
Private Sub Timer1_Timer()
If time = "05:10:23 PM" then
m = 2
end if
if time = "7:12:13 PM" then
m = 0
end if
end sub

galaxyking
یک شنبه 20 فروردین 1391, 22:19 عصر
آقا ممنون
من زیاد vb رو حرفه ای نیستم یعنی به همین راحتی
اون تایم رو که بنویسیم خودش میفهمه منظورمون ساعته کامپیوتره؟

m2011kh
یک شنبه 20 فروردین 1391, 22:55 عصر
بله دوست عزیز.
اون Time یه تابعه که ساعت ویندوز رو برمیگردونه.
برای به دست آوردن تاریخ به جای Time از Date استفاده میکنیم.

galaxyking
دوشنبه 21 فروردین 1391, 00:09 صبح
بازم از اینکه جواب دادید ممنون
یه سوال دیگه : اگه بخوایم اون مقداری که جلوی if نوشتیم به عنوان مقدار شرط رو به صورت دلخواه بدیم از چی باید استفاده کنیم وبه چه شکلی
مثلا یه text box بذاریم و ساعت رو به همون شکل توش بنویسیم یا ...
من مقدار text box رو معادل یه متغیر گذاشتم ولی وقتی اون متغیرو جای "05:10:23 PM" نوشتم ارور داد

ASedJavad
دوشنبه 21 فروردین 1391, 13:59 عصر
سلام
به نظر من شما بهتره از کنترل DTPicker استفاده کنی و خصوصیت فرمت اونو برابر 2 قرار بدی.

در ضمن به نظرم این کنترل جزء کامپوننت های Microsoft common control 2.6 هست

s.hematii
دوشنبه 21 فروردین 1391, 15:18 عصر
به نظربرنامه جالبی میاد اما این کاری که شما m2011khگفتی رو من انجام دادم نشد

s.hematii
دوشنبه 21 فروردین 1391, 15:37 عصر
من فک کنم برای اینکه ساعت دلخواه باشه می تونی از این استفاده کنی مثلا1تکس اضافه کنی 1متغییرa تعریف کنی تو dim a as string :genaral
و اینم به form_load :
a=t val(ext1.text)
و به جای اون ساعت که در بالاست a بذاری فک کنم درست بشه

galaxyking
دوشنبه 21 فروردین 1391, 20:48 عصر
بازم ممنون از راهنماییاتون
میشه بیشتر در مورد اون Dtpicker توضیح بدین؟

galaxyking
دوشنبه 21 فروردین 1391, 20:54 عصر
در مورد اون روشی که s.hemati فرمودند
من یه روش ساده تر تست کردم یعنی مقدار اون متغیر رو دستی بهش دادم ولی ارور داد

ASedJavad
دوشنبه 21 فروردین 1391, 21:36 عصر
بفرما دوست عزیز

s.hematii
سه شنبه 22 فروردین 1391, 09:14 صبح
من خودمم خیلی وارد نیستم فقط این راه به ذهنم رسید راهی کهm2011kh گفتن انجام دادید اجرا کرد اگه اجراشد واستون لطفا برنامه کاملشو بزارید مرسی

galaxyking
سه شنبه 22 فروردین 1391, 18:22 عصر
سلام
آره اون که اجرا شد ولی من می خواستم ساعتی که به برنامه دستور تغییر در متغیر رو میده رو من با یه مثلا textbox بهش بدم که نشد
ولی روش آقای ASedJavad (http://barnamenevis.org/member.php?60645-ASedJavad) بیشتر به کارم اومد
اینم برنامه آقای m2011kh :
(فقط باید تو vb پروژرو باز کنی مقدار ساعت تغییر m رو دستی وارد کنی )
http://www.8pic.ir/images/f48zfc347x8e2syz2p1l.rar

galaxyking
سه شنبه 22 فروردین 1391, 18:47 عصر
سلام
یه سوال از آقای ASedJavad (http://barnamenevis.org/member.php?60645-ASedJavad) داشتم
در این برنامه که گذاشتید دلیل این چند خط چیه؟

Private Sub Form_Load()
DTPicker1.Value = Time
End Sub

ASedJavad
سه شنبه 22 فروردین 1391, 18:58 عصر
نمیدونم.
بدون اون دستور، عبارت DTPicker1.value مقدار تاریخ رو برمی گردوند!

galaxyking
سه شنبه 22 فروردین 1391, 23:03 عصر
بازم سلام
من با یه روش تلفیقی از روش دوستان خوبم آسد جواد و m2011kh تا حدی این مشکلو حل کردم
اینم لینکش:
http://www.8pic.ir/images/61fz8q9hry3cmbwiiowb.rar

m2011kh
جمعه 25 فروردین 1391, 22:21 عصر
ممنون از تمام دوستانی که تو این مدت که نبودم به آقای galaxyking کمک کردن.
ولی من بیشتر سعی میکنم از کنترل ها استفاده نکنم.
چون اگه بخایم بیشتر کارامونو تو یه پروژه بزرگ یا کنترل ها انجام بدیم.
حجم برنامه زیاد میشه.
و بعضی از کنترل ها تو ویندوز 7 و 8 کار نمیکنن.
من معمولا خدومو به استفاده از کنترل ها عادت نمیدم.
به شما هم توصیه میکنم این کارو نکید.
راستی اگه ساعت کامپیوتر کاربر فارسی باشه ممکنه برنامه به مشکل بخوره(جهت اطلاع)

m2011kh
جمعه 25 فروردین 1391, 22:30 عصر
سلام
اینم یه برنام به روش خودم.
البته استفاده از DTPicker هم خوبه.
زیاد فرقی نمیکنه.
شب خوش دوستان

galaxyking
شنبه 26 فروردین 1391, 00:35 صبح
من واقعا از شما دوستان ممنونم
روش m2011kh خیلی جالب بود و کاملا عملی و یه حسن دیگه هم که داشت کوتاه شدن برنامه بود
واسه اوناییم که ساعتشون حروف( ب ظ ) و (ق ظ) داره هم بهتره یه علامت $ بعد از کلمه time بذارن تا ساعت 24 ساعته بشه و مشکل فونت پیش نیاد به این شکل:
روش آقای m2011kh به شکل 24 ساعته :


Private m As String
Private n As String
Private Sub Command1_Click()
m = Text2.Text
n = Text3.Text
Timer2.Enabled = True

End Sub

Private Sub Timer1_Timer()
Text1.Text = Time$
End Sub

Private Sub Timer2_Timer()
Select Case Time$
Case m
Text4.Text = 800
Case n
Text4.Text = 200
End Select
End Sub