اذهب الي المحتوي
أوفيسنا

الردود الموصى بها

قام بنشر

السلام عليكم ورحمة الله تعالى وبركاته
-------------------------------------------------
ما سوف اتناوله هنا ان شاء الله فى موضوعى هذا طرح الاكواد بالامثلة التى تساعد المبتدئين امثالى مع الشرح المبسط قدر الامكان
لاننى مع الحكمة التى تقول " القارئ كالحالب والسامع كالشارب " 
وهنا انا احورها لتصبح
صانع المثال كالحالب ومحلل المثال كالشارب
فصانع المثال يفكر ويتعب ويبذل الجهد لصنع مثاله ام المحلل الذى يتلقاه جاهزا يستمتع بتناول الافكار والتعلم ببساطة دون عناء
ولاننى لا اقوى ولا استطيع الحفظ ولكن بمجرد فهمى للكود داخل مثال عملى تتسارع وتتوالى الافكار بعكس التعامل النظرى
اقدم هذه السلسلة من الطروحات البسيطة بالطريقةالتى  احب انا اتناولها وخى بالنسبة لى اكثر طريقة تساعدنى على الفهم 

اولا سلسلة دوال التعامل مع النصوص
وبما اننا سنتناول تلك الدوال اولا لنتعلم الاعلان عن المتغير النصى داخل محرر الاكواد
String:  هو متغير نصي يتسع هذا المتغير النصي إلى 2 جيجا بايت  و كل حرف يشغل 1 بايت

 نحجر متغير لاسناد قيم نصيه له
نسمى هذا المتغير مثلا   >------>>    StrJudy 
يتم الاعلان عنه كلاتى

Dim StrJudy As String

وبعد ذلك نعطي قيمة لهذا المتغير باسناد نص
- اما مباشرة بكتابة النص مباشرة داخل محرر الاكواد
- او  من خلال     >------>>    اى عنصر فى النموذج        |     او حتى من خلال الدالة   >------>>   DLookup    لجلب القيمة النصية من جدول او استعلام

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

StrJudy = "I Love officena.net"

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

1		Dim StrJudy As String
2			StrJudy = "I Love officena.net"
3				MsgBox (StrJudy)

--المثـــــــــــ(العمــــــــــــــــلى)ـــــــــــــــال-----------------------
 

001 - اعلان عن متغير نصي.mdb

  • Like 1
قام بنشر

المثــــــــــــــــال الثانى
ـــــــــــــــــــــــــــــــــــــ
الدالة  ( len )
تستخدم لمعرفة طول النص (عدد الاحرف)
طبعا هذه الداله تقوم بعد الاحرف وكذلك الفراغات (المسافات ) بين الاحرف

وتستخدم كالتالى

Len("النص المراد معرفة طوله")

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

1    Dim StrJudy As String
2        StrJudy = "I Love officena.net"
3            MsgBox (Len(StrJudy))

--المثـــــــــــ(العمــــــــــــــــلى)ـــــــــــــــال-----------------------
 

002 - len - طول النص .mdb

  • Like 2
قام بنشر (معدل)

المثــــــــــــــــال الثالث
 ـــــــــــــــــــــــــــــــــــــ
الدالة  ( Trim)
تستخدم لحذف الفراغات ( المسافات ) الموجودة على يمين ويسار النص

وتستخدم كالتالى

Trim(StrJudy)

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

1    Dim StrJudy As String
2        StrJudy = "                             I Love officena.net           "
3            MsgBox (Trim(StrJudy))

لاحظ معى المسافات قبل وبعد النص

"                             I Love officena.net           "

 

 

--المثـــــــــــ(العمــــــــــــــــلى)ـــــــــــــــال-----------------------

003 - Trim- حذف مسافات يمين ويسار النص.mdb

تم تعديل بواسطه ابا جودى
  • Like 3
  • Thanks 1
قام بنشر

المثــــــــــــــــال الرابع
 ـــــــــــــــــــــــــــــــــــــ
الدالة  ( RTrim)
تستخدم لحذف الفراغات ( المسافات ) الموجودة على يمين النص

وتستخدم كالتالى

RTrim(StrJudy)

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

1    Dim StrJudy As String
2        StrJudy = "                              I Love officena.net                                             "
3            MsgBox (Trim(StrJudy))

لاحظ معى المسافات قبل وبعد النص

"                              I Love officena.net                                             "

 

 

