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

كود لتوحيد طريقة كتابة النص العربي لبحث ادق

مغلق
بدأه ROOF2000 في 6 يناير 2002 · 4 رد · 684 مشاهدة · في مراجعة المواضيع
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع
Public Property Get rooftools53(mycontrol As Control) As String
   'دالة متطورة تحذف الفراغات المتجاورة وتستبدل بعض الحروف _
المتشابهة بحروف بديلة لتسهيل البحث وعدم الالتباس في طريقة _
كتابة تلك الحروف بالعربية
Dim x As Integer, x2 As String, x3 As String, x4 As String
Dim xstr As Integer
x4 = "0123456789"
x4 = x4 & "د": x4 = x4 & "ذ": x4 = x4 & "ا": x4 = x4 & "أ"
x4 = x4 & "إ": x4 = x4 & "لأ": x4 = x4 & "لإ": x4 = x4 & "لا"
x4 = x4 & "آ": x4 = x4 & "ى": x4 = x4 & "ز": x4 = x4 & "ر"
x4 = x4 & "و": x4 = x4 & "ؤ": x4 = x4 & "ة": x4 = x4 & "ء"
x4 = x4 & ".": x4 = x4 & "-": x4 = x4 & "+": x4 = x4 & "/"
x4 = x4 & "": x4 = x4 & " "
123:
For x = 1 To Len(mycontrol)
x2 = Mid(mycontrol, x, 1)
If Asc(x2) = 201 Then x2 = "ه ": xstr = 1 '"ة"
If Asc(x2) = 195 Then x2 = "ا ": xstr = 1 '"أ"
If Asc(x2) = 197 Then x2 = "ا ": xstr = 1 '"إ"
If Asc(x2) = 194 Then x2 = "ا ": xstr = 1 '"آ"
'لان الحرف  لا  مكون من ل و ا
If (x2 = " " And InStrB(x4, x3) <> 0) And x3 <> "ل" Then
x2 = ""
Else
x3 = x2
End If
rooftools53 = Trim(rooftools53) & Trim(x2)
Next x
'لاعادة الكرة مرة اخرى اذا تم تبديل احد الحروف السابقة
If xstr = 1 Then mycontrol = rooftools53: rooftools53 = "": xstr = 0: GoTo 123
End Property
#2

داله مهمة فعلا (i)

يعطيك الف عافية (f)

#3

بسم الله الرحمن الرحيم

شكرا لك أخى الفاضل ROOF2000

بالفعل هى متطورة و مفيدة جدا كثيرا ما كنت احتاجها .. و لكن للأسف لا أعلم كيف بمكننى الأستفادة منها ..

ففى اى مكان يمكن ان اضعها ؟

و كيف يمكن تطبيقها على قاعدة البيانات كلها ؟

خالص شكرى و تقديرى

تقبل تحيات

أخــــــBengaــــــوك

قال أبن القيم : أكثروا من الخير فينتشر .. و أقلوا من الشر فيندثر ..

#4

الأخ ROOF2000

لقد حاولت تشغيل الدالة ولكنها معمولة كخاصية Property وأظن أنها تحتاج الى وحدة نمطية للفئة Class Module وعندما جعلتها دالة عادية :

Public Function rooftools53(mycontrol As Control) As String

أشتغلت ولكن لم استفد منها سوى إزالة المسافات بين الكلمات :( فهل لي أن أعرف مافائدة جعلها كخاصية .

آمل أن توضح كيفية الاستفادة منها وكيفية الاستفادة من القيم العائدة منها .

وفقك الله وسددك .

ولك تحياتي

#5

إن وضعها كخاصية ليس له اي علاقة بعمل الدالة ويمكن ان تغيرها من خاصية الى Function عادية ويمكن استدعائها كالتالي

تضع نص الدالة في وحدة نمطية وتستدعيها كالتالي

من مربع النص ومن خاصية بعد التحديث

Private Sub hname3_AfterUpdate()

Me.hname3 = rooftools53(hname3)

End Sub

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

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

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…