PDA

View Full Version : یک دستور شرطی در vb



bobo2bebe
جمعه 05 آذر 1389, 12:23 عصر
سلام.
در ویژال بیسیک به یک کد شرطی نیاز دارم و آن اینکه برای تبدیل حروف لاتین به فارسی لطفا یک دستور با ایف را برایم بنویسید که وقتی حرف انگلیسی (اوُ) o در اول کلمه آمده باشد در تبدیل به فارسی به حرف (اوُ) تبدیل شود و در غیر اینصورت به حرف (وُ) یعنی بدون الف تبدیل شود . فقط همین دستور شرطی را برایم بنویسید ممنون میشم . مرسی

case 'o':
temp += "وْ";
break;

این دستوری است که برای حرف O نوشته شده اما وقتی مثلا بنویسم oftad حرف - و - بصورت او نوشته شود در غیر اینصورت همان -و - نوشته شود

javadt
جمعه 05 آذر 1389, 17:58 عصر
If Mid(St, 1, 1) = "o" Then MsgBox

pcdownload.bloghaa.com
جمعه 05 آذر 1389, 20:09 عصر
ای کد هم یک نمونه برای این کار.
داخل تکست باکس متن انگلیسی را بنویسید و دکمه را بزنید تا به فارسی تبدیل شود.
و توضیحاتی هم که جناب bobo2bebe گفته بودن توش رعایت شده.


Private Sub Command1_Click()
Dim f() As String
Dim e() As String
Dim k() As String
x = LCase(Text1)
e = Split("a.b.c.d.e.f.g.h.i.j.k.l.m.n.o.p.q.r.s.t.u.v.w.x.y. z.ch.zh.gh.th", ".")
f = Split("Ç.È.Ó.Ï..Ý..Í.í.Ì.˜.á.ã.ä.æ..˜í æ.Ñ.Ó.Ê.Çæ.æ.æ.˜Ó.í.Ò..Ž.Û.Ë", ".")
k = Split(x, " ")
If InStr(1, x, " ") = 0 Then
ReDim k(0)
k(0) = x
End If
For i = 0 To UBound(k)
If Left(k(i), 1) = "o" Then
k(i) = "Çæ" + Mid(k(i), 2)
End If
For j = 0 To UBound(f)
k(i) = Replace(k(i), e(j), f(j))
Next j
Next i
x = ""
For i = 0 To UBound(k)
x = k(i) + " "
Next i
Text1 = x
End Sub

bobo2bebe
جمعه 05 آذر 1389, 20:44 عصر
تشکر می کنم ولی در vb6 کارنکرد و فقط یک جعبه خالی نشان داد در vb2008 هم خطای Statement is not valid in a namespace نشان می دهد مشکل کجاست ؟

pcdownload.bloghaa.com
جمعه 05 آذر 1389, 21:57 عصر
دو بار تست کردم هر دو بار هم جواب داد(روی vb6 ).

bobo2bebe
جمعه 05 آذر 1389, 22:55 عصر
دوست عزیز من از برنامه نویسی چیزی نمی دانم . میشه مراحل استفاده از کد بالا را برایم بنویسید یعنی vb6 را باز کردم بعدش چه کاری باید بکنم استادی کنید و راهنمایی کنید مرسی

pcdownload.bloghaa.com
شنبه 06 آذر 1389, 00:16 صبح
ابتدا ویژوال بیسیک 6 را اجرا کرده و standard exe را انتخاب کنید .
روی فرم یک تکست باکس و یک کامند باتن (Textbox و CommandButton) قرار دهید.
بعد روی کامند باتن دابل کلیک کرده و کد زیر را داخل آن بنویسید.


Dim f() As String
Dim e() As String
Dim k() As String
x = LCase(Text1)
e = Split("a.b.c.d.e.f.g.h.i.j.k.l.m.n.o.p.q.r.s.t.u.v.w.x.y. z.ch.zh.gh.th", ".")
f = Split("Ç.È.Ó.Ï..Ý..Í.í.Ì.˜.á.ã.ä.æ..˜í æ.Ñ.Ó.Ê.Çæ.æ.æ.˜Ó.í.Ò..Ž.Û.Ë", ".")
k = Split(x, " ")
If InStr(1, x, " ") = 0 Then
ReDim k(0)
k(0) = x
End If
For i = 0 To UBound(k)
If Left(k(i), 1) = "o" Then
k(i) = "Çæ" + Mid(k(i), 2)
End If
For j = 0 To UBound(f)
k(i) = Replace(k(i), e(j), f(j))
Next j
Next i
x = ""
For i = 0 To UBound(k)
x = k(i) + " "
Next i
Text1 = x

سپس برنامه را اجرا کنید و روی کامند باتن کلیک کنید.
برای مثال روی تکست باکس نوشته text1 که به تکست1 تبدیل خواهد شد.

bobo2bebe
شنبه 06 آذر 1389, 08:40 صبح
دوست عزیز بسیار ممنون .
برنامه کارمی کند ولی حروف فارسی قابل خواندن نیست بعنوان نمونه حرف الف بصورت حرف آ انگلیسی که بالایش دونقطه وجود دارد دیده می شود در داخل کدها هم نمیتوانم حروف فارسی تایپ کنم . چکار باید بکنم ؟

_behnam_
شنبه 06 آذر 1389, 11:58 صبح
دوست عزیز بسیار ممنون .
برنامه کارمی کند ولی حروف فارسی قابل خواندن نیست بعنوان نمونه حرف الف بصورت حرف آ انگلیسی که بالایش دونقطه وجود دارد دیده می شود در داخل کدها هم نمیتوانم حروف فارسی تایپ کنم . چکار باید بکنم ؟
دوست عزیز شما خودتون باید حروف فارسی رو از اول تایپ کنی

pcdownload.bloghaa.com
شنبه 06 آذر 1389, 12:53 عصر
برای فارسی نوشتن در بین کد های ویژوال بیسیک 6 ابتدا به منوی tools و سپس
option رفته.در پنجره باز شده به تب Editor Formatبروید و در قسمت فونت Courier New (arabic
را انتخاب کرده و پنجره را OK کنید.

bobo2bebe
دوشنبه 08 آذر 1389, 00:26 صبح
متاسفانه بین کدها نمی توانم فارسی بنویسم هنوز این مشکل حل نشد