الدالة  ( LTrim)
تستخدم لحذف الفراغات ( المسافات ) الموجودة على يسار النص   -  عكس السابقة 

--المثـــــــــــ(العمــــــــــــــــلى)ـــــــــــــــال-----------------------

 

 

004 - LTrim & RTrim - حذف مسافات يمين ويسار النص.mdb

  • Like 3
قام بنشر

جزيل الشكر اخي الكريم @ابا جودى

نتمنى عليك المزيد والمزيد 

فهذه الامور نستفيد منها الكثير اثناء تصميم البرامج

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

قام بنشر

المثــــــــــــــــال الخامس
 ـــــــــــــــــــــــــــــــــــــ
الدالة  ( UCase)
تستخدم هذه الداله لتحويل حروف النص المرر لها الى حروف كبيرة

وتستخدم كالتالى

(UCase(StrJudy))

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

Private Sub BtTestU_Click()
1    Dim StrJudy As String
2        StrJudy = "I LoVe ofFiceNa.net"
3            MsgBox (UCase(StrJudy))
End Sub

لاحظ معى حالة احرف النص    ---  يحتوى على احرف طبيرى واخرى صغيرة 

I LoVe ofFiceNa.net

 

الدالة  ( LCase)
تستخدم هذه الداله لتحويل حروف النص المرر لها الى حروف صغيرة   -  عكس السابقة 

 --المثـــــــــــ(العمــــــــــــــــلى)ـــــــــــــــال-----------------------

 

005- UCase & LCase - الحروف الكبيرة والصغيرة.mdb

  • Like 2
  • Thanks 1
قام بنشر

المثــــــــــــــــال السادس
 ـــــــــــــــــــــــــــــــــــــ
الدالة  ( Left )
تستخدم هذه الداله لاستخلاص جزء من الجهه اليسرى من النص 
ونمرر لها وسيطين
الوسيط الاول وهو  source  وهو النص الاصلى
الوسيط الثانى وهو length  هو طول النص الذى تريد استخلاصه من النص الاصلى من الجهه اليسرى من النص

وتستخدم كالتالى

Left(StrJudy, 6)

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

1    Dim StrJudy As String
2        StrJudy = "I Love (officena.net)"
3            MsgBox (Left(StrJudy, 6))

النتيجة  ---   I Love

 

العكــــــــــس

الدالة  ( Right )
تستخدم هذه الداله لاستخلاص جزء من الجهه اليمني من النص 
ونمرر لها وسيطين
الوسيط الاول وهو  source  وهو النص الاصلى
الوسيط الثانى وهو length  هو طول النص الذى تريد استخلاصه من النص الاصلى من الجهه اليمني من النص

وتستخدم كالتالى

Right(StrJudy, 14)

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

1    Dim StrJudy As String
2        StrJudy = "I Love (officena.net)"
3            MsgBox (Right(StrJudy, 14))

النتيجة   ---  (officena.net)

 

-----------------------------------------

الطريقة الاخيرة وهى الدالة   ( Mid )
عن طريق هذه الداله ممكن استخلاص نص من البداية التى تحددها والطول الذى تحدده من النص الاصلى

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

وتستخدم كالتالى

Mid(StrJudy, 9, 8)

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

 
1    Dim StrJudy As String
2        StrJudy = "I Love (officena.net)"
3            MsgBox (Mid(StrJudy, 9, 8))

النتيجة   ----       officena.net

 

 --المثـــــــــــ(العمــــــــــــــــلى)ـــــــــــــــال-----------------------

006- Left & Right & MId - استخلاص جزء من النص .mdb

  • Like 1
قام بنشر

المثــــــــــــــــال السابع
 ـــــــــــــــــــــــــــــــــــــ
الدالة  ( StrReverse )
تقوم هذه الداله بعكس النص المرر لها
وتستخدم كالتالى

StrReverse(StrJudy)

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

1    Dim StrJudy As String
2        StrJudy = "officena"
3            MsgBox (StrReverse(StrJudy))

النتيجة   ----       aneciffo

:yes: ممكن تشغل خيالك وتستخدمها مع الحماية 

  --المثـــــــــــ(العمــــــــــــــــلى)ـــــــــــــــال-----------------------

007- StrReverse - عكس النص.mdb

  • Like 1
قام بنشر

باشمهندسنا @ابا جودى

فتح الله عليك وبارك الله فيك وفي صحتك

