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

شاطر | 
 

 كيفية معرفة عدد الكلمات في المتغير

استعرض الموضوع السابق استعرض الموضوع التالي اذهب الى الأسفل 
كاتب الموضوعرسالة
عابر سبيل



المساهمات : 83
تاريخ التسجيل : 14/03/2013

مُساهمةموضوع: كيفية معرفة عدد الكلمات في المتغير   الإثنين مارس 25, 2013 3:55 am

السلام عليكم اخواني
هذا التساؤل من طرف الاخ صفا
السلام عليكم
وكل عام وأنتم بألف خير
بعيد الأضحى المبارك
عسى أن تكون كل أيامكم عيدا
اليوم لدي عدة أسئلة
1 - أريد أن أعرف كم كلمة موجودة في الاسترنج (يعني مثل الوورد : scratch )
2- أريد وضع كل كلمة في مصفوفة
يعني:
الكود:
كود:
words = {"safa","Tree","Play"}
بدون أن يكون هناك فواصل ( سبيس بار) في الكلمات

هل من طريقة؟؟؟
وجدت الحل
هيثم يقول
طيب وضح لنا كيف حللت المطلوب .. حتى نستفيد من خبراتك
بالتوفيق
صفا يجيب
مبدئيا
الكود:
كود:
text = " "..text
strFind = " ";
result = DLL.CallFunction("CountSubString.dll", "CountSubString", "\""..text.."\",\""..strFind.."\"", DLL_RETURN_TYPE_INTEGER, DLL_CALL_STDCALL);
words = result
space = 0
words_all = {}
for x=1,words do
find_space = String.Find(text, " ", 1+space)
space = space+find_space
find_2space = String.Find(text, " ", find_space+1)
  if find_space == -1 then ----æÕá Çáì ÇáäåÇíÉ
  find = String.ReverseFind(text, " ")
  word_now = String.Mid(text, find, -1)
  num = Table.Count(words_all)
      if word_now ~= " " then
  Table.Insert(words_all, num+1, word_now) end
  elseif find_space ~= -1 then
  word_now = String.Mid(text, find_space, find_2space-find_space)
  num = Table.Count(words_all)
      if word_now ~= " " then
  Table.Insert(words_all, num+1, word_now) end
  end
end
يرد خالد علي
و أين الملف CountSubString.dll ؟؟؟

عموما سأعمل على وضع كود يستغنى عنه
لكن أرفق الملف ليستفيد الباقون
و إنتظر منى الكود

عموما أنت مستواك متقدم أخى safaalfulaij
لذلك إليك سيناريو العمل
السيناريو سيكون كالأتى
1- إقرأ المستند النصى إلى ريتش تكست
2- البحث عن المتغير الأول بالدالة
الكود:
كود:
RichText.FindText
عند العثور على أى سترينج مطابق للبحث فإن الأوتوبلاى تلقائيا يختزن ترتيب أول حرف و ترتيب آخر حرف فى جدول

3- عمل الحلقة
عند البحث التالى
فقط إجعل بداية البجث ترتيب المحرف الأخير
ليبحث بعد أول نتيجة
مع إضافة كل عنصر إلى جدول تنشئه أنت
ملحوضة
جدول = مصفوفة

4- يمكنك بعدها عد عناصر الجدول أو المصفوفة لتعرف تكرار سترنج فى نص

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

إستنادا إلى الحقيقة الثابتة
أصابع اليد الواحدة = 5
الفراغات بينها = 4 Very Happy
حسنا اليوم جبت حل أفضل (لأن السابق كان في مشاكل : Very Happy Very Happy )

الكود:
كود:
text = Input.GetText("Input1")--استحضار التكست
_yah = "\r\n";
yah = DLL.CallFunction("CountSubString.dll", "CountSubString", "\""..text.."\",\"".._yah.."\"", DLL_RETURN_TYPE_INTEGER, DLL_CALL_STDCALL);
--مسح كل الانترز
for x=1,yah do
text = String.Replace(text, "\r\n", " ")
end
text = " "..text.." "
strFind = " ";
spaces = DLL.CallFunction("CountSubString.dll", "CountSubString", "\""..text.."\",\""..strFind.."\"", DLL_RETURN_TYPE_INTEGER, DLL_CALL_STDCALL);
words = spaces+1
all_words = {}
when_last = 0
--وضع كل كلمة في الجدول
for x=1,spaces-1 do
first_space = String.Find(text, " ", when_last, false)
second_space = String.Find(text, " ",1+first_space, false)
when_last = second_space
word_p = String.Mid(text, first_space+1, second_space-(first_space+1))
max = Table.Count(all_words)
Table.Insert(all_words, max+1, word_p)
end
نراكم على خير
هيثم يقول صراحة قمة في الروعة
ولتكتمل الروعة المطلوب من الاخ صفا وضع الملف المفتوح المتعلق بهذا الاستفسار هنا
الرجوع الى أعلى الصفحة اذهب الى الأسفل
Khaled



المساهمات : 2
تاريخ التسجيل : 30/04/2013

مُساهمةموضوع: رد: كيفية معرفة عدد الكلمات في المتغير   الثلاثاء أبريل 30, 2013 7:11 pm

مع احترامی للاخوه، فی طریقه اسهل من هذا:

الكود:
txt = TextFile.ReadToString("C:\\MyFile.txt");
my_tbl = DelimitedStringToTable(txt, " ")

الفانکشن موجود فی هذا العنوان:
AutoPlay Media Studio 8\Gallery\Scripts\DelimitedStringFunctions.lua
الرجوع الى أعلى الصفحة اذهب الى الأسفل
 
كيفية معرفة عدد الكلمات في المتغير
استعرض الموضوع السابق استعرض الموضوع التالي الرجوع الى أعلى الصفحة 
صفحة 1 من اصل 1

صلاحيات هذا المنتدى:لاتستطيع الرد على المواضيع في هذا المنتدى
ams 4 arab :: منتدى الطلبات والاستفسارات-
انتقل الى: