السلام عليكم ورحمة الله وبركاته
في هذا الدرس السريع ...... نحول اي نص الى مجموعة من الكلمات
و المقصود هنا هو ان نحول نص موجود في عنصر ما مثلا
label....input.....paragraph......file.txt.....ric htext.......
تحويل النص الى مجموعة من ليبالات label منفصلة
ممكن استخدامها في برامج تعليمية مثلا قصد السحب و الافلات مثلا
او تفريقها لاعطاء البعض منها مما يحقق شرطا معينا لونا او حجما خاصا
( مثال ...... فيه جملة .....نريد الكلمات التي تنتمي لحروف الحر ان تكون كبيرة )
ضع انبوت و الذي ستكتب فيه ما تشاء
Input1
ثم في زر نضع الكود التالي
من اجل المسح ...مع العلم اننا جعلناه يحفظ قيمة con وهي عدد الكلمات و الا فاجعلها عدد كبير
طبعا الكود التالي خاص بترتيب الكلمات من اليسار الى اليمين
و للجمل البسيطة و ليست الطويلة
لانه سيضع كل الكلمات في سطر واحد
لذلك يحتاج الى تهذيب
.....فللجمل العربية يتطلب ان نجعل الكود يعيد ترتيب النص عكسيا----
------ و للجمل الطويلة نحتاج ان نجعله يحدد عدد الكلمات لكل سطر ثم يعود لوضع الباقي في سطر اخر و هكذا------
وهنا ياتي دوركم يا اخوة
تحياتي


في هذا الدرس السريع ...... نحول اي نص الى مجموعة من الكلمات
و المقصود هنا هو ان نحول نص موجود في عنصر ما مثلا
label....input.....paragraph......file.txt.....ric htext.......
تحويل النص الى مجموعة من ليبالات label منفصلة
ممكن استخدامها في برامج تعليمية مثلا قصد السحب و الافلات مثلا
او تفريقها لاعطاء البعض منها مما يحقق شرطا معينا لونا او حجما خاصا
( مثال ...... فيه جملة .....نريد الكلمات التي تنتمي لحروف الحر ان تكون كبيرة )
ضع انبوت و الذي ستكتب فيه ما تشاء
Input1
ثم في زر نضع الكود التالي
كود PHP:
t = Input.GetText("Input1");
if t == "" then
Dialog.Message("طريق الاحتراف","انت لم تكتب شبئا");
else
----------------تحويل النص الى كلمات-----------
s={}; e=1;
for w in string.gmatch(t,"[^%s]+") do
Table.Insert(s,e,w);
e=e+1;
end
con = Table.Count(s);
------------------------converti en label ---------------
tLabelProperties = {};
tLabelProperties.FontName = "Arial";
tLabelProperties.FontScript = 1;
tLabelProperties.FontSize = 24;
----------------------------------------------
tLabelProperties.Y = 140;
tLabelProperties.X = 200;
tLabelProperties.Text = s[1];
Page.CreateObject(OBJECT_LABEL, "B1", tLabelProperties);
Label.SetProperties("B1", {ColorNormal = Math.HexColorToNumber("000000")});
-------
for r = 2 , con do
tLabelProperties.Text = s[r];
tLabelProperties.X = Label.GetPos("B"..r-1).X + Label.GetSize("B"..r-1).Width + 5;
tLabelProperties.Y = 140;
Page.CreateObject(OBJECT_LABEL, "B"..r, tLabelProperties);
Label.SetProperties("B"..r, {ColorNormal = Math.HexColorToNumber("000000")});
end ;
---------------انتهى كود التحويل---------
end
من اجل المسح ...مع العلم اننا جعلناه يحفظ قيمة con وهي عدد الكلمات و الا فاجعلها عدد كبير
كود PHP:
for i = 1,con do
Page.DeleteObject("B"..i);
end
و للجمل البسيطة و ليست الطويلة
لانه سيضع كل الكلمات في سطر واحد
لذلك يحتاج الى تهذيب
.....فللجمل العربية يتطلب ان نجعل الكود يعيد ترتيب النص عكسيا----
------ و للجمل الطويلة نحتاج ان نجعله يحدد عدد الكلمات لكل سطر ثم يعود لوضع الباقي في سطر اخر و هكذا------
وهنا ياتي دوركم يا اخوة
تحياتي



تعليق