الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

سؤال جدأ مبتدئ ...وجزاكم الله خيرا

بدأه طالبة حاسب2 في 15 مايو 2008 · 12 رد · 1,097 مشاهدة · في Microsoft Visual Basic.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ورحمة الله وبركاته

طبعا عندي مشروع لمادة التعريب جدا سهل ولكن لم أستطع التعامل مع

string and charcters

أريده أن يقرا النص حرف حرف ويحولها ما يقابلها بالعربية في لوحة المفاتيح

يعني السؤال:

كيف أعرف متغير نص وأحوله لعدة متغيرات حروف

وشكرا جزيلا

#2

السلام عليكم

اولا نرجو توضيح السؤال وارفاق القليل من الكود حتى نفهم المطلوب بالضبط

وللفائدة

للتعامل مع النصوص كاحرف يمكن استخدام mid

dim x as string

x="abc"

dim y as string

y= mid(x,1,1)

نحصل على y = a

y= mid(x,2,1)

نحصل على y = b

وهكذا

#3

شكرا لك أخي على إهتمامك

أنا جدا مبتدئة في هذه اللغة ولم تشترط علينا الدكتورة أي لغة برمجة المهم أن الموضوع في مادة التعريب

هذا هو كودي

Public Class Form1

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

Dim myS As String

myS = InputBox("Enter your value")

Dim length As Integer

length = Len(myS)

Dim chararray() As Char = myS.ToCharArray //وجدت هذه الدالة في موقع أجنبي وهي تحول من نص ل حروف وتضعها في مصفوفة

Dim result(length) As Char

Dim res As Integer

res = 0

For count = 0 To length + 1

If chararray(count) = "a" Then

result(count) = "¬"

End If

If chararray(count) = "b" Then

result(count) = "éں"

End If

If chararray(count) = "c" Then

result(count) = "›"

End If

Next

//يعني المشروع بإختصار يأخذ النص الإنجليزي ويحوله ما يقابله من حروف عربية على لوحة المفاتيح

//المشكلة لدي الآن في إخراج النتائج

// وجزاك الله خير الجزاء

#4
اقتباس
المشكلة لدي الآن في إخراج النتائج

وأين المشكلة بالضبط ، أي كيف تريدين إخراج النتائج ؟

سبحان الله وبحمده ... سبحان الله العظيم

#5

كودي هذا يحول و يخرج النتائج ل حرف واحد في

msgbox

والمطلوب كل النص يتحول ويخرج بأي شكل من الأشكال

#6

السلام عليكم

هذا الكود هو خاص بالدوت نت

للتحويل الى نص فقط اضيفي الجملة التالية

Dim outstr As String

outstr = result

MsgBox(outstr)

#7

السلام عليكم ورحمة الله

أخي في الله الكود يعطيني خطأ عند أول

IF

ورسالة الخطأ هي:

index out of range

Index was outside the bounds of the array.

يعني أن رقم المصفوفة خطأ خارج مجال المصفوفة

#8

المشكلة في length +1 ، المفروض أن تكون length -1

سبحان الله وبحمده ... سبحان الله العظيم

#9

وبدلاً من استخدام صيغة الشرط IF ، لماذا لا تستخدمين Select Case ، كالمثال التالي :

			Select Case chararray(count)
				Case "a" : result(count) = "¬"
				Case "b" : result(count) = "¬"
				Case "c" : result(count) = "›"
				Case "d" : result(count) = "¬"
				Case "e" : result(count) = "¬"
			End Select

سبحان الله وبحمده ... سبحان الله العظيم

#10

شكرا أخي الكود يعمل بدون رسائل أخطاء ولكن

Dim outstr As String

outstr = result

MsgBox(outstr)

تخرج لي فارغة بدون نتائج التحويل

وشكرا جزيلا

#11

السلام عليكم

يمكن كتابة الكود بطريقة اسهل كما يلي

   Dim myS As String
		myS = InputBox("Enter your value")
		Dim sEng As String = "abcd"
		Dim sAra As String = "ابتث"
		For index As Integer = 0 To myS.Length - 1
			myS = Replace(myS, sEng(index), sAra(index), , , CompareMethod.Text)
   Next

ويجب وضع الاحرف الانجليزية في sEng

ووضع ما يقابلها بالعربية او اي شيء آخر في sAra

تم تعديل هذه المشاركة بواسطة TareqVB في 16 مايو 2008 في 10:32

#12

غربية ، الكود يعمل جيدًا لدي . الكود بعد التعديل يبدو كالتالي :

		Dim myS As String = InputBox("Enter your value")

		Dim length As Integer = Len(myS)

		Dim chararray() As Char = myS.ToCharArray


		Dim result(length) As Char

		For count As Integer = 0 To length - 1

			Select Case chararray(count)
				Case "a" : result(count) = "¬"
				Case "b" : result(count) = "‚ں"
				Case "c" : result(count) = "›"
			End Select

		Next

		MsgBox(result)

تم تعديل هذه المشاركة بواسطة المبرمج أحمد في 16 مايو 2008 في 10:37 — السبب: عمل شوية تعديلات واختصارات في الكود

سبحان الله وبحمده ... سبحان الله العظيم

#13

:ty:

الكود يعمل بالشكل المطلوب

جزاكم الله خير الجزاء على هذا المجهود الرائع

مواضيع مشابهة