PDA

View Full Version : شکستن string



alirzn
دوشنبه 26 شهریور 1386, 10:27 صبح
سلام:
من یک string دارم که حاوی تاریخ است (به صورت 26/6/1386 )
می خوام این string رو به سه int ، سال(1386)و ماه(6) و روز(26) تبدیل کنم و بعد بتونم روی اونها مانور بدم.
چکار باید بکنم.
متشکر میشم کمکم کنید.

fshafagh
دوشنبه 26 شهریور 1386, 10:46 صبح
با پوزش از بقیه

فکر می کنم به راحتی با استفاده از تابع split این کار رو بتونی انجام بدی ! این متد با استفاده از یک نمونه ( / ) رشته رو جدا می کنه و میریزه تو یه آرایه.
http://msdn2.microsoft.com/en-us/library/system.string.split.aspx

اگر با تاریخ می خوای کار کنی فکر می کنم از کلاس System.DateTime استفاده کنی دیگه احتیاجی به این کارا نباشه.

alirzn
دوشنبه 26 شهریور 1386, 11:49 صبح
من تاریخی رو که می خوام استفاده کنم فارسیه. و می خوام روی اون فارسیه که از میلادی تبدیل شده این کارو کنم

fshafagh
دوشنبه 26 شهریور 1386, 12:09 عصر
بسیار خب
بنابراین فکر می کنم استفاده از متد split راه خوبی باشه.:چشمک:

babak23
دوشنبه 26 شهریور 1386, 12:12 عصر
من تو برنامم از این کد برای جدا کردن زمان استفاده کردم
با کمی تعقیر میتونی از این کد تو برنامت استفاده کنی.



string words0 = maskedTextBox1.Text;
string[] split0 = words0.Split(newChar[] { ':' });
int time0 = 0;
int time1 = 0;

string words1 = maskedTextBox2.Text;
string[] split1 = words1.Split(newChar[] { ':' });
int Time0 = 0;
int Time1 = 0;
int jam0 = 0;
int jam1 = 0;

split0 = words0.Split(newChar[] { ':' });
split1 = words1.Split(newChar[] { ':' });


if (split0[0].Trim().Length > 0)
time0 = int.Parse(split0[0].Trim());
else time0 = 0;
if (split0[1].Trim().Length > 0)
time1 = int.Parse(split0[1].Trim());
else time1 = 0;
if (split1[0].Trim().Length > 0)
Time0 = int.Parse(split1[0].Trim());
else Time0 = 0;
if (split1[1].Trim().Length > 0)
Time1 = int.Parse(split1[1].Trim());
else Time1 = 0;


کد سورسی که من تو تایپیک بالا ازش استفاده کردم مربط به زمانی هست که ما
میخوایم از طریق ورود اطلاعات کاربر را محدود کنیم که مثلا کاربر تنها بتونه تاریخ یا زمان را وارد کنه (با maskText)

bpzone
دوشنبه 26 شهریور 1386, 12:14 عصر
تاریخ فارسی تبدیل شد از میلادی ؟!؟!؟!
چرا مستقیم با تاریخ فارسی کار نمیکنید ؟
اگه دارید تاریخ فارسی سیستم رو با تبدیل تاریخ میلادی سیستم بدست میارید ... یه جستجو توی تاپیک های قبلی بکنی ، فکر کنم که کارت راه بیوفته

موفق باشی

RED-C0DE
دوشنبه 26 شهریور 1386, 12:45 عصر
از PersianCalender استفاد کن...
تقریبا مثل تاریخ میلادی می تونی همه کار انجام بدی و نیازی به اینکارا نداری...

alirzn
دوشنبه 26 شهریور 1386, 18:02 عصر
سلام:
مگر میشه مستقیم بدن مبدل هایی مثل persia.net یا ... تاریف فارسی رو بدست آورد؟
ممنون



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

موفق باشی

PC2st
دوشنبه 26 شهریور 1386, 18:50 عصر
مگر میشه مستقیم بدن مبدل هایی مثل persia.net یا ... تاریف فارسی رو بدست آورد؟
بله، به کمک کلاس PersianCalendar (دات نت 2)

bpzone
سه شنبه 27 شهریور 1386, 02:20 صبح
با استفاده از کد زیر میتونی تاریخ فارسی سیستم رو بدست بیاری



using System.Globalization;




PersianCalendar PersianData = newPersianCalendar();
yy = PersianData.GetYear(DateTime.Now);
mm = PersianData.GetMonth(DateTime.Now);
dd = PersianData.GetDayOfMonth(DateTime.Now);


موفق باشی