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

مشاهدة النسخة كاملة : كيف اجعل الملفات في الlistbox مرتبة حسب الحروف الابجدية


رانيا حسن
19-10-2016, 12:19 PM
السلام عليكم ورحمة الله وبركاته
بعد التحية و السلام اود ان اطرح على حضرانك سؤال
هو كيف ان اجعل الملفات الموجودة في الlistbox او tree تكون بعد تشغيل البرنامج مرتبة حسب الحروف الابجدية
اي اذا كان لدي كتاب القانون وفيه اجزاء من الاول -----الى العاشر
غتد كتابة اسم الكتاب مثلاُ
قانون 1 او قانون الجزء 1 و القانون جزء 2 و القانون جزء 3 وهكذا انتهاء بالجزء العاشر القانون الجزء 10 عند تشغيل البرنامج سوف يعمل القانون الجزء 1 ثم القانون الجزء 10 ثم القانون الجزء 3 وهكذا ويكون الترتيب غالبا مبعثرا ً فهل من حل لهذه المشكلة جزاكم الله خير

ياسرهتهت
19-10-2016, 07:44 PM
السلام عليكم ورحمة الله وبركاته
بعد التحية و السلام اود ان اطرح على حضرانك سؤال
هو كيف ان اجعل الملفات الموجودة في الlistbox او tree تكون بعد تشغيل البرنامج مرتبة حسب الحروف الابجدية
اي اذا كان لدي كتاب القانون وفيه اجزاء من الاول -----الى العاشر
غتد كتابة اسم الكتاب مثلاُ
قانون 1 او قانون الجزء 1 و القانون جزء 2 و القانون جزء 3 وهكذا انتهاء بالجزء العاشر القانون الجزء 10 عند تشغيل البرنامج سوف يعمل القانون الجزء 1 ثم القانون الجزء 10 ثم القانون الجزء 3 وهكذا ويكون الترتيب غالبا مبعثرا ً فهل من حل لهذه المشكلة جزاكم الله خير

بسم الله الرحمن الرحيم
هذا هو الخيار المسئول عن الترتيب

http://f.top4top.net/p_292vm171.gif


وحتي تكون مرتبة نكتب
قانون001 او قانون الجزء 001 و القانون جزء 002 و القانون جزء 003 وهكذا انتهاء بالجزء العاشر القانون الجزء 010
اي نضع صفرين على اليسار بنفس الطريقة


موفق بإذن الله ... لك مني أجمل تحية .

ثامر أبو بلقيس
29-10-2016, 12:53 PM
بسم الله الرحمن الرحيم
هذا هو الخيار المسئول عن الترتيب

http://f.top4top.net/p_292vm171.gif


وحتي تكون مرتبة نكتب
قانون001 او قانون الجزء 001 و القانون جزء 002 و القانون جزء 003 وهكذا انتهاء بالجزء العاشر القانون الجزء 010
اي نضع صفرين على اليسار بنفس الطريقة


موفق بإذن الله ... لك مني أجمل تحية .

شـــكرا أستاذ ياســــر:abc_138:

ثامر أبو بلقيس
29-10-2016, 01:51 PM
بسم الله الرحمن الرحيم
الحمدلله والصلاة والسلام على رسول الله وعلى آله وصحبه أجمعين
السلام عليكم ورحمة الله وبركاته

بافتراض أن هذه الملفات موجودة في مجلد Docs و افترضتها ملفات نصية و يمكن من بعد تعميمها على أي لاحقة
http://store1.up-00.com/2016-10/1477740988161.jpg

نريــد عند استدعائها إلى عنصــر ListBox تستدعى مرتبــــة

