Mr.Mostafa

آستفسآر عن قريد ليست ( Dx )

Recommended Posts

سلام عليكم

لو آني مبتدآ بآلدي آكس , ومآ آعرف آصمم فيه شي

بقدر آسوي قريد ليست دي آكس , ولآ آلآمر صعب شوية ويحتآج خبرة ؟

ـــ

+ gui لو لوحة دي آكس , وآلقريد ليست 

بتكون شكل آللوحة مب حلو ولآ عآدي ؟

Share this post


Link to post
1 hour ago, #,xiRocKyz said:

هي مو صعبة لكن يبيلها حسابات

بالعكس مو صعبة بالنسبة لك ك متمرس وخبير بالغة لكن صعبه عليه ك متعلم وبتدئ بالغة

Share this post


Link to post
24 minutes ago, *RayaN-Alharbi. said:

بالعكس مو صعبة بالنسبة لك ك متمرس وخبير بالغة لكن صعبه عليه ك متعلم وبتدئ بالغة

هو فعليا يعتمد علي الحساب بنسبه 99% و الباقي الي هو فقط

dxDrawRectangle

عشان ترسمه , ذا الجزء الوحيد الي له علاقه بالبرمجه

 

  • Like 1

Share this post


Link to post

تبي تكون شاطر بالرياضيات فقط

وخبره برمجيه بسيطه جدا

Share this post


Link to post

طيب يعتمد علي آلريآضيآت بوش بآلظبط ؟

11 hours ago, Master_MTA said:

 

 

On 05/09/2018 at 19:07, #َxLysandeR said:

 

 

 

Share this post


Link to post
3 hours ago, Mr.Mostafa said:

طيب يعتمد علي آلريآضيآت بوش بآلظبط ؟

 

 

الابعاد والاحداثيات واشياء اخرى كثيرة ,

Share this post


Link to post

درجة الصعوبة تعتمد على الي تبي تسويه

مثلاً تقدر تسويه بدون columns

وهذا بيكون ابسط شي

 

اما لو بتسويه مثل العادي بالمميزات الي فيه ف هذا صعب عليك ويحتاج منك خبرة عشان تحاول تخليه بقدر الامكان مايسبب لاق

Share this post


Link to post
1 hour ago, H25 said:

درجة الصعوبة تعتمد على الي تبي تسويه

مثلاً تقدر تسويه بدون columns

وهذا بيكون ابسط شي

 

اما لو بتسويه مثل العادي بالمميزات الي فيه ف هذا صعب عليك ويحتاج منك خبرة عشان تحاول تخليه بقدر الامكان مايسبب لاق

اها تمام

Share this post


Link to post
11 hours ago, Mr.Mostafa said:

طيب يعتمد علي آلريآضيآت بوش بآلظبط ؟

22 hours ago, Master_MTA said:

لانه اصعب شي قابلني تقريبا اثناء صنعي بالدي اكس جريد لست  بحيث انك  تحسب  scroll + تقلل عمليات الرسم 

بطريقة ذكيه عشان تمنع وجود لاق

يعني بشكل اوضح مثلا طبعا مثال

لو عندك اكثر من row

بدال ما تسوي drawText

لكل row

يمديك تستخدم 1 

لكل ال row

هذا مثال طبعا ما ادري هل يمديك تطبقه او لا

عالعموم بالتوفيق

Share this post


Link to post

راح يكون عندك أعمدة وصفوف لكل عمود صف فيه عناصر محددة عشان تسوي هذه الطريقة بالخوارزمية التالية



-- ثوابث نحتاجها
COL_WIDTH_BY_SINGLE_CHAR = 10 -- هذا ثابت نضربه في حجم نص العمود عشان يعطينا طول يوازي نص العمود
COL_MARGIN_RIGHT = 15 -- نعطي مسافة فاصلة بين كل نص عمود
ROW_HEIGHT = 24 -- طول الصف

local cols = {"#", "name", "score"}
local rows = {
	-- {VALUE_FOR_COLUMN_1, VALUE_FOR_COLUMN_2, VALUE_FOR_COLUMN_3}
	{"1", "Tn6el", "300000"},
	{"2", "Player", "0"},
	-- {...} وتضيف المزيد من الصفوف
}

