PDA

View Full Version : مبتدی: خطا در برنامه



khore_64
دوشنبه 28 مرداد 1392, 15:29 عصر
سلام
من این کد رو در چند جای سایت گذاشتم



if (dr["eabst"].ToString().Length > 220)
{
int iSpace = dr["eabst"].ToString().IndexOf(" ", 220);
strTmp = strTmp.Replace("__DESC__", dr["eabst"].ToString().Substring(0, iSpace) + " ... ");
}
else
{
strTmp = strTmp.Replace("__DESC__", dr["eabst"].ToString());
}



و مشکلی هم نداشت و درست بود
الان از یکیش خطا میگیره ولی بقیش داره درست کار میکنه

میخواستم ببینم مشکلش چی میتونه باشه و چه جوری این خطا رو درست میتونم بکنم

109325

nice_boy_a
دوشنبه 28 مرداد 1392, 15:33 عصر
سلام.
دوست عزیز داره میگه طول نمیتونه صفر باشه، یکی از مقادیرت طولش صفره

khore_64
دوشنبه 28 مرداد 1392, 15:57 عصر
همین کد داره جای دیگه درست کار میکنه
حتی اگه فیلدش خالی هم هست بدون مشکل اجرا میشه

nice_boy_a
دوشنبه 28 مرداد 1392, 16:05 عصر
جای دیگه مقدار کمتر از صفر بهش نمیدی
اینجا داره مقدار کمتر از صفر میگیره
با breakPoint مقادیر رو چک کن

khore_64
دوشنبه 28 مرداد 1392, 16:19 عصر
حالا اگه من بخوام که بتونه فیلد های خالی رو هم نشون بده این کد رو چجوری باید بنویسم؟؟

nice_boy_a
دوشنبه 28 مرداد 1392, 17:39 عصر
اصلا بگو کدی که نوشتی هدفش چیه ؟:چشمک: تا بیشتر بتونم کمکت کنم

khore_64
سه شنبه 29 مرداد 1392, 09:28 صبح
کد من داره تیتر و خلاصه مطلب رو میگیره و 220 تا کارکترش رو نشون میده همراه با عکسش
البته اگر تیک نمایشش خورده باشه

109362

khore_64
سه شنبه 29 مرداد 1392, 12:30 عصر
هیچکس نمیتونه کمکی کنه؟؟

khore_64
سه شنبه 29 مرداد 1392, 16:17 عصر
حالا اگه من بخوام که بتونه فیلد های خالی رو هم نشون بده این کد رو چجوری باید بنویسم؟؟



یا بخوام چوری باشه کدش که اگه خلاصه رو وارد نکنه اصلا نشونش نده

ahmad156
سه شنبه 29 مرداد 1392, 19:02 عصر
دوست عزیز اگه منظورتون نمایش 220 کاراکتر اول تیتر باشه از عبارت خلاصه زیر استفاده کن

str.Length < 220? str : str.Substring(0, 220) + " ...";

khore_64
چهارشنبه 30 مرداد 1392, 11:55 صبح
خوب اینم که تقریبا همونه
من میخوام فیلد خالی هم بتونه وجود داشته باشه

ahmad156
چهارشنبه 30 مرداد 1392, 16:57 عصر
دوست عزیز دقت کنین میبینین که با فیلد خالی مشکلی نداره

khore_64
چهارشنبه 30 مرداد 1392, 22:38 عصر
الان این کد

str.Length < 220? str : str.Substring(0, 220) + " ...";


رو باید جای این بنویسم؟؟


strTmp = strTmp.Replace("__DESC__", dr["eabst"].ToString().Substring(0, iSpace) + " ... ");

یعنی این طوری میشه




strTmp =
strTmp .Length < 220? strTmp : strTmp .Substring(0, 220) + " ...";

khore_64
پنج شنبه 31 مرداد 1392, 19:58 عصر
لطفا یکی جواب بده

khore_64
پنج شنبه 31 مرداد 1392, 21:51 عصر
فکر کنم درست شد
یه خط کد اضافه کردم بهش




if (iSpace == -1) iSpace = 220;