PDA

View Full Version : سوال: تنظیم تاریخ سیستم



ya30ien2
دوشنبه 27 تیر 1390, 00:09 صبح
سلام دوستان
من یک پروژه نوشتم که می خواستم تنظیم تاریخ هم داشته باشه از این رو اومدم مقداری کد پیدا کردم
http://s1.picofile.com/file/6977045270/1055.rar.html
اما مشکلم من اینه که اگه دقت کنید داخل textbox هنگام اجرا مثلا مینویسه 1390 اما برای دخیره تغییرات باید تاریخ رو به میلادی تغییر بدیم و بکنیمش 2011
حالا لطفا اگه کسی راه حلی داره به من کمک کنه
ممنون میشم

mehdin69
دوشنبه 27 تیر 1390, 00:53 صبح
بهترین کاری که میشه برای تنظیم تاریخ سیستم انجام داد استفاده از Windows service و با استفاده از سرویس Windows Time براحتی هرکاری که دوست داری با تاریخ سیستم انجام بدی....
برا اینکارا دردسر به خودت نده ....

ya30ien2
دوشنبه 27 تیر 1390, 06:19 صبح
بهترین کاری که میشه برای تنظیم تاریخ سیستم انجام داد استفاده از Windows service و با استفاده از سرویس Windows Time براحتی هرکاری که دوست داری با تاریخ سیستم انجام بدی....
برا اینکارا دردسر به خودت نده ....

پس چی کار کنم
اگه میشه یک مثتا هم بزار ممنون میشم

mehdin69
دوشنبه 27 تیر 1390, 09:20 صبح
چیزی که گفتم دقیقاً پنجره تنظیم ساعت ویندوز رو میاره بالا
فقط کافیه توی Windows Service یه سرویسی از خود ویندوز هست بنام Time Services رو صدا بزنی
اما اگه نمی خوای اون بیاد بالا
بیا اینم یه کد برا همین کار :
اول از همه Name Space زیر رو راه اندازی کن

using System.Runtime.InteropServices;
بعد فکر کن توی فرم 1 دارم دستوراتم رو می نویسم