-- ولاضافة على الشاشة نستخدم

local x, y = 0, 0 -- احداثيات القائمة

local pcol_x = COL_MARGIN_RIGHT -- متغير يعطينا اخر احداثيات العمود
for i=1, #cols do
	local ctext = cols[i] -- نص العمود
	-- #text تعطينا طول النص
	-- ملاحظة اذا كان عربي يعطيك طول النص مرتين فاستخدم وظائف utf8
	
	text(ctext, x+pcol_x, ROW_HEIGHT/2) -- مثال لعرض النص  للعمود

	-- نعرض الصفوف لكل عمود
	for j=1, #rows do
		--
		local rtext = rows[i] -- نص الصفوف للعمود رقم i
		local row_y = (j+1)*ROW_HEIGHT -- نعرض الصفوف تحت بعض
		-- حيث نضرب رقم ترتيب الصف في الطول للصف ويعطينا نتيحة ان جميع الصفوف تحت بعض
		text(rtext, pcol_x, row_y) -- مثال لعرض النص للصف
		-- draw rows
	end
	-- نحدث احداثيات اخر عمود عشان نستخدمه للمرة القادمة
	pcol_x += (#ctext*COL_WIDTH_BY_SINGLE_CHAR)+COL_MARGIN_RIGHT
			(طول النص * ثابت يمثل عرض كل حرف) + المسافة الفاصلة
end

 

سأشرح لك الطريقة بالخطوات

أولا نعمل لوب للعواميد عشان نعرض بيانات الصفوف لها

يعني لكل عمود صفوف خاصة فيها واحداثيات

في الللوب الأول نعرض اسم العمود على الشاشة ونحسب مكانه على الشاشة كما وضحنا بالكود

اما باللوب الثاني اننا نسوي لوب داخل اللوب الأول عشان تتكرر العملية لكل عمود

نبدأ نحسب مكان الصف افقياً اي نجعلها تحت العمود الخاص به ونعرضها كما وضحنا بالكود

 

طبعا الطرق كثيرة لكن هذه ابسطها والله أعلم واعذرني اذ كان هناك خطأ

  • Thanks 3

Share this post


Link to post
7 minutes ago, </Mr.Tn6eL> said:

راح يكون عندك أعمدة وصفوف لكل عمود صف فيه عناصر محددة عشان تسوي هذه الطريقة بالخوارزمية التالية



-- ثوابث نحتاجها
COL_WIDTH_BY_SINGLE_CHAR = 10 -- هذا ثابت نضربه في حجم نص العمود عشان يعطينا طول يوازي نص العمود
COL_MARGIN_RIGHT = 15 -- نعطي مسافة فاصلة بين كل نص عمود
ROW_HEIGHT = 24 -- طول الصف

local cols = {"#", "name", "score"}
local rows = {
	-- {VALUE_FOR_COLUMN_1, VALUE_FOR_COLUMN_2, VALUE_FOR_COLUMN_3}
	{"1", "Tn6el", "300000"},
	{"2", "Player", "0"},
	-- {...} وتضيف المزيد من الصفوف
}

-- ولاضافة على الشاشة نستخدم

local x, y = 0, 0 -- احداثيات القائمة

local pcol_x = COL_MARGIN_RIGHT -- متغير يعطينا اخر احداثيات العمود
for i=1, #cols do
	local ctext = cols[i] -- نص العمود
	-- #text تعطينا طول النص
	-- ملاحظة اذا كان عربي يعطيك طول النص مرتين فاستخدم وظائف utf8
	
	text(ctext, x+pcol_x, ROW_HEIGHT/2) -- مثال لعرض النص  للعمود

	-- نعرض الصفوف لكل عمود
	for j=1, #rows do
		--
		local rtext = rows[i] -- نص الصفوف للعمود رقم i
		local row_y = (j+1)*ROW_HEIGHT -- نعرض الصفوف تحت بعض
		-- حيث نضرب رقم ترتيب الصف في الطول للصف ويعطينا نتيحة ان جميع الصفوف تحت بعض
		text(rtext, pcol_x, row_y) -- مثال لعرض النص للصف
		-- draw rows
	end
	-- نحدث احداثيات اخر عمود عشان نستخدمه للمرة القادمة
	pcol_x += (#ctext*COL_WIDTH_BY_SINGLE_CHAR)+COL_MARGIN_RIGHT
			(طول النص * ثابت يمثل عرض كل حرف) + المسافة الفاصلة
end

 

سأشرح لك الطريقة بالخطوات

أولا نعمل لوب للعواميد عشان نعرض بيانات الصفوف لها

يعني لكل عمود صفوف خاصة فيها واحداثيات

في الللوب الأول نعرض اسم العمود على الشاشة ونحسب مكانه على الشاشة كما وضحنا بالكود

اما باللوب الثاني اننا نسوي لوب داخل اللوب الأول عشان تتكرر العملية لكل عمود

نبدأ نحسب مكان الصف افقياً اي نجعلها تحت العمود الخاص به ونعرضها كما وضحنا بالكود

 

طبعا الطرق كثيرة لكن هذه ابسطها والله أعلم واعذرني اذ كان هناك خطأ

غبت وغاب الابداع ورجعت تعدل الاوضاع يا ولكم :mrgreen:

Share this post


Link to post
On 07/09/2018 at 20:04, </Mr.Tn6eL> said:

راح يكون عندك أعمدة وصفوف لكل عمود صف فيه عناصر محددة عشان تسوي هذه الطريقة بالخوارزمية التالية



-- ثوابث نحتاجها
COL_WIDTH_BY_SINGLE_CHAR = 10 -- هذا ثابت نضربه في حجم نص العمود عشان يعطينا طول يوازي نص العمود
COL_MARGIN_RIGHT = 15 -- نعطي مسافة فاصلة بين كل نص عمود
ROW_HEIGHT = 24 -- طول الصف

local cols = {"#", "name", "score"}
local rows = {
	-- {VALUE_FOR_COLUMN_1, VALUE_FOR_COLUMN_2, VALUE_FOR_COLUMN_3}
	{"1", "Tn6el", "300000"},
	{"2", "Player", "0"},
	-- {...} وتضيف المزيد من الصفوف
}

-- ولاضافة على الشاشة نستخدم

local x, y = 0, 0 -- احداثيات القائمة

local pcol_x = COL_MARGIN_RIGHT -- متغير يعطينا اخر احداثيات العمود
for i=1, #cols do
	local ctext = cols[i] -- نص العمود
	-- #text تعطينا طول النص
	-- ملاحظة اذا كان عربي يعطيك طول النص مرتين فاستخدم وظائف utf8
	
	text(ctext, x+pcol_x, ROW_HEIGHT/2) -- مثال لعرض النص  للعمود

	-- نعرض الصفوف لكل عمود
	for j=1, #rows do
		--
		local rtext = rows[i] -- نص الصفوف للعمود رقم i
		local row_y = (j+1)*ROW_HEIGHT -- نعرض الصفوف تحت بعض
		-- حيث نضرب رقم ترتيب الصف في الطول للصف ويعطينا نتيحة ان جميع الصفوف تحت بعض
		text(rtext, pcol_x, row_y) -- مثال لعرض النص للصف
		-- draw rows
	end
	-- نحدث احداثيات اخر عمود عشان نستخدمه للمرة القادمة
	pcol_x += (#ctext*COL_WIDTH_BY_SINGLE_CHAR)+COL_MARGIN_RIGHT
			(طول النص * ثابت يمثل عرض كل حرف) + المسافة الفاصلة
end

 

سأشرح لك الطريقة بالخطوات

أولا نعمل لوب للعواميد عشان نعرض بيانات الصفوف لها

يعني لكل عمود صفوف خاصة فيها واحداثيات

في الللوب الأول نعرض اسم العمود على الشاشة ونحسب مكانه على الشاشة كما وضحنا بالكود

اما باللوب الثاني اننا نسوي لوب داخل اللوب الأول عشان تتكرر العملية لكل عمود

نبدأ نحسب مكان الصف افقياً اي نجعلها تحت العمود الخاص به ونعرضها كما وضحنا بالكود

 

طبعا الطرق كثيرة لكن هذه ابسطها والله أعلم واعذرني اذ كان هناك خطأ

شرحك بطل

ياريت يكون افاده مثل مفادني

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.