انا رأي ان تستمر مثل هذه الدروس المفيدة جدا لمثل حالي وارجو ان لا تقل عزيمتك او تتراجع في الاستمرار .

جزاك الله خيرا

  • Like 1
قام بنشر

نتمنى على الادارة الموقرة تثبيت هذا المنشور

لكي يسهل للاعضاء الرجوع اليه بسهولة 

نظرا للفائدة التي نحصلها منه 

ربنا يقويك اخوي @ابا جودى

ونطمح بالمزيد 

ويا حبذا لو شرحت لنا function

مع مثال عملي 

قام بنشر

function لاى شئ ؟

حدد ماذ تريد اعط مثال والله المستعان

12 ساعات مضت, عبد اللطيف سلوم said:

ويا حبذا لو شرحت لنا function

مع مثال عملي 

 

  • Like 1
قام بنشر
1 دقيقه مضت, ابا جودى said:

function لاى شئ ؟

حدد ماذ تريد اعط مثال والله المستعان

 

لما يكون عندي نموذج مؤلف من 5 حقول

واريد ان اعملها اجبارية 

بمعنى لا يتم حفظ النموذج والمعلومات الا عند تعبئة كافة الحقول

واذا حاولنا الحفظ تظهر رسالة مثلا حقل الاسم مطلوب

حقل الهاتف مطلوب ........ وهكذا

حسب معلوماتي انهم بحاج ةلعمل  function

قام بنشر

شوف ان شاء الله اقوم بتحضير مثال بشرح واف قدر المستطاع

ولكن تذكر لكل شيخ كما يقال طريقه 

يمكن دائما الوصول الى النتائج بعدة طرق ولكن كل يسلك درب خياله

  • Like 1
قام بنشر

Private Function Confirmation() As Boolean
    If IsNull(Me.txtName) Then
    MsgBox "هذا الحقل مطلوب!", vbCritical, "ÍÞá ãØáæÈ"
    Me.txtName.SetFocus
    Confirmation = False
    Exit Function
    End If
    
    If IsNull(Me.txtmobile) Then
    MsgBox "íÌÈ ÅÏÎÇá ÑÞã ÇáãæÈÇíá!", vbCritical, "ÍÞá ãØáæÈ"
    Me.txtmobile.SetFocus
    Confirmation = False
    Exit Function
 Else
        Confirmation = True
    End If

End Function
 

3 دقائق مضت, عبد اللطيف سلوم said:

Private Function Confirmation() As Boolean
    If IsNull(Me.txtName) Then
    MsgBox "هذا الحقل مطلوب!", vbCritical, "ÍÞá ãØáæÈ"
    Me.txtName.SetFocus
    Confirmation = False
    Exit Function
    End If
    
    If IsNull(Me.txtmobile) Then
    MsgBox "íÌÈ ÅÏÎÇá ÑÞã ÇáãæÈÇíá!", vbCritical, "ÍÞá ãØáæÈ"
    Me.txtmobile.SetFocus
    Confirmation = False
    Exit Function
 Else
        Confirmation = True
    End If

End Function
 

 

2019-05-18_232220.png

قام بنشر
في ١٨‏/١‏/٢٠١٣ at 12:16, ابوخليل said:

يمكن التحكم بالمدخلات بأكثر من طريقة

انظر هذا مثال شامل للحروف العربية والاجنبية والارقام لأخونا الاستاذ القدير يوسف معطي

تحديد نوع المدخلات في مربع النص.rar

  • Like 1
قام بنشر (معدل)

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

نضع الكود الاتى فى موديول حتى نقدر على استخدامه من اى مكانه

' As Boolean
' Boolean: ياخذ نوعين من القيم True  و  False (طوله 2 بيت )


Public Function FileExist() As Boolean
'strPath = "full path\File Name.Extension"
strPath = "D:\My Work\officena.mdb" ' مسار الملف كاملا متبوع بامتداد الملف
If Dir(strPath) <> Empty Then FileExist = False Else: FileExist = True ' هنا نمرر المسار على دالة Dir  ليتعرف البرنامج عليه ان كان موجود ام لا
End Function

وللتجربة والتأكد نمرره الى صندوق الرسائل كالاتى 

MsgBox(FileExist)

 

تم تعديل بواسطه ابا جودى

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

زائر
اضف رد علي هذا الموضوع....

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • اضف...

Important Information