نجرب الاتي :
نكتب في global functions
function alphanumsort(o)
local function padnum(d) local dec, n = string.match(d, "(%.?)0*(.+)")
return #dec > 0 and ("%.12f"):format(d) or ("%s%03d%s"):format(dec, #n, n) end
table.sort(o, function(a,b)
return tostring(a):gsub("%.?%d+",padnum)..("%3d"):format(#b)
< tostring(b):gsub("%.?%d+",padnum)..("%3d"):format(#a) end)
return o
end

ثم نأتي لأمر الاستدعاء نكتبه في حدث الصفحة on show أو في زر

ListBox.DeleteItem("ListBox1", LB_ALLITEMS);
x = File.Find("AutoPlay\\Docs\\", "*.txt", false, false, nil, nil);
local o = x
for k,v in ipairs(alphanumsort(o)) do
y = String.SplitPath(v)
ListBox.AddItem("ListBox1", y.Filename, v);
end



بالتوفيـــق

ياسرهتهت
29-10-2016, 02:39 PM
بسم الله الرحمن الرحيم
الحمدلله والصلاة والسلام على رسول الله وعلى آله وصحبه أجمعين
السلام عليكم ورحمة الله وبركاته

بافتراض أن هذه الملفات موجودة في مجلد Docs و افترضتها ملفات نصية و يمكن من بعد تعميمها على أي لاحقة
http://store1.up-00.com/2016-10/1477740988161.jpg

نريــد عند استدعائها إلى عنصــر ListBox تستدعى مرتبــــة

نجرب الاتي :
نكتب في global functions
function alphanumsort(o)
local function padnum(d) local dec, n = string.match(d, "(%.?)0*(.+)")
return #dec > 0 and ("%.12f"):format(d) or ("%s%03d%s"):format(dec, #n, n) end
table.sort(o, function(a,b)
return tostring(a):gsub("%.?%d+",padnum)..("%3d"):format(#b)
< tostring(b):gsub("%.?%d+",padnum)..("%3d"):format(#a) end)
return o
end

ثم نأتي لأمر الاستدعاء نكتبه في حدث الصفحة on show أو في زر

ListBox.DeleteItem("ListBox1", LB_ALLITEMS);
x = File.Find("AutoPlay\\Docs\\", "*.txt", false, false, nil, nil);
local o = x
for k,v in ipairs(alphanumsort(o)) do
y = String.SplitPath(v)
ListBox.AddItem("ListBox1", y.Filename, v);
end



بالتوفيـــق
-----------------------------------------------
بسم الله الرحمن الرحيم
:abc_050: شكر لك استاذنا كالعادة كود حصري ومميز :abc_050:

function alphanumsort(o)
local function padnum(d) local dec, n = string.match(d, "(%.?)0*(.+)")
return #dec > 0 and ("%.12f"):format(d) or ("%s%03d%s"):format(dec, #n, n) end
table.sort(o, function(a,b)
return tostring(a):gsub("%.?%d+",padnum)..("%3d"):format(#b)
< tostring(b):gsub("%.?%d+",padnum)..("%3d"):format(#a) end)
return o
end

من اكواد ابوبلفيس الحصرية :abc_051:

http://www.abc4web.net/vb/images/icons/icon31.gif http://www.abc4web.net/vb/images/icons/icon31.gif http://www.abc4web.net/vb/images/icons/icon31.gif مجرد محاولة فهم الكود تسبب الدوران http://www.abc4web.net/vb/images/icons/icon31.gif http://www.abc4web.net/vb/images/icons/icon31.gif http://www.abc4web.net/vb/images/icons/icon31.gif

كل الشكر والتقدير لشخصكم الكريم زادك الله علماً ومعرفة ومدك بالصحة والعافية
:abc_138::abc_138::abc_138:

ثامر أبو بلقيس
29-10-2016, 03:51 PM
السلام عليكم ورحمة الله وبركاته
سعدت بكلماتك أستاذ ياســر وبوصول المعلومة لك
ومن الجيد الرجوع للموضـــوع
http://www.abc4web.net/vb/showpost.php?p=273996&postcount=10

امل الماضي
29-10-2016, 10:27 PM
جزاكم الله خيرا

رانيا حسن
08-11-2016, 11:09 AM
شكرا جزيلا ---- هل يمكن تتطبيق الاكواد على عنصر tree