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

مشاهدة النسخة كاملة : استفســـــار حـــــول ( Page.Redraw ) ؟


ياسرهتهت
19-12-2016, 02:29 PM
بسم الله الرحمن الرحيم

ممكن توضيح ماذا تفعل ( Page.Redraw )
Page.Redraw();

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

عبود عبود
19-12-2016, 06:05 PM
إعادة رسم جميع عناصر الأوبجيكت المستخدمة فى الصفحة

ربيع
19-12-2016, 06:18 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, 06:38 PM
إعادة رسم جميع عناصر الأوبجيكت المستخدمة فى الصفحة
بسم الله الرحمن الرحيم

استاذ عبود
اسف جدا لم افهم ؟
ممكن توضيح اكثر ؟ متي ولماذا تستخدم ؟
شـكــ وبارك الله فيك ـــرا لك

ياسرهتهت
19-12-2016, 06: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, 06:45 PM
عند حدوث تشوهات فى ظهور عناصر الأوبجيكت "إضافات الأوبجيكت" التى تستخدمها فى الصفحة نتيجة تحديثات أو تعديلات عليها فمثلا إذا كنت تستخدم كود أو دالة تعمل على تغيير ظهور الكتابة من اليسار إلى اليمين على سبيل المثال أو فى بعض الإضافات مثل الجاريد أو غيرة مما يستدعى عمل هذة الدالة Redraw

ياسرهتهت
19-12-2016, 07:28 PM
عند حدوث تشوهات فى ظهور عناصر الأوبجيكت "إضافات الأوبجيكت" التى تستخدمها فى الصفحة نتيجة تحديثات أو تعديلات عليها فمثلا إذا كنت تستخدم كود أو دالة تعمل على تغيير ظهور الكتابة من اليسار إلى اليمين على سبيل المثال أو فى بعض الإضافات مثل الجاريد أو غيرة مما يستدعى عمل هذة الدالة Redraw

----------------
http://www.abc4web.net/vb/images/icons/ok.gif فهمت بارك الله فيك
موفق بإذن الله ... لك مني أجمل تحية .
:abc_152:

عبود عبود
19-12-2016, 07:31 PM
أما عن عمل ريفريش للصفحة فما هو الغرض منه ؟ هل الغرض منه هو تنفيذ الأكواد الموجودة فى أحداث الصفحة من جديد ؟

ثامر أبو بلقيس
19-12-2016, 09:17 PM
إقرأ هذه الصقحة فيها بناء الحل
الكود المطروح يعالج 3 عناصر حاول تعميمه على كل العناصر رايح تحصل على كود عام
يحقق لك المطلوب
https://forums.indigorose.com/forum/autoplay-media-studio-8-5/autoplay-media-studio-8-discussion/36616-help-page-redraw

ياسرهتهت
19-12-2016, 11:27 PM
أما عن عمل ريفريش للصفحة فما هو الغرض منه ؟ هل الغرض منه هو تنفيذ الأكواد الموجودة فى أحداث الصفحة من جديد ؟

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

نعم استاذ عبود
ولقد اجبتني على طلبي من جملة من ( تنفيذ الأكواد الموجودة فى أحداث الصفحة من جديد )
انا اخزن بيانات في ملف نصي تستدعي في On Show
وكنت اريد في نهاية زر التخزبن عمل Refresh ليتم استدعاء البيانات
نسخت الكواد الموجودة قي On Show الي نهاية زر التخزين وتحقق المطلوب
شـكــ وبارك الله فيك ـــرا لك ... لك مني أجمل تحية .
:abc_152::abc_152:

عبود عبود
20-12-2016, 12: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, 12: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, 12: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, 12:46 AM
------------------------------------
بسم الله الرحمن الرحيم

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

يبقى إنت مجربتوش يا معلم :abc_065: هههههههههه

http://www.abc4web.net/vb/showpost.php?p=308042&postcount=12

