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

مساعده في تقسيم الاسم

مغلق
بدأه a7msd في 14 يونيو 2003 · 8 رد · 802 مشاهدة · في مراجعة المواضيع
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

عندي كود اخذته من احد الزملاء لتقيسم الاسم الرباعي الى اربعة اجزاء

ولكن عندي مشكلة احتمال ان لايكون الاسم رباعي فيعطيني خطاء في الكود

كيف اعدل على الكود بحيث يفسم الاسم الرباعي اوالثلاثي الى الاسم الاول والثاني والثالث والرابع

Dim Continue As Boolean

Continue = True

Dim X, Y, m As Integer

X = 0

Y = 0

m = 0

'arabic_name Capture First Name-------------------------------------------

Do While Continue = True

X = X + 1

If Mid(name_a, X, 1) = Space(1) Then

Continue = False

Else

Continue = True

'MsgBox (Mid(FullName, X, 1))

End If

Loop

Y = X

name1_a = Mid(name_a, 1, X - 1)

'Capture Second Name-------------------------------------------

Continue = True

Do While Continue = True

Y = Y + 1

If Mid(name_a, Y, 1) = Space(1) Then

Continue = False

Else

Continue = True

'MsgBox (Mid(FullName, Y, 1))

End If

Loop

m = Y

father_a = Mid(name_a, X + 1, Y - X)

'Capture Third Name-------------------------------------------

Continue = True

Do While Continue = True

m = m + 1

If Mid(name_a, m, 1) = Space(1) Then

Continue = False

Else

Continue = True

'MsgBox (Mid(FullName, Z, 1))

End If

Loop

grand_a = Mid(name_a, Y + 1, m - Y)

'Capture Family Name-------------------------------------------

family_a = Mid(name_a, m + 1, 10)

#2

جرب هذا الكود احسن من الكود الطويل

Private Sub Command0_Click()

Dim str As String

Dim x() As String

str = "a b c d"

x() = Split(str, " ")

For Each y In x()

MsgBox y

Next

End Sub

#3

الحبيب moody1616 حفظه الله

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

أخي إذا كان الاسم مركب مثل عبد العزيز فكيف الطريقة وليس عبدالعزيز

أحيانا يكون هناك مسافة بين الاسمين المركبين

مع الشكر

محبك/ أبو زيد

#4

اهلا اخي ابو زيد :

ليس هناك حل لان البرمجه عباره عن اوامر تنفذها وليس لها عقل مثل عقولنا تفكر

#5

أخي الحبيب moody1616 حفظك الله

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

بل لا بد من الحل لأن العقل هو الذي يضع الضوابط فمثلا الاسماء المركبة من العبودية بمجرد وضع شرط فهذه ممكنة على المبرمج أما الاسماء المركبة الأخرى فلابد أيضا لها حل عند المبرمجين

بما أن لديك معرفة بالبرمجة .. فنحن ننتظر

محبك/أبو زيد

#6

شكرا على هذ الرد

ولكن يوجد خط في الكود عند قيمة y الرسالة

microsoft visiual baaic

For Each controal variable on arrays must be variant

#7

السلام عليكم

هذا الكود قديم وأعتقد أنه موجود بالمنتدى ولكن لعلمي بوجوده في أحد برامجي كان الوصول إليه اسرع .

Function LaborNameSplit(InName As String, PartNo As Byte) As String

  Dim FullName, Part, Part2, LPart As String

  Dim pos, Pos2  As Byte

  Dim K As Integer

  

  LaborNameSplit = ""

  FullName = RTrim(LTrim(Nz(InName))) & " "

  

  Do While True

    K = K + 1

    pos = InStr(1, FullName, " ")

    Part = Left(FullName, pos)

    If Part = "آل " Or Part = "عبد " Or Part = "عبدرب " Or _

       Part = "Al " Or Part = "Abdul " Then

      pos = InStr(pos + 1, FullName, " ")

    Else

      Pos2 = InStr(pos + 1, FullName, " ")

      If Pos2 > 0 Then

        Part2 = Mid(FullName, pos + 1, Pos2 - pos)

        Select Case Part2

          Case "الله ","الحق ", "الإسلام ", "الدين "

            pos = Pos2

        End Select

      End If

    End If

    

    If pos = 0 Then

      Select Case PartNo

        Case Is < 4

          If (K - 1) = PartNo Then

            LaborNameSplit = ""

          End If

        Case Else

          LaborNameSplit = LPart

      End Select

      Exit Function

    End If

    

    Select Case K

      Case PartNo

        LaborNameSplit = Left(FullName, pos - 1)

    End Select

    LPart = Left(FullName, pos - 1)

    FullName = Mid(FullName, pos + 1, Len(FullName))

  Loop

End Function

الدالة تتطلب ترتيب الإسم المطلوب الأول أو الثاني وهكذا . يعني للحصول على الأسماء الأربعة لابد أن تستدعي الدالة أربع مرات كل مرة برقم مختلف .

لا أعرف لماذا لا تظهر الكلمات العربية .. عموما هي حسب ترتيبها من اليسار إلى اليمين كالتالي :

"آل "

"عبد "

"عبدرب "

"الله "

"الحق "

"الإسلام "

"الدين "

تحياتي .

#8

الاخ ابو هادي تم تعديل الكود المرفق من ناحيه عدم ظهور اللغة العربية

هل التعديل صحيح ؟

تحياتي

صورة
صورة

حسابي في الفيس بوك
http://goo.gl/XIzwL

حسابي في تويتر
http://goo.gl/6p4e3

 

 
 
#9

السلام عليكم

أخي الكريم فيصل الحربي .. لا بأس اختلف الترتيب فقط ولكنه لا يؤثر ، فقط الكلمات جميعها يجب أن لا يسبقها مسافة وأن يأتي بعدها مسافة واحدة فقط .

شكري وتحياتي لكم .

هذا الموضوع مغلق.

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