تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[مثال] حروف تصنيف ديوي العشري المتقطعة (ي م ط ) هل لها حل ؟!
#1
إستطعت والحمد لله توليد رقم التصنيف و بقي حروف التصنيف قلت أستفسر منكم ممكن تفيدوني

حروف تصنيف ديوي العشري له قاعدة محددة وهو أنه مكون من ثلاثة حروف مقطعة
(أ ب و) أو (م ك ر) أو أي شئ

القاعدة تقول أن هذه الحروف الثلاثة = الحرف الأول من إسم عائلة المؤلف بدون (ال) + الحرف الأول من الإسم الأول للمؤلف بدون (ال ) + الحرف الأول من إسم الكتاب بدون (ال)

مثلا إسم الكتاب : "الفريق العربي للبرمجة" و المؤلف : محمد بن حسن القاسم
إسم عائلة المؤلف = القاسم الحرف الاول بدون (ال) = ق
الإسم الاول للمؤلف = محمد الحرف الاول بدون (ال) = م
الإسم الاول للكتاب = الفريق الحرف الاول بدون (ال) = ف

اذا المفروض حروف التصنيف متقطعة
( ق م ف )





و شكرا للجميع


الملفات المرفقة
.rar   tasiiif.rar (الحجم : 71.93 ك ب / التحميلات : 51)
الرد }}}
تم الشكر بواسطة:
#2
.....

محاولة (قد يكون لها عيوب)

ضع Button وإثنان TextBox وواحد Label بنفس التريب الذي موضوعك
كود :
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    Dim t1, t2, t3 As Char

    Dim s() As String = Me.TextBox2.Text.Split
    t1 = If(s(s.Length - 1).StartsWith("ال"), s(s.Length - 1)(2), s(s.Length - 1)(0))
    t2 = If(Me.TextBox2.Text.StartsWith("ال"), Me.TextBox2.Text(2), Me.TextBox2.Text(0))
    t3 = If(Me.TextBox1.Text.StartsWith("ال"), Me.TextBox1.Text(2), Me.TextBox1.Text(0))

    Me.Label1.Text = t1 & " " & t2 & " " & t3
End Sub

.....
الرد }}}
تم الشكر بواسطة: raoe-041 , المهنا
#3
(10-07-14, 07:29 AM)vbnet كتب : .....

محاولة (قد يكون لها عيوب)

ضع Button وإثنان TextBox وواحد Label بنفس التريب الذي موضوعك
كود :
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    Dim t1, t2, t3 As Char

    Dim s() As String = Me.TextBox2.Text.Split
    t1 = If(s(s.Length - 1).StartsWith("ال"), s(s.Length - 1)(2), s(s.Length - 1)(0))
    t2 = If(Me.TextBox2.Text.StartsWith("ال"), Me.TextBox2.Text(2), Me.TextBox2.Text(0))
    t3 = If(Me.TextBox1.Text.StartsWith("ال"), Me.TextBox1.Text(2), Me.TextBox1.Text(0))

    Me.Label1.Text = t1 & " " & t2 & " " & t3
End Sub

.....

عيوووووب مين قال لا عيب جربتها رائعة
اظن إذا طال الاسم يطلع خطأ ؟صح هذا ما تقصده

جاري اكتشاف الاخطأء وعرض كل الاحتمالات التي من الممكن أن تحصل

ولك خالص الشكر والدعاء

وش العيوب اللى تتوقعها تصير
الرد }}}
تم الشكر بواسطة:
#4
.....

العيوب المتوقعة :
عندما تكون (ال) من جسم الاسم
عندما يكون اسم العائلة مركب من كلمتين فسيتم اعتبار الجزء الأخير

(وهذه مشكلة)

.....
الرد }}}
تم الشكر بواسطة: المهنا
#5
(10-07-14, 07:55 AM)vbnet كتب : .....

العيوب المتوقعة :
عندما تكون (ال) من جسم الاسم
عندما يكون اسم العائلة مركب من كلمتين فسيتم اعتبار الجزء الأخير

(وهذه مشكلة)

.....

