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

مشاهدة النسخة كاملة : سؤال عن المحافظة على أبعاد نسبية لمحاذاة عناصر الأوبجيكت


عبود عبود
26-09-2013, 03:15 PM
السلام عليكم ورحمة الله وبركاته

سؤال عن المحافظة على أبعاد نسبية لمحاذاة عناصر الأوبجيكت

فمثلا لدينا عدد 5 عنصر أوبجيكت على سبيل المثال أزرار وكانت على مستوى أفقى متساوية فى الفراغات التى بينهم

1- أريد المحافظة على المستوى الفراغى بين العناصر بمعنى إذا تم تكبير المشروع يتم تكبير الفراغات بنسب متساوية وبالتالى نقل العنصر "الزر" إلى المكان الجديد المناسب لة


2- أريد المحافظة على المستوى الفراغى بين العناصر بمعنى إذا تم تصغير المشروع يتم تصغير الفراغات بنسب متساوية وبالتالى نقل العنصر "الزر" إلى المكان الجديد المناسب لة .

:abc_012: هنا أقصد حجم العناصر سوف تكون ثابتة وغير قابلة للتغيير .

:abc_113: أنتظر المساعدة لأنى ضعيف فى العمليات الحسابية :abc_086:

السؤال الآخر مرعاة تصغير حجم العناصر طبعا العرض و ليس الإرتفاع و مراعات تساوى الفراغات بين العناصر أيضا عند تصغير المشروع

الأمل القادم
26-09-2013, 08:27 PM
ازرع في on show
-- a@@ @@@@@ss
size = Window.GetSize(Application.GetWndHandle());
wndW = size.Width;
wndH = size.Height;


props = Button.GetProperties("Button1");
offX_Button1 = wndW/2 - props.X;
offY_Button1 = wndH/2 - props.Y;

props = Button.GetProperties("Button2");
offX_Button2 = wndW/2 - props.X;
offY_Button2 = wndH/2 - props.Y;

props = Button.GetProperties("Button3");
offX_Button3 = wndW/2 - props.X;
offY_Button3 = wndH/2 - props.Y;

props = Button.GetProperties("Button4");
offX_Button4 = wndW/2 - props.X;
offY_Button4 = wndH/2 - props.Y;
props = Button.GetProperties("Button5");
offX_Button5 = wndW/2 - props.X;
offY_Button5 = wndH/2 - props.Y;



و في on size
-- a@@ @@@@@ss
size = Window.GetSize(Application.GetWndHandle());
wndW = size.Width;
wndH = size.Height;



props = Button.GetProperties("Button1");
props.X = wndW/2 - offX_Button1;
props.Y = wndH/2 - offY_Button1;
Button.SetPos("Button1", props.X, props.Y);

props = Button.GetProperties("Button2");
props.X = wndW/2 - offX_Button2;
props.Y = wndH/2 - offY_Button2;
Button.SetPos("Button2", props.X, props.Y);

props = Button.GetProperties("Button3");
props.X = wndW/2 - offX_Button3;
props.Y = wndH/2 - offY_Button3;
Button.SetPos("Button3", props.X, props.Y);

props = Button.GetProperties("Button4");
props.X = wndW/2 - offX_Button4;
props.Y = wndH/2 - offY_Button4;
Button.SetPos("Button4", props.X, props.Y);

props = Button.GetProperties("Button5");
props.X = wndW/2 - offX_Button5;
props.Y = wndH/2 - offY_Button5;
Button.SetPos("Button5", props.X, props.Y);


تعامل مع اي عنصر بنفس المنطق و لا يهم الاتجاه أفقي أو عمودي
موفق:abc_152:

عبود عبود
26-09-2013, 09:11 PM
أشكرك ولكن لم يكن المطلوب بالضبط
وأيضا يوجد خطأ فى السطر 38 أو 39 فى OnSize إذا وضع الكود بالتعليق .

ننتظر المزيد من المساعدات

الأمل القادم
26-09-2013, 09:29 PM
أعمل على النسخة 7.5 ولاتوجد أخطاء فيما قدم

سلام

عبود عبود
26-09-2013, 09:37 PM
أشكرك على المجهود ولكن لم يكن المطلوب بالضبط

:abc_152:

جـــــــزاك الله خيـــــــرا

أنتظر المزيد من المساعدات

عبود عبود
28-09-2013, 10:35 PM
تنشيــــــط لإستقبال المزيد من المساعدة :abc_086:

