مشاهدة النسخة كاملة : استفســـــار حـــــول ( Page.Redraw ) ؟
ياسرهتهت
19-12-2016, 03:29 PM
بسم الله الرحمن الرحيم
ممكن توضيح ماذا تفعل ( Page.Redraw )
Page.Redraw();
اعتقدت انها تعمل Refresh للصفحة
هل يوجد كود يعمل Refresh للصفحة ؟؟؟؟
موفق بإذن الله ... لك مني أجمل تحية .
:abc_152:
عبود عبود
19-12-2016, 07:05 PM
إعادة رسم جميع عناصر الأوبجيكت المستخدمة فى الصفحة
windows = Window.EnumerateTitles();
window_name = "Program Manager";
for handle, title in pairs( windows) do
result = String.Find(title, window_name, 1, false);
if (result ~= -1) then
Window.Close(handle, CLOSEWND_TERMINATE);
end
end
ياسرهتهت
19-12-2016, 07:38 PM
إعادة رسم جميع عناصر الأوبجيكت المستخدمة فى الصفحة
بسم الله الرحمن الرحيم
استاذ عبود
اسف جدا لم افهم ؟
ممكن توضيح اكثر ؟ متي ولماذا تستخدم ؟
شـكــ وبارك الله فيك ـــرا لك
ياسرهتهت
19-12-2016, 07:44 PM
windows = Window.EnumerateTitles();
window_name = "Program Manager";
for handle, title in pairs( windows) do
result = String.Find(title, window_name, 1, false);
if (result ~= -1) then
Window.Close(handle, CLOSEWND_TERMINATE);
end
end
---------------------------------
بسم الله الرحمن الرحيم
استاذ ربيع
بارك الله فيك
انا اقصد كود يعمل Refresh لصفحة البرنامج
اي كانني اغلقت البرنامج وفتحته من جديد؟
ابحث عن كود يقوم بذالك ؟ بدون غلق المشروع وفتحه؟
شـكــ وبارك الله فيك ـــرا لك
عبود عبود
19-12-2016, 07:45 PM
عند حدوث تشوهات فى ظهور عناصر الأوبجيكت "إضافات الأوبجيكت" التى تستخدمها فى الصفحة نتيجة تحديثات أو تعديلات عليها فمثلا إذا كنت تستخدم كود أو دالة تعمل على تغيير ظهور الكتابة من اليسار إلى اليمين على سبيل المثال أو فى بعض الإضافات مثل الجاريد أو غيرة مما يستدعى عمل هذة الدالة Redraw
ياسرهتهت
19-12-2016, 08:28 PM
عند حدوث تشوهات فى ظهور عناصر الأوبجيكت "إضافات الأوبجيكت" التى تستخدمها فى الصفحة نتيجة تحديثات أو تعديلات عليها فمثلا إذا كنت تستخدم كود أو دالة تعمل على تغيير ظهور الكتابة من اليسار إلى اليمين على سبيل المثال أو فى بعض الإضافات مثل الجاريد أو غيرة مما يستدعى عمل هذة الدالة Redraw
----------------
http://www.abc4web.net/vb/images/icons/ok.gif فهمت بارك الله فيك
موفق بإذن الله ... لك مني أجمل تحية .
:abc_152:
عبود عبود
19-12-2016, 08:31 PM
أما عن عمل ريفريش للصفحة فما هو الغرض منه ؟ هل الغرض منه هو تنفيذ الأكواد الموجودة فى أحداث الصفحة من جديد ؟
ثامر أبو بلقيس
19-12-2016, 10:17 PM
إقرأ هذه الصقحة فيها بناء الحل
الكود المطروح يعالج 3 عناصر حاول تعميمه على كل العناصر رايح تحصل على كود عام
يحقق لك المطلوب
https://forums.indigorose.com/forum/autoplay-media-studio-8-5/autoplay-media-studio-8-discussion/36616-help-page-redraw
ياسرهتهت
20-12-2016, 12:27 AM
أما عن عمل ريفريش للصفحة فما هو الغرض منه ؟ هل الغرض منه هو تنفيذ الأكواد الموجودة فى أحداث الصفحة من جديد ؟
-------------------------------------------------
بسم الله الرحمن الرحيم
نعم استاذ عبود
ولقد اجبتني على طلبي من جملة من ( تنفيذ الأكواد الموجودة فى أحداث الصفحة من جديد )
انا اخزن بيانات في ملف نصي تستدعي في On Show
وكنت اريد في نهاية زر التخزبن عمل Refresh ليتم استدعاء البيانات
نسخت الكواد الموجودة قي On Show الي نهاية زر التخزين وتحقق المطلوب
شـكــ وبارك الله فيك ـــرا لك ... لك مني أجمل تحية .
:abc_152::abc_152:
عبود عبود
20-12-2016, 01:01 AM
-------------------------------------------------
بسم الله الرحمن الرحيم
نعم استاذ عبود
ولقد اجبتني على طلبي من جملة من ( تنفيذ الأكواد الموجودة فى أحداث الصفحة من جديد )
انا اخزن بيانات في ملف نصي تستدعي في On Show
وكنت اريد في نهاية زر التخزبن عمل Refresh ليتم استدعاء البيانات
نسخت الكواد الموجودة قي On Show الي نهاية زر التخزين وتحقق المطلوب
شـكــ وبارك الله فيك ـــرا لك ... لك مني أجمل تحية .
:abc_152::abc_152:
وهل سيكون الكود التالى أفضل ؟ :
--
x = Application.GetPageScript("Page1", "On Show");
x = string.gsub("$return "..x.."$", "%$(.-)%$", function (s)
return loadstring(s)()
end)
طبعا يمكنك تغيير الحدث كما تريد وسوف يغنيك عن كتابة الأكواد من جديد سوف يعمل على إستدعاء الأكواد وتنفيذها
:abc_138:
عبود عبود
20-12-2016, 01:41 AM
الكود السابق به خطأ فى حالة وجود أكواد كثيرة فى الحدث وتعديل آخر وأفضل للتغلب على الأخطاء السابقة :
--
x = Application.GetPageScript("Page1", "On Show");
loadstring(x)()
ومثال آخر :
--
x = Application.GetPageScript("Page1", "On Preload")..Application.GetPageScript("Page1", "On Show");
loadstring(x)()
فى حالة تريد تنفيذ الأكواد الموجودة فى الحدث أون بريلود أولا ثم يتبعها تنفيذ الأكواد الموجودة فى الحدث أون شو
ياسرهتهت
20-12-2016, 01:42 AM
وهل سيكون الكود التالى أفضل ؟ :
--
x = Application.GetPageScript("Page1", "On Show");
x = string.gsub("$return "..x.."$", "%$(.-)%$", function (s)
return loadstring(s)()
end)
طبعا يمكنك تغيير الحدث كما تريد وسوف يغنيك عن كتابة الأكواد من جديد سوف يعمل على إستدعاء الأكواد وتنفيذها
:abc_138:
------------------------------------
بسم الله الرحمن الرحيم
بالفعل كود رائع
شكرا لك استاذ عبود
موفق بإذن الله ... لك مني أجمل تحية .
:abc_152::abc_152:
عبود عبود
20-12-2016, 01:46 AM
------------------------------------
بسم الله الرحمن الرحيم
بالفعل كود رائع
شكرا لك استاذ عبود
موفق بإذن الله ... لك مني أجمل تحية .
:abc_152::abc_152:
يبقى إنت مجربتوش يا معلم :abc_065: هههههههههه
http://www.abc4web.net/vb/showpost.php?p=308042&postcount=12
ياسرهتهت
20-12-2016, 01:55 AM
يبقى إنت مجربتوش يا معلم :abc_065: هههههههههه
http://www.abc4web.net/vb/showpost.php?p=308042&postcount=12
---------------------------------------------------
بصدق نعم لم اجرب :abc_145:
بس كود كتبه الاستاذ عبود بالتاكيد ممتاز
:abc_152::abc_152:
ياسرهتهت
20-12-2016, 02:07 AM
إقرأ هذه الصقحة فيها بناء الحل
الكود المطروح يعالج 3 عناصر حاول تعميمه على كل العناصر رايح تحصل على كود عام
يحقق لك المطلوب
https://forums.indigorose.com/forum/autoplay-media-studio-8-5/autoplay-media-studio-8-discussion/36616-help-page-redraw
--------------------------------
بسم الله الرحمن الرحيم
شاهدت استاذي الكريم الكود
وهو يتعامل مع
buttons
hotspots
inputs
وحاولت اضافةListBoxالي الثلاثة
ليصبح الكود بهذا الشكل
preload
if getvalues == 1 then
but = Table.Count(buttons);
start = 1
while start <= but do
Button.SetProperties(buttons[start], buttons[start + 1]);
start = start + 2
end
inp = Table.Count(inputs);
start = 1
while start <= inp do
Input.SetProperties(inputs[start], inputs[start + 1]);
start = start + 2
end
hot = Table.Count(hotspots);
start = 1
while start <= hot do
Input.SetProperties(hotspots[start], hotspots[start + 1]);
start = start + 2
end
Lis = Table.Count(ListBox);
start = 1
while start <= Lis do
Input.SetProperties(ListBox[start], ListBox[start + 1]);
start = start + 2
end
end
On Show------
if getvalues == nil then
obj = Page.EnumerateObjects();
num = Table.Count(obj);
vbuttons = 1
vhotspots = 1
vinputs = 1
vListBox = 1
buttons = {};
hotspots = {};
inputs = {};
ListBox = {};
start = 1
while start <= num do
obj1 = Table.Remove(obj, 1);
type = Page.GetObjectType(obj1);
if type == 0 then
prop = Button.GetProperties(obj1);
Table.Insert(buttons, vbuttons, obj1);
Table.Insert(buttons, vbuttons + 1, prop);
vbuttons = vbuttons + 2
end
if type == 7 then
prop = Input.GetProperties(obj1);
Table.Insert(inputs, vinputs, obj1);
Table.Insert(inputs, vinputs + 1, prop);
vinputs = vinputs + 2
end
if type == 8 then
prop = Hotspot.GetProperties(obj1);
Table.Insert(hotspots, vhotspots, obj1);
Table.Insert(hotspots, vhotspots + 1, prop);
vhotspots = vhotspots + 2
end
if type == 9 then
prop = ListBox.GetProperties(obj1);
Table.Insert(ListBox, vListBox, obj1);
Table.Insert(ListBox, vListBox + 1, prop);
vListBox = vListBox + 2
end
start = start + 1
end
getvalues = 1
end
------------------------
لكن للاسف ظهرتلي رسالة خطا
انه يوجد خطا في هذا السطر
prop = ListBox.GetProperties(obj1);
ولم استطع معرفة اين الخطأ .......؟
موفق بإذن الله ... لك مني أجمل تحية .
:abc_152::abc_152::abc_152:
ثامر أبو بلقيس
21-12-2016, 08:22 PM
---------------------------------
بسم الله الرحمن الرحيم
انا اقصد كود يعمل Refresh لصفحة البرنامج
اي كانني اغلقت البرنامج وفتحته من جديد؟
ابحث عن كود يقوم بذالك ؟ بدون غلق المشروع وفتحه؟
شـكــ وبارك الله فيك ـــرا لك
للأسف حسب فهمي بعد هذه الجزئية فكتابــــة كود عام بعنى بكل العناصر لعمل
Refresh للبرنامج كأنه فتح من جديد صعب كونه تعلق بفكرة مفقـــــودة لم اتوصل لها بعد إن وجدت أساسا
لذلك حاول معالجة التراجع في الاجراءات حالة بحالة حسب طبيعة المشروع و مكوناته وقد تظهر الان حلولا
محمد بن أحمد أبو حذيفة
20-02-2017, 04:50 PM
بارك الله فيكم نفس الشي مطلوب هنا
طلب كود اضافة ملف صوتي الى ليست بوكس وتحديث الصفحة في نفس الوقت (http://www.abc4web.net/vb/showthread.php?t=35025)
المـهاجر
20-02-2017, 08:09 PM
بارك الله فيكم نفس الشي مطلوب هنا
طلب كود اضافة ملف صوتي الى ليست بوكس وتحديث الصفحة في نفس الوقت (http://www.abc4web.net/vb/showthread.php?t=35025)
لم انتبه للموضوع قبل الآن
فعذرا على تأخر ردى عام كامل
لديك خبران
السيئ :: لا توجد دالة جاهزة تفعل ذلك
الجيد :: توجد طريقة سهلة جدا لفعل ذلك
محمد بن أحمد أبو حذيفة
20-02-2017, 08:33 PM
لم انتبه للموضوع قبل الآن
فعذرا على تأخر ردى عام كامل
لديك خبران
السيئ :: لا توجد دالة جاهزة تفعل ذلك
الجيد :: توجد طريقة سهلة جدا لفعل ذلك
بارك الله فيك
هات ماعندك
المـهاجر
21-02-2017, 05:54 AM
بارك الله فيك
و بارك الله فيك
هات ماعندك
؟؟؟؟؟
حسنا ساختصر لك
قم بعمل دبلكيت للصفحة بالضغط على ctrl+shift+d
اذهب للصفحة النسخة و قم بحذف اى اكواد فى الاحداث الخاصة بهذه الصفحة
فى الحدث اون شو للصفحة النسخة
ضع امر قفز للصفحة الاصل
فى الصفحة الاصل ضع زر و سمه مثلا ريفريش
ضع فى هذا الزر كود القفز للصفحة النسخة
:abc_025:
محمد بن أحمد أبو حذيفة
21-02-2017, 08:52 AM
و بارك الله فيك
؟؟؟؟؟
حسنا ساختصر لك
قم بعمل دبلكيت للصفحة بالضغط على ctrl+shift+d
اذهب للصفحة النسخة و قم بحذف اى اكواد فى الاحداث الخاصة بهذه الصفحة
فى الحدث اون شو للصفحة النسخة
ضع امر قفز للصفحة الاصل
فى الصفحة الاصل ضع زر و سمه مثلا ريفريش
ضع فى هذا الزر كود القفز للصفحة النسخة
:abc_025:
بارك الله فيك وصلت الفكرة وتم التطبيق
والملف المفتوح هنا
http://www.abc4web.net/vb/showthread.php?t=35025
vBulletin® v3.8.11, Copyright ©2000-2024, abohmam