PDA

View Full Version : سوال: تبدیل متن انگلیسی به فارسی در برنامه



R2du-soft
چهارشنبه 01 خرداد 1392, 19:07 عصر
سلام ، میخواستم تو برنامه کاری کنم کاربر زمانی که داره توی Text1 خاجی تایپ میکنه ، توی text2 فارسی تایپ بشه.
یعنی معادل سازی
a=ا
b=ب
s=س

و حروف 2 تایی پشت سر هم مثل Ch = چ - ZH = ژ و ......
معادل سازی رو با چه کدی انجام بدم؟!

علیرضا.ا
چهارشنبه 01 خرداد 1392, 19:12 عصر
با تابع replace میشه

R2du-soft
پنج شنبه 02 خرداد 1392, 01:05 صبح
تست کردم نشد ، replace فقط یک چیز رو عوض میکنه
یعنی من با replace گفتم به جای A بزار ا
بعد وقتی گفتم به جای B بزار ب
دیگه هیچ کدوم اعمال نمیشه!!!!!!!

vbhamed
پنج شنبه 02 خرداد 1392, 08:45 صبح
سلام
اين يك نمونه، فقط دقت كنيد دو حرفي ها رو حتما اول و قبل از تك حرفي ها قرار بدين
Private Sub Form_Load()

Dim x$, y$, i&

x = "ch,sh,a,b,c,d"
y = "چ,ش,ا,ب,س,د"

Dim xa() As String
Dim ya() As String

xa = Split(x, ",")
ya = Split(y, ",")

Dim s$

s = "abshacchacd"

For i = 0 To UBound(xa)
s = Replace(s, xa(i), ya(i))
Next

MsgBox s

End Sub

R2du-soft
پنج شنبه 02 خرداد 1392, 11:35 صبح
کد کار نمیده! حروف رو پشت سر هم تایپ میکنه! وقتی مزنم a میده ÇÈÔÇӍÇÓÏ !!!! البته فارسی میده اینطوری ابشاســ ... اسد !!!!!!!!!

setroyd
پنج شنبه 02 خرداد 1392, 16:09 عصر
عزیزم این لغت نامیه میخواد و دستورات به این راحتی نیست امکان خطاش 100% شما باید دنبال data base اماده در این باره بگردی که فقط تو برنامه استفاده کنی با تبدیل خیلی خطا زیاد میشه مثلا شما میای مینویسی khaste فرسیش میشه خاست در حال اینکه شما منظورت خسته بوده و.............. ولی اگه همینجوری میخوای که هیچی با همون replac میشه .

vbhamed
پنج شنبه 02 خرداد 1392, 16:37 عصر
کد کار نمیده! حروف رو پشت سر هم تایپ میکنه! وقتی مزنم a میده ÇÈÔÇӍÇÓÏ !!!! البته فارسی میده اینطوری ابشاســ ... اسد !!!!!!!!!
سلام
خب مشخصه كه اينطوريه چون حروف به هم بايد بچسبن
اگر جدا مي‌خواين بعد از هر كاراكتر فارسي در رشته y در حالت كيبرد فارسي كليد شيفت رو نگه داريد و كليد Space رو بزنيد تا فاصله مجازي اضافه بشه و بهم نچسبن

علیرضا.ا
پنج شنبه 02 خرداد 1392, 18:55 عصر
تست کردم نشد ، replace فقط یک چیز رو عوض میکنه
یعنی من با replace گفتم به جای A بزار ا
بعد وقتی گفتم به جای B بزار ب
دیگه هیچ کدوم اعمال نمیشه!!!!!!!
اینجوری بزاری میشه:



a = Replace(Text1, "a", "آ")
b = Replace(a, "b", "ب")
text2=b