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

كيف يمكن احصاء عدد كلمات

مغلق
بدأه mmm في 16 فبراير 2004 · 3 رد · 1,105 مشاهدة · في قواعد بيانات Oracle
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

والصلاة والسلام على رسول الله اما بعد

سؤال عاجل . . . ارجو من الاخوة الكرام المساعدة فيه جزاكم الله خيرا

نوع multi line كيف يمكن احصاء عدد الكلمات الموجودة داخل نص من

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

ولكم جزيل الشكر

احترامي لجميع الاخوة والاخوات والمشتركين في هذا المنتدى الرائع

#2
SQL> select length('Ali Ahmed') from dual;

LENGTH('ALIAHMED')
------------------
                 9

و شكرا

علي احمد

مبرمج اوراكل

aaab2000@hotmail.com

#3

اشكرك اخي

ولكن قصدي هو

ان اضع في داخل الفورم

text

ذا خاصية

multi line --- > yes

وان اضع

command button

وعند تشغيل البرنامج اكتب في داخل النص على سبيل المثال

عشر كلمات كل كلمة على سطر

وعند الضغط على

command button

يقوم بكتابة عدد الكلمات على

label

وليس عدد الاحرف

ارجو ان يكون التوضيح مفهوم

#4

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

الا انه يوجد به مشكلة وهي عند كتابة كلمة والضغط بعد ذلك على مفتاح انتر وكتابة كلمة اخرى

فانه يعتبرها كلمة واحدة الا اذا وضعت فراغ عند كل كبسة انتر

وهذا هو الكود ارجو من الاخوة ابتداء ارائهم فيه

ملاحظات عن البرنامج الصغير

بعض الكلمات لا تحسب كلمة مثل " في - من - الى- عن - على

وبالتالي وضعط متغير ليجعل المستخدم يضع عدد الاحرف التي لا يريد المستخدم ان يحسبها

DECLARE

ASCI NUMBER; --TO GET ASCII CODE FOR EACH CHAR

NO_WORDS NUMBER; ----TO GET NUMBER OF WORDS IN TEXT

CHECK_WORDS NUMBER; --TO CHECK IF WORD CONTANC 2 CHAR OR MORE

CYP VARCHAR2(10) := NULL;

X NUMBER;

cancel_char NUMBER;

BEGIN

cancel_char:=3; --NUMBER OF CHAR YOU WANT CANCEL

NO_WORDS:=0;

CHECK_WORDS:=0;

FOR I IN 1..LENGTH(:TE) LOOP --RETURN NUMBER OF CHAR IN TEXT

ASCI:=ASCII(SUBSTR(:TE,I ,1)); --RETURN JUST 1 CHAR FROM TEXT

IF ASCI=32 THEN --CHECK IF ASCII(SAPCE)=32

IF CHECK_WORDS>cancel_char THEN --CHECK IF NUMBER OF CHAR'S MORE THAN 2 CHAR

NO_WORDS:=NO_WORDS+1; --RETURN NUMBER WORDS

CHECK_WORDS:=0;

END IF;

ELSE

CHECK_WORDS:=CHECK_WORDS+1; --COUNT ANY CHAR'S TO CHECK THE LESS THAN 2 CHAR

END IF;

END LOOP;

IF CHECK_WORDS>cancel_char THEN

NO_WORDS:=NO_WORDS+1;

END IF;

end;

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

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

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

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

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

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