PDA

View Full Version : آموزش: این کد رو برام تشریح کنین.



hossein71
چهارشنبه 16 تیر 1389, 18:29 عصر
یکی از دوستان خط به خط کد زیر رو اگر برام توضیح بده.(برای یه مبتدی دارین توضیح میدین)


Function Right2Left(R As RichTextBox, R2L As Boolean)
If Not InStr(R.TextRTF, "\qr") > 0 And R2L = True Then
R.TextRTF = Replace(R.TextRTF, "\rtrch", "\ltrch")
R.TextRTF = Replace(R.TextRTF, "\pard\", "\pard\qr\")
End If
If InStr(R.TextRTF, "\qr") > 0 And R2L = False Then
R.TextRTF = Replace(R.TextRTF, "\ltrch", "\rtrch")
R.TextRTF = Replace(R.TextRTF, "\qr", "")
End If
End Function

xxxxx_xxxxx
چهارشنبه 16 تیر 1389, 22:08 عصر
سلام،
Richtextbox ها برخلاف TextBox های عادی که فقط یک فضا برای ذخیره اطلاعات دارند، دو بخش برای ذخیره محتوای متنی دارند. یکی همان چیزی هست که کاربر توش تایپ میکنه(Text) و دیگری محیطی هست که اطلاعات مربوط به فرمت متن توش ذخیره میشه(TextRTF). مثل فونت، رنگ متن، سایز متن و سایر خاصیت های متنی.
دستورات فوق هم برای دستکاری در محتویات همین فضای اطلاعاتی RichTextBox هست. یعنی جایی که خصوصیات متن ذخیره شده.

اصلاً برای اینکه این خصوصیات رو ببینید این دستور رو بنویسید:


MsgBox R
R اسم همون RichTextBox در دستورات بالا هست. (متود پیشفرض همون TextRTF هست)

پیغامی که داده میشه همون خصوصیات رو نشون میده.


حالا با دستور Replace تغییراتی توی این خصوصیات داده میشه تا RichTextBox از حالت R2L به L2R تبدیل بشه و برعکس.

30yamand
پنج شنبه 17 تیر 1389, 10:05 صبح
یکی از دوستان خط به خط کد زیر رو اگر برام توضیح بده.(برای یه مبتدی دارین توضیح میدین)


Function Right2Left(R As RichTextBox, R2L As Boolean)
If Not InStr(R.TextRTF, "\qr") > 0 And R2L = True Then
R.TextRTF = Replace(R.TextRTF, "\rtrch", "\ltrch")
R.TextRTF = Replace(R.TextRTF, "\pard\", "\pard\qr\")
End If
If InStr(R.TextRTF, "\qr") > 0 And R2L = False Then
R.TextRTF = Replace(R.TextRTF, "\ltrch", "\rtrch")
R.TextRTF = Replace(R.TextRTF, "\qr", "")
End If
End Function


دوست عزیز
با استفاده از تابع replace
شرط گزاشته شده که اگه مقدار مون بزرگتر از 0 باشه و متن مون راست چین باشه البته رشته ای نباشه اون رو به راست چین تبدیل کنه
دستور دوم
حالا اگه مقدار مون کوچکتر از صفر باشه متن چین ما از راست به چپ چین تبدیل بشه