PDA

View Full Version : سوال: درج تاریخ و ساعت سیستم در TextBox



po0ya_jo0n
چهارشنبه 09 تیر 1389, 08:11 صبح
با سلام. لطفا برنامه نویسان C#‎‎‎ کمک کنند:

با چه کدی تاریخ سیستم رو بگیرم و مثلا در TextBox1 بزارم

و ساعت سیستم رو هم بگیرم و مثلا در TextBox2 بزارم؟

------------------------------------------------------------------

مورد بعدی، 3 تا TextBox دارم : TextBox007 و TextBox008 و TextBox009
روی 2 تا شون ساعت سیستم رو درج میکنم به این صورت:

اول ساعت سیستم رو میگیرم و در TextBox007 ثبت میکنم

دوم بعد از X دقیقه دوباره ساعت سیستم رو میگیرم و در TextBox008 ثبت میکنم.

حالا میخام جمع ساعات TextBox007 و TextBox008 رو توی TextBox009 نشون بده.

مثلا بگه از ساعت TextBox007 تا ساعت TextBox008 ، ایکس ساعت گذشته.

با چه کدی میتونم این کارو انجام بدم

بی زحمت راهنمایی کنید ممنون میشم

happy65_sh
چهارشنبه 09 تیر 1389, 09:10 صبح
سلام
براي گرفتن تاريخ سيستم :

persionCalender p=new PersionCalender();
string date=p.GetYear(DateTime.Now)+p.GetMonth(DateTime.N ow)+p.GetDayofMonth(DateTime.Now);

فقط براي استفاده از PersionCalender بايد System.Globalization را به Using هات اضافه كني
زمان هم يه همچون چيزي هست خودت به بقيه ي توابع نگاهي بيانداز.



مورد بعدی، 3 تا TextBox دارم : TextBox007 و TextBox008 و TextBox009
روی 2 تا شون ساعت سیستم رو درج میکنم به این صورت:

اول ساعت سیستم رو میگیرم و در TextBox007 ثبت میکنم

دوم بعد از X دقیقه دوباره ساعت سیستم رو میگیرم و در TextBox008 ثبت میکنم.

حالا میخام جمع ساعات TextBox007 و TextBox008 رو توی TextBox009 نشون بده.

مثلا بگه از ساعت TextBox007 تا ساعت TextBox008 ، ایکس ساعت گذشته.


ميتوني از TimeSpan استفاده كني

خسرو خان
چهارشنبه 09 تیر 1389, 09:17 صبح
با سلام. لطفا برنامه نویسان C#‎‎‎‎ کمک کنند:

با چه کدی تاریخ سیستم رو بگیرم و مثلا در TextBox1 بزارم

و ساعت سیستم رو هم بگیرم و مثلا در TextBox2 بزارم؟

------------------------------------------------------------------

مورد بعدی، 3 تا TextBox دارم : TextBox007 و TextBox008 و TextBox009
روی 2 تا شون ساعت سیستم رو درج میکنم به این صورت:

اول ساعت سیستم رو میگیرم و در TextBox007 ثبت میکنم

دوم بعد از X دقیقه دوباره ساعت سیستم رو میگیرم و در TextBox008 ثبت میکنم.

حالا میخام جمع ساعات TextBox007 و TextBox008 رو توی TextBox009 نشون بده.

مثلا بگه از ساعت TextBox007 تا ساعت TextBox008 ، ایکس ساعت گذشته.

با چه کدی میتونم این کارو انجام بدم

بی زحمت راهنمایی کنید ممنون میشم


این برای تاریخ
textBox1.Text = DateTime.Now.ToString().Substring (0,10);

این برای زمان
textBox2.Text = DateTime.Now.TimeOfDay.ToString();

mostafarastin239
چهارشنبه 09 تیر 1389, 23:07 عصر
سلام مهندس، کدهای زیر را در برنامه ات کپی کن.


public string Miladi2Shamsi(DateTime _date)
{
PersianCalendar pc = new PersianCalendar();
StringBuilder time = new StringBuilder();
time.Append(DateTime.Now.Hour);
time.Append(":");
time.Append(DateTime.Now.Minute);
time.Append(":");
time.Append(DateTime.Now.Second);
StringBuilder sb = new StringBuilder();
sb.Append(pc.GetYear(_date).ToString("0000"));
sb.Append("/");
sb.Append(pc.GetMonth(_date).ToString("00"));
sb.Append("/");
sb.Append(pc.GetDayOfMonth(_date).ToString("00"));
string total = time.ToString() + " " + sb.ToString();
return total.ToString();
}
حالا به فرم برنامه یه timer اضافه کن و در قسمت مشخصات آن را فعال کرده و در قسمت timer_trick کد زیر را به تکست باکس مورد نظر ارسال کن.


private void timer1_Tick(object sender, EventArgs e)
{
txt_tarikh.Text = Miladi2Shamsi(DateTime.Today);
}

po0ya_jo0n
یک شنبه 13 تیر 1389, 13:36 عصر
خیلی ممنونم عالی بود روش حسابی کار میکنم
من یه کتاب سی شارپ آقای جعفرنژاد قمی گرفتم مثلا گام به گام بود. هیچ سورسی در رابطه با درج تاریخ و ساعت نبود... ورق به ورق کتاب رو گشتم...

از آقایون mostafarastin239 ، خسرو خان ، happy65_sh شدیداً ممنونم. تونستم یه استارتی بزنم.

مرسی

NIK
یک شنبه 13 تیر 1389, 13:50 عصر
بهتره به جای

textBox1.Text = DateTime.Now.ToString().Substring (0,10);از

textBox1.Text = DateTime.Now.ToLongDateString();و

textBox1.Text = DateTime.Now.ToShortDateString();استفاده کنید .

Iran58
یک شنبه 13 تیر 1389, 14:16 عصر
سلام
براي نمايش تاريخ من از كد ذيل استفاده مي كنم كه مشكل 6ماه اول(ماه ها بصورت دورقمي باشد)سال راهم حل كرده است

System.Globalization.PersianCalendar pc = new System.Globalization.PersianCalendar();
string date = "";
string day = pc.GetDayOfMonth(DateTime.Now).ToString();
string month = pc.GetMonth(DateTime.Now).ToString();
string year = (pc.GetYear(DateTime.Now)).ToString().Substring(2, 2);

if (day.Length == 1)
day = "0" + day;

if (month.Length == 1)
month = "0" + month;

date = year + "/" + month + "/" + day;

txtdate.Text = date;
txttime.Text = DateTime.Now.ToLongTimeString();

mehdi5106
یک شنبه 13 تیر 1389, 21:34 عصر
به نظر بنده این بهترین روش هست.یک امتحان بکن ماههای یک رقمی و روزهای یک رقمی را هم دو رقمی نمایش می دهد.

PersianCalendar pc = new PersianCalendar();
int y = pc.GetYear(DateTime.Now);
int m = pc.GetMonth(DateTime.Now);
int d = pc.GetDayOfMonth(DateTime.Now);
string date = string.Format("{0:D2}/{1:D2}/{2:D2}", y, m, d);

alirat
دوشنبه 14 تیر 1389, 02:16 صبح
nice... kheili khob bud
in chandta metod ke moarefi shod be kare manam umad:تشویق:

po0ya_jo0n
دوشنبه 14 تیر 1389, 11:18 صبح
خیلی عالی بود مرسی
من از ترفند آقای mostafarastin239 برای Return کردن تاریخ استفاده کردم خیلی عالی بود.
از کد آقای خسرو خان هم برای گرفتن ساعت استفاده کردم


textBox2.Text = DateTime.Now.TimeOfDay.ToString();

یه گام به جلو برداشتم (دستتون درد نکنه)
فقط در این مورد راه حلی ندارم :

3 تا TextBox دارم : TextBox007 و TextBox008 و TextBox009
روی 2 تا شون ساعت سیستم رو درج میکنم به این صورت:

اول ساعت سیستم رو میگیرم و در TextBox007 ثبت میکنم

دوم بعد از X دقیقه دوباره ساعت سیستم رو میگیرم و در TextBox008 ثبت میکنم.

حالا میخام جمع ساعات TextBox007 و TextBox008 رو توی TextBox009 نشون بده.

مثلا بگه از ساعت TextBox007 تا ساعت TextBox008 ، ایکس ساعت گذشته.


آقای happy65_sh فرمودند از TimeSpan استفاده کنم. اما به طور کامل متوجه نشدم.
میشه بیشتر راهنمایی کنید؟

NIK
دوشنبه 14 تیر 1389, 11:38 صبح
خیلی عالی بود مرسی
من از ترفند آقای mostafarastin239 برای Return کردن تاریخ استفاده کردم خیلی عالی بود.
از کد آقای خسرو خان هم برای گرفتن ساعت استفاده کردم


textBox2.Text = DateTime.Now.TimeOfDay.ToString();
یه گام به جلو برداشتم (دستتون درد نکنه)
فقط در این مورد راه حلی ندارم :

3 تا TextBox دارم : TextBox007 و TextBox008 و TextBox009
روی 2 تا شون ساعت سیستم رو درج میکنم به این صورت:

اول ساعت سیستم رو میگیرم و در TextBox007 ثبت میکنم

دوم بعد از X دقیقه دوباره ساعت سیستم رو میگیرم و در TextBox008 ثبت میکنم.

حالا میخام جمع ساعات TextBox007 و TextBox008 رو توی TextBox009 نشون بده.

مثلا بگه از ساعت TextBox007 تا ساعت TextBox008 ، ایکس ساعت گذشته.


آقای happy65_sh فرمودند از TimeSpan استفاده کنم. اما به طور کامل متوجه نشدم.
میشه بیشتر راهنمایی کنید؟


DateTime n = DateTime.Now;
DateTime n2 = DateTime.Now.AddHours(-10.25);
textBox3.Text = (n - n2).ToString();

po0ya_jo0n
دوشنبه 14 تیر 1389, 15:05 عصر
آقای نیکنام خیلی عالی بود دقیقا جوابمو گرفتم. کارم تموم شد. زنده باشی

منتها با یه کم تغییر این کارو کردم:



DateTime t1 = Convert.ToDateTime(TexBox1.Text);
DateTime t2 = Convert.ToDateTime(TexBox2.Text);
TextBox3.Text = (t2 - t1).ToString();



شدیدا سپاسگذارم....:چشمک:

babakpersia
سه شنبه 05 بهمن 1389, 21:19 عصر
ممنون از مصطفی آراستین .

asia25
پنج شنبه 14 بهمن 1389, 07:05 صبح
نمونه برنامه حضور و غیاب که در سایت گذاشته شده است نیاز به یک textboxجهت داشتن ساعت سیستم و ثبت آن می باشد که به عنوان ورود و خروج محاسبه گردد لطفا سریعتر جواب بدهید خیلی مچکریم از زحمات شما

ACorvinus
پنج شنبه 14 بهمن 1389, 07:55 صبح
سلام.


من یه کتاب سی شارپ آقای جعفرنژاد قمی گرفتم

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

ali800
چهارشنبه 27 آذر 1392, 20:45 عصر
سلام اساتید ! بچه ها میشه ساعت رو با دقیقه و ثانیه رو هرکدوم رو توی تکس باکس بریزیم ؟ میخوام یه تایمر بزام که اگه مقدار 3 تاش 0 شد کامپیوتر خاموش بشه !

majidekazemi.7
یک شنبه 18 اسفند 1392, 19:49 عصر
آقا دمتون گرم واقعا عالی بود این پست جواب همه ی مشکلام و گرفتم
مخصوصا از کاربر محترم NIK (http://barnamenevis.org/member.php?148643-NIK) که خیلی کارم و راه انداخت