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

مشاهدة النسخة كاملة : طريقة استدعاء ملف mp3 في ليست بوكس بالتحديد item data


محمد بن أحمد أبو حذيفة
20-11-2016, 08:46 PM
بسم الله الرحمن الرحيم

الملف المرفق

اريد انا ان احدد اسم الملف (item text) بينما البرنامج ياخذ item data كما هو

الصورة تبين



http://b.top4top.net/p_324tuhg11.png

الملف المفتوح (http://up.top4top.net/downloadf-324o5i6e1-rar.html)

ياسرهتهت
21-11-2016, 03:53 AM
بسم الله الرحمن الرحيم

في ملفك المفتوح المرفق فقط احذف الكود الموجود On Preload
وضع هذا مكانه

folder = "AutoPlay\\Audio\\2"
if folder ~= "" then
tbSearchFiles = {"*.mp3"};
for index,type in pairs(tbSearchFiles) do
file = File.Find(folder, type, true, false, nil);
if file ~= nil and file ~="CANCEL" then
for j,file_path in pairs(file) do
tbFilePath = String.SplitPath(file_path);
sFile = tbFilePath.Filename..tbFilePath.Extension;
ListBox.SetItemData("ListBox1", j, file_path);
end

end
end
end



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

المـهاجر
21-11-2016, 08:05 AM
folder = "AutoPlay\\Audio\\2"
if folder ~= "" then
tbSearchFiles = {"*.mp3"};
for index,type in pairs(tbSearchFiles) do
file = File.Find(folder, type, true, false, nil);
if file ~= nil and file ~="CANCEL" then
for j,file_path in pairs(file) do
tbFilePath = String.SplitPath(file_path);
sFile = tbFilePath.Filename..tbFilePath.Extension;
ListBox.SetItemData("ListBox1", j, file_path);
end

end
end
end



:abc_094: :abc_095: :abc_094:

محمد بن أحمد أبو حذيفة
21-11-2016, 08:38 AM
بسم الله الرحمن الرحيم

في ملفك المفتوح المرفق فقط احذف الكود الموجود On Preload
وضع هذا مكانه

folder = "AutoPlay\\Audio\\2"
if folder ~= "" then
tbSearchFiles = {"*.mp3"};
for index,type in pairs(tbSearchFiles) do
file = File.Find(folder, type, true, false, nil);
if file ~= nil and file ~="CANCEL" then
for j,file_path in pairs(file) do
tbFilePath = String.SplitPath(file_path);
sFile = tbFilePath.Filename..tbFilePath.Extension;
ListBox.SetItemData("ListBox1", j, file_path);
end

end
end
end



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




باك الله فيك

لكن ماذا عن الكود الذي يعطي تتابع القراءة في الميداي بلاير لا يعمل

nCount ="";
nNext ="";
sFile ="";
nCount = ListBox.GetCount("ListBox1");
tSelected = ListBox.GetSelected("ListBox1");
if tSelected then
nSelected = tSelected[1];
nNext = nSelected;
if nNext < nCount then
nNext = nNext+1;
ListBox.SelectItem("ListBox1", nNext);
sFile = ListBox.GetItemData("ListBox1", nNext);
--MediaPlayer.Load("MediaPlayer", sFile);
MediaPlayer.Load("MediaPlayer", "AutoPlay\\Audio\\2\\"..sFile..".mp3");
Web.LoadURL("Web1", "AutoPlay\\Docs\\2\\"..sFile..".htm");
-- MediaPlayer.Play("MediaPlayer");
MediaPlayer.Load("MediaPlayer", "AutoPlay\\Audio\\2\\"..sFile..".mp3");
Web.LoadURL("Web1", "AutoPlay\\Docs\\2\\"..sFile..".mht");
elseif nNext == nCount then
ListBox.SelectItem("ListBox1", 1);
sFile = ListBox.GetItemData("ListBox1", 1);
--MediaPlayer.Load("MediaPlayer", sFile);
MediaPlayer.Load("MediaPlayer", "AutoPlay\\Audio\\2\\"..sFile..".mp3");
Web.LoadURL("Web1", "AutoPlay\\Docs\\2\\"..sFile..".mht");
MediaPlayer.Play("MediaPlayer");

end
end

ياسرهتهت
21-11-2016, 12:11 PM
باك الله فيك

لكن ماذا عن الكود الذي يعطي تتابع القراءة في الميداي بلاير لا يعمل

nCount ="";
nNext ="";
sFile ="";
nCount = ListBox.GetCount("ListBox1");
tSelected = ListBox.GetSelected("ListBox1");
if tSelected then
nSelected = tSelected[1];
nNext = nSelected;
if nNext < nCount then
nNext = nNext+1;
ListBox.SelectItem("ListBox1", nNext);
sFile = ListBox.GetItemData("ListBox1", nNext);
--MediaPlayer.Load("MediaPlayer", sFile);
MediaPlayer.Load("MediaPlayer", "AutoPlay\\Audio\\2\\"..sFile..".mp3");
Web.LoadURL("Web1", "AutoPlay\\Docs\\2\\"..sFile..".htm");
-- MediaPlayer.Play("MediaPlayer");
MediaPlayer.Load("MediaPlayer", "AutoPlay\\Audio\\2\\"..sFile..".mp3");
Web.LoadURL("Web1", "AutoPlay\\Docs\\2\\"..sFile..".mht");
elseif nNext == nCount then
ListBox.SelectItem("ListBox1", 1);
sFile = ListBox.GetItemData("ListBox1", 1);
--MediaPlayer.Load("MediaPlayer", sFile);
MediaPlayer.Load("MediaPlayer", "AutoPlay\\Audio\\2\\"..sFile..".mp3");
Web.LoadURL("Web1", "AutoPlay\\Docs\\2\\"..sFile..".mht");
MediaPlayer.Play("MediaPlayer");

end
end

-----------------------------------------------

بسم الله الرحمن الرحيم

اخي محمد
جرب هذا الملف
http://up.top4top.net/downloadf-3251tkxr1-rar.html

يعتمد في استدعاء الملفات على الاندكس الخاص باليست بكس
ويوفر القرائة المتتالية في الميديا بلير

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

ياسرهتهت
21-11-2016, 12:25 PM
:abc_094: :abc_095: :abc_094:

-----------------------------
:abc_025:مرحباً بك استاذ / المهاجر

اكيد الكود مش عاجبك http://www.abc4web.net/vb/images/icons/icon9.png ويحتوي على اخطاء

http://www.abc4web.net/vb/images/icons/icon3.png انتظر منك التوجيه والتصحيح والتعديل http://www.abc4web.net/vb/images/icons/icon_z.gif


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

المـهاجر
21-11-2016, 03:34 PM
-----------------------------
:abc_025:مرحباً بك استاذ / المهاجر

اكيد الكود مش عاجبك http://www.abc4web.net/vb/images/icons/icon9.png ويحتوي على اخطاء

http://www.abc4web.net/vb/images/icons/icon3.png انتظر منك التوجيه والتصحيح والتعديل http://www.abc4web.net/vb/images/icons/icon_z.gif


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


folder = "AutoPlay\\Audio\\2"
if folder ~= "" then
tbSearchFiles = {"*.mp3"};
for index,type in pairs(tbSearchFiles) do
file = File.Find(folder, type, true, false, nil);
if file ~= nil and file ~="CANCEL" then
for j,file_path in pairs(file) do
tbFilePath = String.SplitPath(file_path);
sFile = tbFilePath.Filename..tbFilePath.Extension;
ListBox.SetItemData("ListBox1", j, file_path);
end

end
end
end


تعديل بسيط
ليفى بمتطلبات السؤال الأصلى للسائل
و ازالة الشروط و الحلقات الزائدة
و ادخال الكود لمرحلة إمكانية التحقيق الفعلى
file = File.Find(_SourceFolder.."\\AutoPlay\\Audio\\2", "*.mp3", true, false, nil, nil);
ListBox.DeleteItem("ListBox1", -1);
if file then
for j,file_path in pairs(file) do
tbFilePath = String.SplitPath(file_path);
sFile = tbFilePath.Filename;
ListBox.AddItem("ListBox1", sFile, file_path);
end
end
لا اعتقد ان إستخدام الدالة ListBox.SetItemData له أى فائدة هنا
الصحيح هنا ان تستخدم ListBox.AddItem و تعبئ التيكست و الداتا معا
:abc_152:

ياسرهتهت
21-11-2016, 04:34 PM
تعديل بسيط
ليفى بمتطلبات السؤال الأصلى للسائل
و ازالة الشروط و الحلقات الزائدة
و ادخال الكود لمرحلة إمكانية التحقيق الفعلى
file = File.Find(_SourceFolder.."\\AutoPlay\\Audio\\2", "*.mp3", true, false, nil, nil);
ListBox.DeleteItem("ListBox1", -1);
if file then
for j,file_path in pairs(file) do
tbFilePath = String.SplitPath(file_path);
sFile = tbFilePath.Filename;
ListBox.AddItem("ListBox1", sFile, file_path);
end
end
لا اعتقد ان إستخدام الدالة ListBox.SetItemData له أى فائدة هنا
الصحيح هنا ان تستخدم ListBox.AddItem و تعبئ التيكست و الداتا معا
:abc_152:

------------------------------------
بسم الله الرحمن الرحيم
استاذ المهاجر
انا استخدمت الدالهListBox.SetItemData
لان اخونا محمد يريد ان تبقي التكست كما هو كاتب في ListBox
لا يريد اسماء الملفات في المجلد
يريد جلب الاسمItemDataلل ليستخدمه في التشغيل فقط

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

المـهاجر
21-11-2016, 05:58 PM
------------------------------------
بسم الله الرحمن الرحيم
استاذ المهاجر
انا استخدمت الدالهListBox.SetItemData
لان اخونا محمد يريد ان تبقي التكست كما هو كاتب في ListBox
لا يريد اسماء الملفات في المجلد
يريد جلب الاسمItemDataلل ليستخدمه في التشغيل فقط

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


شكرا استاذ ياسر
يبدو ان هناك مشكل فى نسختى من الأوتوبلاى تعيق استخدام ListBox.SetItem
تم طرح استفسار

محمد بن أحمد أبو حذيفة
21-11-2016, 07:23 PM
-----------------------------------------------

بسم الله الرحمن الرحيم

اخي محمد
جرب هذا الملف
http://up.top4top.net/downloadf-3251tkxr1-rar.html

يعتمد في استدعاء الملفات على الاندكس الخاص باليست بكس
ويوفر القرائة المتتالية في الميديا بلير

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




بارك الله فيك لكن الملف لا يقرا كل الملفات متتالية بل يتوقف عند اتلملف 4 او 5

ياسرهتهت
21-11-2016, 09:32 PM
بارك الله فيك لكن الملف لا يقرا كل الملفات متتالية بل يتوقف عند اتلملف 4 او 5
----
بسم الله الرحمن الرحيم

اخي محمد الخطأ الوحيد الذي يوقف التتالي هو اختلاف اسم الملف
انا اعتمدت على الاسماء من الصورة المرفقة

http://b.top4top.net/p_324tuhg11.png


يعني من 1 الي 9 مكتوبة باضافة 0 قبل الرقم وباقي الارقام مكتوبة عادي

تم تعديل الملف هذا رابط الملف المعدل

http://up.top4top.net/downloadf-325hdxk91-rar.html

شغل الملف بعد التحميل يحتوي على 20 ملف صوتي صغيرة
وبعد ذالك طبق واخبرني لو يوجد اي خلل

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

محمد بن أحمد أبو حذيفة
21-11-2016, 09:59 PM
----
بسم الله الرحمن الرحيم

اخي محمد الخطأ الوحيد الذي يوقف التتالي هو اختلاف اسم الملف
انا اعتمدت على الاسماء من الصورة المرفقة

http://b.top4top.net/p_324tuhg11.png


يعني من 1 الي 9 مكتوبة باضافة 0 قبل الرقم وباقي الارقام مكتوبة عادي

تم تعديل الملف هذا رابط الملف المعدل

http://up.top4top.net/downloadf-325hdxk91-rar.html

شغل الملف بعد التحميل يحتوي على 20 ملف صوتي صغيرة
وبعد ذالك طبق واخبرني لو يوجد اي خلل

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






بارك الله فيك

لكن لا يقراء كل الملفات

مثلا يبدا من -01 -02 ..............................-09 لكن عندما يصل 10 اذا كان مكتوب هكذا -10 لا يقراه

ثامر أبو بلقيس
21-11-2016, 10:25 PM
أحسنت الأستاذ ياسر متابعة ممتازة موفق :abc_138:

ثامر أبو بلقيس
21-11-2016, 10:39 PM
nCount = ListBox.GetCount("ListBox1");

num = ListBox.GetSelected("ListBox1");
c = String.ToNumber(num[1]);
if c < 10 then
SONG ="0".. c.."-"
MediaPlayer.Load("MediaPlayer", "AutoPlay\\Audio\\2\\"..SONG..".mp3");
else
SONG2 = c.."-"
MediaPlayer.Load("MediaPlayer", "AutoPlay\\Audio\\2\\"..SONG2..".mp3");
end

ثامر أبو بلقيس
21-11-2016, 11:15 PM
أو
nCount = ListBox.GetCount("ListBox1");
num = ListBox.GetSelected("ListBox1");
c = String.ToNumber(num[1]);
if c < 10 then
MediaPlayer.Load("MediaPlayer", "AutoPlay\\Audio\\2\\"..string.format("0%d-", c)..".mp3");
else
MediaPlayer.Load("MediaPlayer", "AutoPlay\\Audio\\2\\"..string.format("%d-", c)..".mp3");
end

ياسرهتهت
21-11-2016, 11:15 PM
بارك الله فيك

لكن لا يقراء كل الملفات

مثلا يبدا من -01 -02 ..............................-09 لكن عندما يصل 10 اذا كان مكتوب هكذا -10 لا يقراه

============================
بسم الله الرحمن الرحيم
هذا الملف بالتعديل الذي اشار له استاذنا ابوبلقيس
http://up.top4top.net/downloadf-3259zeh91-rar.html

وان شاء الله كلو تمام

فقط ملاحظة بسيطة

كلمة الاسطونات في ملف الفلاش ناقصة حرف نون

http://c.top4top.net/p_325hjofp1.jpg

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

ياسرهتهت
21-11-2016, 11:24 PM
أو
nCount = ListBox.GetCount("ListBox1");
num = ListBox.GetSelected("ListBox1");
c = String.ToNumber(num[1]);
if c < 10 then
MediaPlayer.Load("MediaPlayer", "AutoPlay\\Audio\\2\\"..string.format("0%d-", c)..".mp3");
else
MediaPlayer.Load("MediaPlayer", "AutoPlay\\Audio\\2\\"..string.format("%d-", c)..".mp3");
end

--------------------------------
بسم الله الرحمن الرحيم

:abc_051:هذا الكود رائع وهو من اكود ابوبلقيس الحصرية:abc_138:
موفق بإذن الله ... لك مني أجمل تحية .
:abc_138::abc_138::abc_138:

محمد بن أحمد أبو حذيفة
21-11-2016, 11:37 PM
--------------------------------
بسم الله الرحمن الرحيم

:abc_051:هذا الكود رائع وهو من اكود ابوبلقيس الحصرية:abc_138:
موفق بإذن الله ... لك مني أجمل تحية .
:abc_138::abc_138::abc_138:


بارك الله فيكما جميعا الملف يعمل بشكل جيد

وشكرا على التنبيه جاري التصيح ان شاء الله

ثامر أبو بلقيس
21-11-2016, 11:49 PM
--------------------------------
بسم الله الرحمن الرحيم

:abc_051:هذا الكود رائع وهو من اكود ابوبلقيس الحصرية:abc_138:
موفق بإذن الله ... لك مني أجمل تحية .
:abc_138::abc_138::abc_138:

جيد .. إليك بهذا
nCount = ListBox.GetCount("ListBox1");
num = ListBox.GetSelected("ListBox1");
MediaPlayer.Load("MediaPlayer", "AutoPlay\\Audio\\2\\".. string.format("%02d-",num[1])..".mp3");


:abc_028:

محمد بن أحمد أبو حذيفة
22-11-2016, 12:13 AM
بسم الله الرحمن الرحيم

بارك الله فيكما