لاكتشاف الأخطاء الممكنة
قمت بعمل التالي وضعت 2 كمبو بوكس
حملت الاول بالف عنوان للكتاب وحملت الثاني بألف إسم مؤلف
ربط الاندكس فيما بينهم بحيث يتساوان و ربطتهما بالتكست 1 & 2
وقعد احرك بالاسهم بسرعة طلع عندي عدد 5 أخطاء تايم إرور برمجية

حاولت يمين يسار اكتشفت أن الخطأ في حالة
إدخال إسم المؤلف أو الكتاب + مسافة قبل أو بعد

هل ممكن أن أجد كود يقيد إدخالات المستخدم عند الاضافة
بحيث يضيف الاسم بدون المسافة قبله او بعده

مثلا

إقتباس : - محمد أحمد عبد الله -
يضيفها هكذا
إقتباس :محمد حسن عبد الله

بدون المسافة قبل أو بعد ال
الرد }}}
تم الشكر بواسطة:
#6
.....

استخدم الأمر Trim لحذف المسافات التي قبل وبعد النص مع كل TextBox (وليس لها علاقة بالمسافة التي في الوسط) كالتالي
كود :
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    Dim t1, t2, t3 As Char

    Dim s() As String = (Me.TextBox2.Text.Trim).Split
    t1 = If(s(s.Length - 1).StartsWith("ال"), s(s.Length - 1)(2), s(s.Length - 1)(0))
    t2 = If((Me.TextBox2.Text.Trim).StartsWith("ال"), (Me.TextBox2.Text.Trim)(2), (Me.TextBox2.Text.Trim)(0))
    t3 = If((Me.TextBox1.Text.Trim).StartsWith("ال"), (Me.TextBox1.Text.Trim)(2), (Me.TextBox1.Text.Trim)(0))

    Me.Label1.Text = t1 & " " & t2 & " " & t3
End Sub

.....
الرد }}}
تم الشكر بواسطة: المهنا
#7
الف شكر وجعلها الله في ميزان حسناتك يوم لا ينفع ما ولا بنون
الرد }}}
تم الشكر بواسطة:
#8
اسف لو تعبتك معي
أريد تجاهل القيمة ( أ إ ) واستبدالها بـ القيمة ( ا )


بحيث أنا مجبر أكتب اسم المؤلف أحمد و لانه راح يختار الحرف (أ) فهو لا يعد ضمن التصنيف لان التصيف الف بدون همزة ( ا )

حاولت ووضعت 3 تكستات كل تكست له قيمة واذا كانت بـ (أ إ) يقوم باستبداهلها بـ( ا ) ثم يجمعلها في تكست واحد

لكن لم تنجح ابدا
الرد }}}
تم الشكر بواسطة:
#9
.....

بإمكانك استخدام دالة خاصة بتبديل الأحرف التي تريد مثل الدالة التالية (ويمكن إضافة "ي" مع "ى" وأيضاً "ة" مع "ه")
كود :
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    Me.TextBox1.Text = MyLetterParse(Me.TextBox1.Text)
End Sub

Private Function MyLetterParse(ByVal txt As String) As String
    txt = txt.Replace("ـ", "") ' حذف المد بين الأحرف
    txt = txt.Replace("أ", "ا")
    txt = txt.Replace("إ", "ا")
    txt = txt.Replace("آ", "ا")
    Return txt
End Function

رأيت برامج تستخدم أسلوب إضافة عمود مطبق عليه مثل هذه الدالة خاص بالبحث ولا يظهر ويكون بجانب العمود التي تظهر بياناته للمستخدم،
ويتم تخزين البيانات فيها بالشكل التالي:
Column1: أحمـــــــــد
SrchCol1: احمد

وهنا يظهر للمستخدم البيانات من العمود Column1 في حين يتم تطبيق البحث على العمود SrchCol1 بعد تطبيق الدالة السابقة في الحفظ والبحث
أي أن العمود SrchCol1 مخصص للبحث فقط.

.....
الرد }}}
تم الشكر بواسطة:
#10
الف مليار شكر

ولا يحرمك الثواب والاجر
الرد }}}
تم الشكر بواسطة:



التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم