بسم الله الرحمن الرحيم
السلام عليكم ورحمة الله وبركاته
اليوم تريد استخلاص أسطر من عنصر RichText مكتوب فيه نص عربي
باستعمال عنصر ListBox التي سنكتب فيها في item data الخاصة بها أرقام الأسطر التي سنتوقف عندها
اذا كتبنا في الخلية الأولى 5 مثلا فإننا سنتخلص الأسطر 1 - 2 - 3 - 4 ونتوقف عند الخمسة لأنها ستكون استخلاص
جديد مع أخذ بعين الاعتبار السطر الفارغ بأنه سطر
-------------------------------------------------------------------------
فعل الاضافة Memory
ازرع في global functions
-----------------------------------------------
أدرج في مشروعك RichText أكتب فيه نص عربي
-----------------------------------------------------
أضف عنصر ListBox في item data رقم السطر الذي ترغب توقف الاستخلاص عنده
--------------------------------
في عنصر ListBox وفي الحدث on select
أكتب :
-----------------------------------------------------------------------
وهذه طريقة أخرى لاستخلاص السطر بدون ااستعمال ListBox كوسيط
السلام عليكم ورحمة الله وبركاته
اليوم تريد استخلاص أسطر من عنصر RichText مكتوب فيه نص عربي
باستعمال عنصر ListBox التي سنكتب فيها في item data الخاصة بها أرقام الأسطر التي سنتوقف عندها
اذا كتبنا في الخلية الأولى 5 مثلا فإننا سنتخلص الأسطر 1 - 2 - 3 - 4 ونتوقف عند الخمسة لأنها ستكون استخلاص
جديد مع أخذ بعين الاعتبار السطر الفارغ بأنه سطر
-------------------------------------------------------------------------
فعل الاضافة Memory
ازرع في global functions
كود PHP:
function EM_GETLINE(HWND, nLine)
Buffer = Memory.Allocate(1024);
Memory.PutLong(Buffer, 1024);
DLL.CallFunction("User32.dll", "SendMessageA", HWND..", 196, "..nLine..", "..Buffer, DLL_RETURN_TYPE_LONG, DLL_CALL_STDCALL)
sLine = Memory.GetString(Buffer, -1, "Ascii");
Memory.Free(Buffer);
return sLine
end
أدرج في مشروعك RichText أكتب فيه نص عربي
-----------------------------------------------------
أضف عنصر ListBox في item data رقم السطر الذي ترغب توقف الاستخلاص عنده
--------------------------------
في عنصر ListBox وفي الحدث on select
أكتب :
كود PHP:
f = String.ToNumber(ListBox.GetSelected("ListBox1")[1]);
----
HWND = RichText.GetProperties("RichText1").WindowHandle;
---
f2 =""
for i =String.ToNumber( ListBox.GetItemData("ListBox1", f-1)),String.ToNumber(ListBox.GetItemData("ListBox1", f))-1 do
sLineText = EM_GETLINE(HWND, i-1)
f2=f2..sLineText.."\r\n"
end
result = Dialog.Message("Notice", f2);
وهذه طريقة أخرى لاستخلاص السطر بدون ااستعمال ListBox كوسيط
كود PHP:
my_table = {};
result = String.Replace(RichText.GetText("RichText1", false), " ", "ثامر2014", true);
for token in string.gmatch(result, "[^%s]+") do
e = #token/#token
Table.Insert(my_table, e, token);
e=e+1
belkiss =1+#(my_table)
end
------------- الرقم 1 هو دال مباشرة على السطر الاول غيره برقم السطر الذي تريد ----
FF=my_table[belkiss-1]
X = String.Replace(FF, "ثامر2014", " ", true);
---------------------------------------------------------------------------------
Dialog.Message("Notice",X);

تعليق