السلام عليكم
لو عندي مربع نص او مذكرة .. واريد ان احسب عدد الكلمات او عدد الاحرف
فما هي الدوال التي تختص في ذلك
تحياتي لكم
السلام عليكم
لو عندي مربع نص او مذكرة .. واريد ان احسب عدد الكلمات او عدد الاحرف
فما هي الدوال التي تختص في ذلك
تحياتي لكم
تم تعديل هذه المشاركة بواسطة طلال حامد في 29 ديسمبر 2007 في 18:00
مشكور اخي الكريم
طيب شلون لو ابي احسب عدد الكلمات وما ابي يحسبلي المسافات كانها حروف
تحياتي
السلام عليكم
أخي طلال بالنسبة لعدد الحروف لنص ما فكما تفضل أخي مفرج بواسطة الدالة Len
لكن بالنسبة لعدد الكلمات لأي سلسلة نصية أنت بحاجة لوظيفة أو مايسمى بــ Function
تقوم بحساب عدد الكلمات المدخلة مستبعدة المسافات لا حظ الكود
Public Function WordCount(strString As String) Dim LastWord As Long strString = Trim(strString) LastWord = 1 Do While LastWord <> 0 LastWord = InStr(LastWord + 1, strString, " ") WordCount = WordCount + 1 Loop End Function
لاحظ المتغير المسمى LastWord - ولاحظ الحلقة المشروطة ولكي تستدعي الوظيفة السابقة مثلا برسالة تكتب الكود التالي
MsgBox "عدد الكلمات في الحقل : " & WordCount(Nz(Me.txt))
وهذا مثال على ذلك ........ موفق أخي الفاضل ....... أخوك إكسيرالحياة
تم تعديل هذه المشاركة بواسطة ekseer في 29 ديسمبر 2007 في 21:15
كلمة شكر لا تكفي في حق هذا المنتدى الرائع
جزاكم الله خير واثابكم جنات النعيم
بارك الله فيك اخي اكسير على هذا المثال الجميل والشرح الأجمل
هذا مثال بسيط قد قمت بعمله سابقا لأحد الأخوة في المنتدى عندما سأل عن عدد الحروف في حقل مذكره واتمنى ان يفي بالغرض وستجدون الشرح على النموذج
بسم الله الرحمن الرحيم
تمت الإجابة على الموضوع
إدارة الفريق العربي للبرمجة
السلام عليكم
Public Function WordCount(strString As String) Dim LastWord As Long strString = Trim(strString) LastWord = 1 Do While LastWord <> 0 LastWord = InStr(LastWord + 1, strString, " ") WordCount = WordCount + 1 Loop End Function
اخي الكريم اكسير ممكن تشرحلي هذي الوظيفة ، بصراحه ما قرت استوعبها عدل ( اخوك مبتدئ :( )
تحياتي لك
السلام عليكم .. أخي الكريم حاضر .. هذا شرح ممل للوظيفة
----------------------------------------------------
السطر الاول
العبارة Public Function تعني أنها وظيفة عامة
الكلمة WordCount هذا اسم للوظيفة
العبارة (strString As String) هذا يعني متغير من نوع نص ( سلسة نصية ) وهو مايمثل مربع النص
-------------------------
السطر Dim LastWord As Long يعني الاعلان عن متغير رقمي يمثل تسلسل الكلمة
-------------------------
السطر strString = Trim(strString) لاحظ الدالة Trim ... أي أحذف الفراغ يمين وشمال السلسلة النصية
-------------------------
السطر ..... LastWord = 1 ........ اسناد الرقم واحد للمتغير الرقمي
-------------------------
السطر Do While LastWord <> 0 ........... ابدأ اللوب إذا كان المتغير الرقمي لايساوي صفرا واذا كان صفرا توقف
-------------------------
السطر LastWord = InStr(LastWord + 1, strString, " ") ........... هنا بيت القصيد أنظر الدالة InStr مهمتها
هو حساب الفراغ في السلسلة النصية واسنادها للمتغير الرقمي الذي هو LastWord وكل فراغ بكلمة
-------------------------
السطر WordCount = WordCount + 1 معناه أعمل التسلسل اللازم مادام الشرط صحيح و Loop يعني استمر
---------------------------
أنتهى ..... موفق أخي الكريم
EKSEER
تم تعديل هذه المشاركة بواسطة ekseer في 31 ديسمبر 2007 في 00:14
جزاك الله خير اخي الكريم
ادري انا تعبتك معاي :) بس ياريت تقولي شنو مهمة علامات التنصيص " " في الدالة
وتحياتي لك يا بطل
هذي سلمك الله تمثل الفراغ الذي بين كل كلمة والتي تليها
شكرا اخي اكسير
جزاك الله خير
هذا الموضوع مغلق.
المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية
جارٍ التحقق من المتواجدين…