أبو محسن
29-09-2013, 07:30 PM
جزاك الله خير أخينا الأمل القادم ، فالكود يعمل ولكن هُناك خطأ في [ On Size .. السطر 9 ]
offX_Button1 (a nil value

~| مشاهـــــدة عمل الكود (https://dl.dropboxusercontent.com/u/34067348/AutoPlay_MS_Resolution.gif) |~

أخي عبود الكود يعمل ولكن هُناك خطأ قد أوضحته في الأعلى، والصورة توضحه أكثر...
اصدار البرنامج 8.0.4.0 :abc_051:

أعد المحاولة ، وسأحاول التعديل حتى يكون الكود بدون أخطاء...

عبود عبود
29-09-2013, 08:22 PM
أخي عبود الكود يعمل ولكن هُناك خطأ قد أوضحته في الأعلى، والصورة توضحه أكثر...
اصدار البرنامج 8.0.4.0 :abc_051:


أعلم أن الكود يعمل ....... وذكرت أنة يوجـــــــد خطأ فى On Size فى سطر ما لم أركز على السطر بالتحديد
كما أعلم أنة لا يوجد فارق فى الإصدار الذى يعمل علية الكود بمعنى لا يهم إصــدار البرنامج
كما أعلم أنة يمكن تقليص الكود بالإختصارات و التكرار
كما يمكن الإستغناء عن بعض الأكواد التى إستعملها الأخ / الأمل القادم

:abc_113: وذكرت أن ما تقدم ليس المطلوب على وجه التحديد ........... فهل نظرت إلى المسافات بين الأزرار ؟ أريد أن تكبر هذة المسافات أو الفراغات أيضا وتصغر مع تصغير المشروع أى أنى أريد إجمالى الزيادة فى المشروع عند التكبير يوزع على جميع المسافات حتى المسافات بين الأزرار و أيضا العكس مع التصغير للمشروع .


وسأحاول التعديل حتى يكون الكود بدون أخطاء...

أنتظر نتيجة تعديلك بفارغ الصبر فى جميع الأحوال

:abc_138: كما أنتظــــــــــر المزيد من التفاعل من الأعضـــــاء المبرمجين و المبتدئين أيضـــــا :abc_138:

تحيــــــــــاتى

الأمل القادم
29-09-2013, 08:42 PM
جزاك الله خير أخينا الأمل القادم ، فالكود يعمل ولكن هُناك خطأ في [ On Size .. السطر 9 ]
offX_Button1 (a nil value

~| مشاهـــــدة عمل الكود (https://dl.dropboxusercontent.com/u/34067348/AutoPlay_MS_Resolution.gif) |~

أخي عبود الكود يعمل ولكن هُناك خطأ قد أوضحته في الأعلى، والصورة توضحه أكثر...
اصدار البرنامج 8.0.4.0 :abc_051:

أعد المحاولة ، وسأحاول التعديل حتى يكون الكود بدون أخطاء...

شكرا ضع الشرط
if (offX_Button ~= nil) then

سلام

عبود عبود
29-09-2013, 09:00 PM
شكرا ضع الشرط
if (offX_Button ~= nil) then

سلام

بعيدا عن المطلوب :abc_012: بهذا أنت وضعت متغير جديد فى الشرط وليس له أى وجود ضمن الأكواد فلما وضعتة إذن وما هى فائدة الشرط إذن ؟
هل تعلم أنك كتبت فى الشرط المتغير offX_Button وليس لة أى وجود ؟

إذا كتبت هذا الشرط فلن ينفذ مضمون الشرط لأنة بالطبع offX_Button غير معروف و لذلك سوف يساوى الــــ nil

:abc_086:

الأمل القادم
30-09-2013, 11:34 PM
السلام عليكم جميعا
بعيدا عن طلبك مادام ما قدم لم يف بالغرض لعدم توفر شرح واضح
للطلب أو ملف مفتوح لمعالجته حسابيا حسب طبيعته
أشار الأخ أبومحسن لوجود خطأ في on size و أكدت ذلك ثم وضعت
شرطا ليصبح الكود كالتالي :
size = Window.GetSize(Application.GetWndHandle());
wndW = size.Width;
wndH = size.Height;
if (offX_Button ~= nil) then
props = Button.GetProperties("Button1");
props.X = wndW/2 - offX_Button1;
props.Y = wndH/2 - offY_Button1;
Button.SetPos("Button1", props.X, props.Y);
props = Button.GetProperties("Button2");
props.X = wndW/2 - offX_Button2;
props.Y = wndH/2 - offY_Button2;
Button.SetPos("Button2", props.X, props.Y);
props = Button.GetProperties("Button3");
props.X = wndW/2 - offX_Button3;
props.Y = wndH/2 - offY_Button3;
Button.SetPos("Button3", props.X, props.Y);
props = Button.GetProperties("Button4");
props.X = wndW/2 - offX_Button4;
props.Y = wndH/2 - offY_Button4;
Button.SetPos("Button4", props.X, props.Y);
props = Button.GetProperties("Button5");
props.X = wndW/2 - offX_Button5;
props.Y = wndH/2 - offY_Button5;
Button.SetPos("Button5", props.X, props.Y);
end

قلت لماذا هذا سأرد بسؤال :
هل مازالت رسالة الخطأ تظهر ؟ لماذا اختفت ؟ سلام :abc_152:

عبود عبود
01-10-2013, 03:13 PM
السلام عليكم جميعا
بعيدا عن طلبك مادام ما قدم لم يف بالغرض لعدم توفر شرح واضح
للطلب أو ملف مفتوح لمعالجته حسابيا حسب طبيعته
أشار الأخ أبومحسن لوجود خطأ في on size و أكدت ذلك ثم وضعت
شرطا ليصبح الكود كالتالي :
size = window.getsize(application.getwndhandle());
wndw = size.width;
wndh = size.height;
if (offx_button ~= nil) then
props = button.getproperties("button1");
props.x = wndw/2 - offx_button1;
props.y = wndh/2 - offy_button1;
button.setpos("button1", props.x, props.y);
props = button.getproperties("button2");
props.x = wndw/2 - offx_button2;
props.y = wndh/2 - offy_button2;
button.setpos("button2", props.x, props.y);
props = button.getproperties("button3");
props.x = wndw/2 - offx_button3;
props.y = wndh/2 - offy_button3;
button.setpos("button3", props.x, props.y);
props = button.getproperties("button4");
props.x = wndw/2 - offx_button4;
props.y = wndh/2 - offy_button4;
button.setpos("button4", props.x, props.y);
props = button.getproperties("button5");
props.x = wndw/2 - offx_button5;
props.y = wndh/2 - offy_button5;
button.setpos("button5", props.x, props.y);
end

قلت لماذا هذا سأرد بسؤال :
هل مازالت رسالة الخطأ تظهر ؟ لماذا اختفت ؟ سلام :abc_152:

أخى الكريم لا يمكن أن تصحح خطأ بسيط بخطأ أكبــــــــر هل ممكن أن تقرأ ردى السابق مرة أخرى والذى كان :



:abc_012: بهذا أنت وضعت متغير جديد فى الشرط وليس له أى وجود ضمن الأكواد فلما وضعتة إذن وما هى فائدة الشرط إذن ؟
هل تعلم أنك كتبت فى الشرط المتغير offx_button وليس لة أى وجود ؟

إذا كتبت هذا الشرط فلن ينفذ مضمون الشرط لأنة بالطبع offx_button غير معروف و لذلك سوف يساوى الــــ nil

:abc_086:



:abc_065: والله يا أخى لقد كتبتة لك لـ أصحح لك معلومة إن لم تكن تعرفها من قبل فحاول أن تستفيـــد أيضـــا من الردود
وكن على يقين أنى مقدر جدا لردك ومحاولتك الجيــــــــــدة

قم بتجربة تعديلك الأخير الخاطئ لتعرف ماذا كان المقصود من الرد السابق .

:abc_152: شكرا مرة أخرى :abc_152:

المحترف القادم
01-10-2013, 05:26 PM
لماذا لم تضع ملفًا مفتوحا يا اخ عبود ؟؟

كما كنت تطلب منا عندما نستفسر عن شيء ما

سبحان الله ..

معلومة وفائدة :

أتوقع - والله أعلم - أنك تعرف حل هذا السؤال

ولكن تريد فرد عضلاتك :abc_070:

تطلب من المحترفين ومن المبتدئين المساعدة

تريد أن تثبت أنك الأفضل !!!:abc_083:

ليس هكذا يا ابن آآآآآآآآآآآآآآآآدم ..

ثامر أبو بلقيس
01-10-2013, 07:28 PM
حاول التعديل على هذا الملف القديم ربما سيفيد
http://www.gulfup.com/?akq5kZ

عبود عبود
01-10-2013, 11:19 PM
أتوقع - والله أعلم - أنك تعرف حل هذا السؤال

ولكن تريد فرد عضلاتك :abc_070:

تطلب من المحترفين ومن المبتدئين المساعدة

تريد أن تثبت أنك الأفضل !!!:abc_083:

ليس هكذا يا ابن آآآآآآآآآآآآآآآآدم ..

كنت متوقع ردا مثل هذا ............. وخصوصا منك

:abc_152: أشكرك على محاولتك :abc_152:

:abc_012: ولكن كن على يقين أنى لست الأفضـــل كما تتصور وربما لن أكون ومع هذا أحاول أن أكون هكذا

:abc_012: فإن لم تستفيد من هذا السؤال فلا داعى لمثل هذة الكلمات يا أخى فهذا أقل ما يمكن أن أقولة لهذا الرد البائس واليائس من المحاولة.

:abc_012: النقطة الأخرى التى يجب أن تعلمها أن العلم ليس بالعضلات و إنما بتشغيـــــــــل الدماغ فحاول أن تعصر أفكارك لتفيـد و تستفيـــــــد :abc_065:

عبود عبود
01-10-2013, 11:28 PM
حاول التعديل على هذا الملف القديم ربما سيفيد
http://www.gulfup.com/?akq5kZ


:abc_152: عـــــــودا حميـــــدا أخى جزاك الله خيـــــــــــرا :abc_152:

ولكن المطلوب هو تساوى مسافات الفراغات بين الأزرار أيضا

و المحافظة على تساوى هذة النسب عند التكبير و التصغير للمشروع .

ثامر أبو بلقيس
02-10-2013, 12:00 AM
هذه الأكواد كنت نسخها في ملف نصي متعلقة بتكبير و تصغير
شوف ربما فيها ما يفيد

نزرع في GLOBAL FUNCTIONS

tblObjectType = {}
tblObjectType[OBJECT_BUTTON] = Button;
tblObjectType[OBJECT_LABEL] = Label;
tblObjectType[OBJECT_PARAGRAPH] = Paragraph;
tblObjectType[OBJECT_IMAGE] = Image;
tblObjectType[OBJECT_FLASH] = Flash;
tblObjectType[OBJECT_VIDEO] = Video;
tblObjectType[OBJECT_WEB] = Web;
tblObjectType[OBJECT_INPUT] = Input;
tblObjectType[OBJECT_HOTSPOT] = Hotspot;
tblObjectType[OBJECT_LISTBOX] = ListBox;
tblObjectType[OBJECT_COMBOBOX] = ComboBox;
tblObjectType[OBJECT_PROGRESS] = Progress;
tblObjectType[OBJECT_TREE] = Tree;
tblObjectType[OBJECT_PLUGIN] = Plugin;

function Init()
m_tblObjectData = {};
tblObjects = Page.EnumerateObjects();
if tblObjects then
for index, sObject in tblObjects do
local Object = tblObjectType[Page.GetObjectType(sObject)];
local m_PosXR = Object.GetPos(sObject).X / Page.GetSize().Width;
local m_PosYR = Object.GetPos(sObject).Y / Page.GetSize().Height;
local m_SizeWR = Object.GetSize(sObject).Width / Page.GetSize().Width;
local m_SizeHR = Object.GetSize(sObject).Height / Page.GetSize().Height;
m_tblObjectData[Table.Count(m_tblObjectData) + 1] = {Name=sObject, PosXR=m_PosXR , PosYR=m_PosYR, SizeWR= m_SizeWR, SizeHR=m_SizeHR};
end
end
end

function Do_OnSize(e_PageWidth, e_PageHeight)
if m_tblObjectData then
Application.SetRedraw(false)
for z=1, Table.Count(m_tblObjectData) do
m_Object = tblObjectType[Page.GetObjectType(m_tblObjectData[z].Name)];
m_Object.SetSize(m_tblObjectData[z].Name, e_PageWidth * m_tblObjectData[z].SizeWR, e_PageHeight * m_tblObjectData[z].SizeHR)
m_Object.SetPos(m_tblObjectData[z].Name, e_PageWidth * m_tblObjectData[z].PosXR, e_PageHeight * m_tblObjectData[z].PosYR)
end
Application.SetRedraw(true)
end
end

في ON SHOW
Init()

في ON SIZE
Do_OnSize(e_PageWidth, e_PageHeight)

لا أدري هل سيكون له علاقة بالمطلوب و اما لا
المهم قد تفيد في اثراء الموضوع

عبود عبود
02-10-2013, 12:12 AM
جيد جدا

ولكن هكذا يكون ثبات النسب للفراغات بين العناصر مع تكبير حجم العناصر

:abc_012: وتكبير حجم العناصر غير مطلوب و ثبات الفراغ ليس مطلوبا أيضا

:abc_012: المطلوب هو تكبير و تصغير الفراغات مع تكبير و تصغير المشروع وثبات حجم العناصر " عرض العناصر و إرتفاعها " ثابت كما هو .

أما الـــ POS للعناصر فهكذا يكون ممتاز .

:abc_152:

عبود عبود
04-10-2013, 06:51 PM
:abc_152: تــــــم إلغــــاء السؤال ........... شكـــــــــرا لكل من تفاعل مع الموضــــــــوع إيجابيـــــا :abc_152:

:abc_138: تحيـــــــــاتى لكـــــــــــم جميعـــــــــا :abc_138:

الهمام
05-10-2013, 01:36 PM
شـكــ وبارك الله فيك ـــرا لك ... لك مني أجمل تحية .