ياسرهتهت
20-12-2016, 12:55 AM
يبقى إنت مجربتوش يا معلم :abc_065: هههههههههه

http://www.abc4web.net/vb/showpost.php?p=308042&postcount=12
---------------------------------------------------
بصدق نعم لم اجرب :abc_145:

بس كود كتبه الاستاذ عبود بالتاكيد ممتاز
:abc_152::abc_152:

ياسرهتهت
20-12-2016, 01: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, 07:22 PM
---------------------------------
بسم الله الرحمن الرحيم
انا اقصد كود يعمل Refresh لصفحة البرنامج
اي كانني اغلقت البرنامج وفتحته من جديد؟
ابحث عن كود يقوم بذالك ؟ بدون غلق المشروع وفتحه؟
شـكــ وبارك الله فيك ـــرا لك


للأسف حسب فهمي بعد هذه الجزئية فكتابــــة كود عام بعنى بكل العناصر لعمل

Refresh للبرنامج كأنه فتح من جديد صعب كونه تعلق بفكرة مفقـــــودة لم اتوصل لها بعد إن وجدت أساسا

لذلك حاول معالجة التراجع في الاجراءات حالة بحالة حسب طبيعة المشروع و مكوناته وقد تظهر الان حلولا

محمد بن أحمد أبو حذيفة
20-02-2017, 03:50 PM
بارك الله فيكم نفس الشي مطلوب هنا
طلب كود اضافة ملف صوتي الى ليست بوكس وتحديث الصفحة في نفس الوقت (http://www.abc4web.net/vb/showthread.php?t=35025)

المـهاجر
20-02-2017, 07:09 PM
بارك الله فيكم نفس الشي مطلوب هنا
طلب كود اضافة ملف صوتي الى ليست بوكس وتحديث الصفحة في نفس الوقت (http://www.abc4web.net/vb/showthread.php?t=35025)

لم انتبه للموضوع قبل الآن
فعذرا على تأخر ردى عام كامل
لديك خبران
السيئ :: لا توجد دالة جاهزة تفعل ذلك
الجيد :: توجد طريقة سهلة جدا لفعل ذلك

محمد بن أحمد أبو حذيفة
20-02-2017, 07:33 PM
لم انتبه للموضوع قبل الآن
فعذرا على تأخر ردى عام كامل
لديك خبران
السيئ :: لا توجد دالة جاهزة تفعل ذلك
الجيد :: توجد طريقة سهلة جدا لفعل ذلك

بارك الله فيك
هات ماعندك

المـهاجر
21-02-2017, 04:54 AM
بارك الله فيك

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


هات ماعندك
؟؟؟؟؟
حسنا ساختصر لك

قم بعمل دبلكيت للصفحة بالضغط على ctrl+shift+d
اذهب للصفحة النسخة و قم بحذف اى اكواد فى الاحداث الخاصة بهذه الصفحة
فى الحدث اون شو للصفحة النسخة
ضع امر قفز للصفحة الاصل

فى الصفحة الاصل ضع زر و سمه مثلا ريفريش
ضع فى هذا الزر كود القفز للصفحة النسخة
:abc_025:

محمد بن أحمد أبو حذيفة
21-02-2017, 07:52 AM
و بارك الله فيك


؟؟؟؟؟
حسنا ساختصر لك

قم بعمل دبلكيت للصفحة بالضغط على ctrl+shift+d
اذهب للصفحة النسخة و قم بحذف اى اكواد فى الاحداث الخاصة بهذه الصفحة
فى الحدث اون شو للصفحة النسخة
ضع امر قفز للصفحة الاصل

فى الصفحة الاصل ضع زر و سمه مثلا ريفريش
ضع فى هذا الزر كود القفز للصفحة النسخة
:abc_025:

بارك الله فيك وصلت الفكرة وتم التطبيق
والملف المفتوح هنا

http://www.abc4web.net/vb/showthread.php?t=35025