PDA

View Full Version : ترکیب تاریخ فارسی با متن فارسی در کریستال ریپورت در یک فیلد



s.mazloumi
یک شنبه 03 خرداد 1388, 14:43 عصر
وقتی در محتوای فیلدی تاریخ فاررسی (1388/09/23) وجود داشته باشد فقط قسمت سال را فارسی میزند و مابقی تاریخ را به انگلیسی نشان میدهد و در ضمن تاریخ را از راست به چپ می نویسد.

کسی راه حلی برای این مشکل داره ....

mpmsoft
یک شنبه 03 خرداد 1388, 21:57 عصر
در قسمت Paragraph گزینه RightTolLeft را فعال کنید

بروی فیلد کلیک راست کرده و سپس Format Box رو بزنید

s.mazloumi
دوشنبه 04 خرداد 1388, 14:33 عصر
در قسمت Paragraph گزینه RightTolLeft را فعال کنید

بروی فیلد کلیک راست کرده و سپس Format Box رو بزنید

قبلا اين كار رو انجام دادم ولي درست نشده

Hamid.Mayeli
دوشنبه 04 خرداد 1388, 14:58 عصر
وقتی در محتوای فیلدی تاریخ فاررسی (1388/09/23) وجود داشته باشد فقط قسمت سال را فارسی میزند و مابقی تاریخ را به انگلیسی نشان میدهد و در ضمن تاریخ را از راست به چپ می نویسد.

کسی راه حلی برای این مشکل داره ....


دوست عزیز شما باید از فونتهای سری B استفاده کنی. واسه برعکس شدن هم برعکس بنویس. Language Option رو هم فارسی کن.

-*-=+

s.mazloumi
دوشنبه 04 خرداد 1388, 18:24 عصر
دوست عزیز شما باید از فونتهای سری B استفاده کنی. واسه برعکس شدن هم برعکس بنویس. Language Option رو هم فارسی کن.

-*-=+

دوست عزیز من در گرارشم گاهی اوقات جملات انگلیسی دارم، اگه از فونتهای سری B استفاده کنم جملات انگلیسی به هم می ریزند.

s.mazloumi
دوشنبه 04 خرداد 1388, 18:28 عصر
در قسمت Paragraph گزینه RightTolLeft را فعال کنید

بروی فیلد کلیک راست کرده و سپس Format Box رو بزنید

من متوجه شدم که تاریخ ها در کریستال ریپورت مشکل ندارند ولی در داخل برنامه، به هنگام نمایش ایراد دارد.

دوستان عزیز کمکم کنید ...

s.mazloumi
دوشنبه 04 خرداد 1388, 18:41 عصر
دوستان عزیز کمک کنید ...

s.mazloumi
سه شنبه 05 خرداد 1388, 12:27 عصر
یعنی هیچکس نیست که به این مشکل برخورده باشد...

s.mazloumi
سه شنبه 05 خرداد 1388, 12:28 عصر
دوستان عزیز کمک ....

In_Chan_Nafar
سه شنبه 05 خرداد 1388, 12:57 عصر
دوست عزيز متاسفانه اين يكي از مشكلات كريستال است كه در صورت خريد نسخه اصلي اون شركتش براتون اين مشكل رو حل ميكنه
حال روش حل اون تو برنامه اين طوري است كه اگر شما از فرمول استفاده كرديد و فقط يك عبارت در برنامه داراي تاريخ به اين صورت است بايستي تاريخ را به صورت معكوس از برنامه به اون بفرستيد
اگر تاريخ در ميان ركوردها است متاسفانه نمي توان فرمت اون را تشخيص داد (اگر كاربر درست وارد نكند و...) تا از طريق يك فرمول اون را معكوس كني
مثال
در تاريخ 1383/02/01 در شركت VB بودم
در كريستال تاريخ به صورت
در تاريخ 01/02/1383 در شركت VB بودم نمايش داده مي شود كه شما بايستي براي رفع اون تو ديتا تون به يوزر بگين يا برعكس وارد كنه يا كاركتر | در ابتدا و انتهاب تاريخ تايپ كند
مثال
در تاريخ |1383/02/01| در شركت VB بودم
تا موقع چاپ درست نمايش داده بشه

