المساعد الشخصي الرقمي

مشاهدة النسخة كاملة : التعامل مع الاسم الثلاثي


ثامر أبو بلقيس
30-09-2014, 01:44 PM
السلام عليكم ورحمة الله وبركاته
كثيرة هي الدول التي تتعامل مع الاسم المركب من ثلاثة أسماء " الثلاثي "

ولنكتب مثلا في أنبوت 1 "بلقيس ثامر إبراهيم"

1 - لحذف الاسم الثالث و ترك الأول و الثاني
tamer =Input.GetText("Input1")
-------------------------------------------------------------
f1= String.Mid(tamer,1,String.ReverseFind(tamer, " ", false));
---------------------------------------------------------------------
Dialog.Message("Notice",f1);

2 - ترك الاسم الأول و حذف الثاني و الثالث
tamer =Input.GetText("Input1")
-------------------------------------------------------------
f1= String.Mid(tamer,1,String.Find(tamer, " ", false));
---------------------------------------------------------------------
Dialog.Message("Notice",f1);

3 - حذف الأول و ترك الثاني و الثالث
tamer =Input.GetText("Input1")
-------------------------------------------------------------
f1= String.Mid(tamer,String.Find(tamer, " ", false),String.Length(tamer));
---------------------------------------------------------------------
Dialog.Message("Notice",f1);

4 - حذف الأول و الثاني و ترك الثالث فقط
tamer =Input.GetText("Input1")
-------------------------------------------------------------
f1= String.Mid(tamer,String.ReverseFind(tamer, " ", false),String.Length(tamer));
---------------------------------------------------------------------
Dialog.Message("Notice",f1);

بالـتأكيد عمل الان سهل بقيت حالة
وهي حذف الاول و الثالث و استخلاص الثاني
شارك في كتابة الكود
سلام :abc_138:

abohmam
30-09-2014, 05:52 PM
وعليكم السلام ورحمة الله وبركاته

بارك الله فيك أخى أبا بلقيس

جزاك الله خيرا على جهودك الرائعة

أبو يوسف
30-09-2014, 07:07 PM
بارك الله فيك اخانا ثامر على جهودك المتواصلة :abc_152:

فرح صالحي
01-10-2014, 02:52 PM
السلام عليكم ورحمة الله وبركاته
محاولتي الاولى
tamer =Input.GetText("Input1")
f1= String.Mid(tamer,String.,1,Find(tamer, " ", false),String.Length(tamer));
Dialog.Message("Notice",f1);
والسلام عليكم ورحمة الله وبركاته

ثامر أبو بلقيس
01-10-2014, 02:58 PM
و عليكم السلام ورحمة الله
الكود عند كتابته يعلن عن وجود أخطاء في البناء
حاول صياغته من جديد
بارك الله فيك :abc_138:

فرح صالحي
05-10-2014, 02:36 PM
السلام عليكم ورحمة الله وبركاته
حاولت العمل على ملف مفتوح لكن تبين لي ان الكود الاول والرابع لا يعطيان النتائج المرجوة
مع علمك انني مازلت ادبو فانني لا استطيع صياغة كود اذا كان الذي سأحاول ابناء عليه غير صحيح .
عيدك مبارك وكل عام وانت بخير انت وكل الاسرة
والسلام عليكم ورحمة الله وبركاته

ثامر أبو بلقيس
05-10-2014, 03:09 PM
عيد مبارك :abc_138: لن يعطيا نتائج مرجوة لكونك ربما استعملت اسم مكون من اسمين مثال : عبد الله
فهنا ستحتسب 2 لأن الفراغ يعتبر في حالتنا هذه مسافة بين اسمين
سأدرج الكود المخصص للاسم الاوسط عيد مبارك :abc_138:

ثامر أبو بلقيس
05-10-2014, 03:22 PM
tamer =Input.GetText("Input1")
-------------------------------------------------------------
f1= String.Mid(tamer,String.Find(tamer, " ", false),String.ReverseFind(tamer, " ", false)-String.Find(tamer, " ", false));
---------------------------------------------------------------------
Dialog.Message("Notice",f1);

فرح صالحي
05-10-2014, 05:34 PM
هذا هو الذي جربت عليه الاكواد قبل ردك الاخير
http://www.gulfup.com/?ApU5O8
اعرف ان الاحطاء مني
موفق بإذن الله :abc_152:... لك مني أجمل تحية .

ثامر أبو بلقيس
05-10-2014, 06:45 PM
السلام عليكم ورحمة الله وبركاته
شكرا على الملف أخي من بين الاخطاء المدرجة في الملف
مثلا : حذف الاسم الاول و ترك الثاني و الثالث
-------------------------------------------------------------
أذكرك بمايلي :
لمعرفة موقع الفراغ الأول من الاسم كاملا
نحتاج إلى مصدر النص وليكن :
r = "منتدى طريق الاحتراف"

------------------------------
للبحث عن موقع الفراغ الاول و هو معبر تماما لبداية الكلمة الثانية
c = String.Find(r, " ", 1, false);
لو تعلن عن قيمة c في رسالة تجدها في مثالنا تساوي 6
لو تحسبها تجدها كذلك
-----------------------------------------------------------
نحن نريد الان استبعاد الاسم الاول و الاعلان عن الثاني و الثالث
أي من الرقم 6 و المعبر عنه بــ c إلى غاية طول كل الجملة أي 19 بفراغاتها
نحتاج لمعرفة هذا الطول :
b = String.Length(r);
اذن b هو طول كل الجملة و لو تعلن عليه في رسالة تجده 19
------------------------------------------------------------------------------------
ماذا نريد؟
نريد من 6 إلى 19
أي منc إلي b وهو معبر عن بداية الاسم الثاني إلى غاية آخر حرف في الجملة
نستعمل الدالة String.Mid هذه الدالة نحدد لها المصدر ثم البداية ثم النهاية
المصدر : r
البداية : c
النهاية : b
فيصبح الكود :
result = String.Mid(r, c, b);


هناااا سيتم حذف الاول و ترك ما بعده
ليصبح الكود كاملا بهذا الشكل :
r = "منتدى طريق الاحتراف"
c = String.Find(r, " ", 1, false);
b = String.Length(r);
result = String.Mid(r, c, b);
Dialog.Message("Notice", result);

السلام عليكم :abc_138:

عظيمه
26-02-2016, 04:16 AM
شـكــ وبارك الله فيك ـــرا لك ... لك مني أجمل تحية .
موفق بإذن الله ... لك مني أجمل تحية .
وكل التحية لكل عضو واخ كريم يعلمني حرف او يفهمني اي شيئ وحتي لو صغير فله الشكر والاحترام
وكل الاحترام لمنتدي العلم والمعلمين الافاضل