public partial class Form1 : Form
{
[StructLayout(LayoutKind.Sequential)]
public struct SYSTEMTIME
{
public short Year;
public short Month;
public short DayOfWeek;
public short Day;
public short Hour;
public short Minute;
public short Second;
public short Milliseconds;
}


و حالا توی button1 می خوام تغییر ساعت رو انجام بدم



[DllImport("kernel32.dll", SetLastError = true)]
public static extern bool SetSystemTime([In] ref SYSTEMTIME st);
private void button1_Click_1(object sender, EventArgs e)
{
SYSTEMTIME sytemtime = new SYSTEMTIME();
sytemtime.Year = 2012;
sytemtime.Month = 12;
sytemtime.Day = 19;
sytemtime.Hour = 12;
sytemtime.Minute = 20;
sytemtime.Second = 25;
SetSystemTime(ref sytemtime);
}

ya30ien2
دوشنبه 27 تیر 1390, 09:44 صبح
ممنون از جوابت ولی ایمگار شما منظور من رو متوجه نشدی !
داداش من میخواستم وقتی صفحه load میشه داخل textbox هایی که مربوط به ساعت هست ساعت که این هیچ و داخل textbox هایی که مربوط به تاریخ هست تاریخ نوشته بشه اما تاریخ بصورت مثلا 12-12-1390 و ما بتونیم تغییرات داخلش ایجاد کنیم
اما مشکل من میخواستم که با نوشت مثلا تاریخ 12-12-1390 طی عملیاتی تاریخ رو به 2-2-2012 به اینصورت تبدیل کنه و به سیستم تحویل بده
حالا اگه میتونی در مورد این مشکل به من کمک کنید ممنون میشم

mehdin69
دوشنبه 27 تیر 1390, 12:35 عصر
خب مگه با تابع persianCalender نمی تونی این کار رو بکنی؟


System.Globalization.PersianCalendar pc = new System.Globalization.PersianCalendar();
MessageBox.Show(pc.ToDateTime(1390,12,22,0,0,0,0). ToString());




؟؟؟؟؟؟؟؟؟؟؟

ya30ien2
دوشنبه 27 تیر 1390, 13:44 عصر
آقا دست گلت درد نکنه عالی بود فقط میشه بگی چطوری میتونم تاریخ رو از td1.text,td2.text,td3.text بگیرم که برام تبدیلش کنه
خواهشا اینم جواب بده با تشکر

iman_me
دوشنبه 27 تیر 1390, 14:09 عصر
باید از دستور

Convert.ToDateTime(TextBox1.Text);

ya30ien2
دوشنبه 27 تیر 1390, 14:24 عصر
باید از دستور

Convert.ToDateTime(TextBox1.Text);


من دیگه نمیدونم چیکار کنم
آخه می خوام بنویسم مثلا 1390/02/02 وخودش تبدیل کنه و ثبت
اما با کدی که دوست عزیزمونmehdian 69 دادن
و کدی که شما دادی نمیشه نوشت pc.convert.tostring
لطفا اگه میشه یک کد کامل بنویسید
با تشکر

iman_me
دوشنبه 27 تیر 1390, 15:01 عصر
شما کد تبدیل به میلادی رو دارید؟؟؟؟؟

ya30ien2
دوشنبه 27 تیر 1390, 15:13 عصر
شما کد تبدیل به میلادی رو دارید؟؟؟؟؟

این کدی که دوست عزیزمون نوشتن
System.Globalization.PersianCalendar pc = new System.Globalization.PersianCalendar();MessageBox. Show(pc.ToDateTime(1390,12,22,0,0,0,0). ToString());
تاریخی که داخل messegbox نوشته رو تبدیل میکنه
فقط مشکلی که من دارم میخوام تاریخ رو از چند textbox بگیرم

iman_me
دوشنبه 27 تیر 1390, 15:32 عصر
از چند تکس باکس یعنی ماه و سال و روز تو تکست جدا هستن؟؟؟
اگه اینجوری باید از int.prase استفاده کنی

ya30ien2
دوشنبه 27 تیر 1390, 15:39 عصر
اگه میشه با مثال توضیح بدین
لطفا اول از همه هم لینکی رو که داخل پست اول دادم دانلود کنید تا متوجه بشید چیکارش کردم بعدا توضیح بدید
بازم ممنون

mehdin69
دوشنبه 27 تیر 1390, 20:59 عصر
سلام دوست من، دیگه یه سره بگو برنامه رو بنویسیم :لبخند:

خب کاری که نداره فقط یه Format String بزاری درست میشه


String s;
s.StringFormat("{0},{1},{2}",TextBox1.text,Text2.text,Textbox3.Text")
MessageBox.Show(pc.ToDateTime(S).ToString());

ya30ien2
دوشنبه 27 تیر 1390, 22:10 عصر
سلام دوست من، دیگه یه سره بگو برنامه رو بنویسیم :لبخند:

خب کاری که نداره فقط یه Format String بزاری درست میشه


String s;
s.StringFormat("{0},{1},{2}",TextBox1.text,Text2.text,Textbox3.Text")
MessageBox.Show(pc.ToDateTime(S).ToString());

دوست عزیز به s.stringformat گیر میده
اگه ممکنه بررسی کنید
با تشکر

mehdin69
سه شنبه 28 تیر 1390, 00:03 صبح
دوست عزیز به s.stringformat گیر میده
اگه ممکنه بررسی کنید
با تشکر

بخدا اگه خودتون یه تست کنین بد نیست یه کم دنبالش بگردید طوری نمیشه
من ویژوال استادیو ندارم دارم همین طوری می نویسم شاید مشکل داشته باشه
بجاش بنوس string.Format
و S اصلاً نمی خواد بنویسی