s.mazloumi
سه شنبه 05 خرداد 1388, 14:58 عصر
با تشکر از In_Chan_Nafar (http://barnamenevis.org/forum/member.php?u=9136)

در مورد انگلیسی نوشته شدنش راهی بلد نیستید ؟

s.mazloumi
سه شنبه 05 خرداد 1388, 15:02 عصر
یعنی هیچکس نیست که به این مشکل برخورده باشد...

:ناراحت:

In_Chan_Nafar
سه شنبه 05 خرداد 1388, 15:10 عصر
در مورد انگلیسی نوشته شدنش راهی بلد نیستید ؟

متوجه نشدم!!
یعنی می خواهید اعداد انگلیسی نشان داده نشه؟

ما در مورد شرح حسابداری خودمون اگه اتوماتیک باشه خودمون به اول و آخر تاریخ کاراکتر | اضافه می کنیم
|1388/02/02| همین.
بهتر زیاد وقت نذارید چون این مشکل فقط با خرید لایسنس و سفارش این درخواست به شرکت CR مقدور است.

pesar irooni
چهارشنبه 06 خرداد 1388, 00:54 صبح
برای حل مشکل برعکس شدن بهترین راه استفاده از فرمول هست.
یعنی شما یه فرمول میسازی و داخل اون مینویسی (date(mytarikh و دیگه برعکس نیست. برای فارسی شدن هم میتونی از فونت BNazanin استفاده کنی و اگه میخوای بقیه رو خراب نکنه تو یه آبجکت جدا بذار.

s.mazloumi
چهارشنبه 06 خرداد 1388, 15:54 عصر
چه فرمولي بسازم تاريخ در داخل متن نوشته شده ؟

مي شود بيشتر توضيح دهيد ...:گیج:

pesar irooni
پنج شنبه 07 خرداد 1388, 00:25 صبح
اگه تاریخ رو بصورت پارامتر پاس میدی بنویس (date(@myParameter و اگه بصورت رشته هست که اصلا کاری نداره، داخل یه textbox بنویس

s.mazloumi
پنج شنبه 07 خرداد 1388, 18:28 عصر
یا من نمی فهمم یا منظورم و نمی تونم خوب بگم.

جملات فارسی با تاریخ ترکیب شده

مثلا : فاکتور فروش 89 مورخ 1388/01/25 به شرکت ...:گیج:

pesar irooni
جمعه 08 خرداد 1388, 20:58 عصر
احتمالا من درست نمیتونم توضیح بدم
ببین یه فرمول بساز همون جور که گفتم
بعد یه textBox میذاری و توش مینویس "فاکتور فروش 89 مورخ به شرکت ..." یعنی بین مورخ و به چیزی نمینویسی.
بعد فرمولت رو که نوشته بودی drag میکنی تو این textBox و بین مورخ و به drop میکنی. توجه کن موقعی که میخوای فرمولت رو توی textBox بندازی شکل موس بصورت + میشه.
اگه بازم نتونستی بگو تا من یه نمونه برنامه واست بزارم.

rostami
یک شنبه 14 تیر 1388, 15:56 عصر
دوست عزیز از فونت Tornado Tahoma استفاده کنین. با این فونت اعداد فارسی و متن لاتین مشکلی ندارین.

mn_zandy63
چهارشنبه 17 تیر 1388, 12:36 عصر
سلام دوست عزیز
برای فارسی شدن تاریخ که دوستان کمک کردند. جالبه، با خرید لایسنس درست میشه؟ نمیدونستم، کسی که این ادعا رو کرده میتونه بیشتر توضیح بده؟
برای متن های فارسی و انگلیسی هم که مشکل از فونت های B هست نه کریستال ریپورت. ایراد هم از اونجاست که در فونتشون حروف انگلیسی رو طراحی نکردن. یکی از راه حل ها اینه که از فونت tahoma استفاده کنی که در همه سیستم ها وجود داره. و اگه میتونی فونت رو به سیستم کاربرت منتقل کنی،از این لینک فونهای استاندارد فارسی یونیکد رو بگیر.
http://hajloo.wordpress.com/2008/12/10/ertebat-e-keyboard-ba-unicode/
در این آدرس میتونی اطلاعات خوبی در مورد فونتهای یونیکد کسب کنی، آخر صفحه لیست 4 فونت استاندارد فارسی آورده شده، فونتهای زیبایی هم هستن، من که در ریپورتهای ویندوزم از اینها استفاده می کنم و در ریپورتهای وب از tahoma.

SepidehZ
پنج شنبه 19 آذر 1388, 20:23 عصر
اگر یک فیلد کاراکتری داشته باشیم که در آن تاریخ یا Slash استفاده شده باشد ، جای حروف عوض می شودمثال : فیلد کاراکتریDesc با شرح "شیرآلات سایز 3/2" که به شکل "شیرآلات سایز 2/3" می افتد .که نمی توانیم به کاربر بگوییم برعکس بزند . چون در فرمها و در نمایش در Vb این فیلد درست نمایش داده می شود ولی در کریستال 9.2 برعکس می افتد. چاره این مشکل چه می باشد؟حواهشمندم در صورت امکان سریعتر پاسخ دهید

حسین علوی
پنج شنبه 19 آذر 1388, 22:04 عصر
سلام
این مشکل رو من با پلاک ماشین داشتم
کاربر در فرم باید درست وارد کنه ولی هنگام ذخیره جای بعضی از اعداد و حروف را جابجا میکنیم بعد ذخیره میکنیم

SepidehZ
پنج شنبه 19 آذر 1388, 22:23 عصر
با تشکر. یعنی منظورتان اینه که هر slash که در متن وارد شده بود . جای حروف قبل و بعدش رو عوض کنم؟ امکان اشتباه وجود داره.هیچ راه دیگه ای نداره؟

Sal2010
یک شنبه 29 آذر 1388, 12:51 عصر
یه راه خیلی ساده استفاده از کد 254 یا 8235 در ابتدای فرمول هست .

hasanain
شنبه 12 دی 1388, 18:52 عصر
من در قسمت Report Custom Functions کریستال، یک Function ساخته ام و فیلدهایی که ممکن است تاریخ یا عدد ممیز دار داشته باشد را به آن Function میفرستم و نتیجه را در کریستال در قالب یک Formula Field نمایش میدهم یعنی فیلد را مستقیماً نمایش نمیدهیم بلکه در فرمول چنین می آورم:


MakoosArabicString ({MyTable.Sharh})


Function MakoosArabicString(strArab As String) As String
Dim MyTxt() As String, txtSlv() As String _
, strTMP As String, strEnd As String
Dim YY As Double, XX As Double

MyTxt = Split(strArab, " ")
For XX = 1 To UBound(MyTxt)
If InStr(MyTxt(XX), "/") <> 0 Then
txtSlv = Split(MyTxt(XX), "/")
strTMP = ""
For YY = UBound(txtSlv) To 1 Step -1
strTMP = IIf(strTMP = "", "", strTMP & "/") & txtSlv(YY)
Next
strEnd = IIf(strEnd = "", "", strEnd & " ") & strTMP
Else
strEnd = IIf(strEnd = "", "", strEnd & " ") & MyTxt(XX)
End If
Next
MakoosArabicString = strEnd
End Function

غلامرضا شریفی
یک شنبه 13 دی 1388, 20:07 عصر
دوستان من دوتا برنامه پشت سر هم نوشتم در اولي تاريخ بين دو متن بصورت صحيح نمايش داده ميشود و در برنامه دوم كه تاريخ بين دو متن قرار ميگيرد اعداد تاريخ جابجا ميشود در reportكه گزينه main report preview را ميزنم در هر دو برنامه اعداد تاريخ جابجا است من فكر ميكنم اين جابجايي ها به CrystalReportViewer بر ميگردد لازم به توضيح است كه در فاصله اين دو برنامه هيچ تغيير در سيتم و يا vb نداده ام