Jump to content

مساعدة بعملية حسابيه


Recommended Posts

سلام عليكم شباب كيف الحال

ابي مساعدتكم بعمليه حسابيه كلكم تعرفون اني اسوي مكتبة دي اكس الحمدلله

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

صوره للتوظيح

p_986t3cwq1.png

 

Link to comment
4 minutes ago, Master_MTA said:

سلام عليكم شباب كيف الحال

ابي مساعدتكم بعمليه حسابيه كلكم تعرفون اني اسوي مكتبة دي اكس الحمدلله

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

صوره للتوظيح

p_986t3cwq1.png

 

وضح اكتر اقدر اساعدك في الحساب

Link to comment
3 minutes ago, #َxLysandeR said:

وضح اكتر اقدر اساعدك في الحساب

اخيرا اصل بعيد عنك انا ساقط ماث في هندسه بس عدته وجبت فيه

B+

جيد جدا مرتفع

احم احم بس برضو مش نافع هههههه

ازاي اوضحلك اكتر مش فاهم

انته فاهم فكرة سكرول بار 

بتاعت الجريد لست

هيا دي

Link to comment
4 minutes ago, Master_MTA said:

اخيرا اصل بعيد عنك انا ساقط ماث في هندسه بس عدته وجبت فيه

B+

جيد جدا مرتفع

احم احم بس برضو مش نافع هههههه

ازاي اوضحلك اكتر مش فاهم

انته فاهم فكرة سكرول بار 

بتاعت الجريد لست

هيا دي

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

Link to comment
1 minute ago, iMr.WiFi..! said:

اتوقع اني اقدر اساعدك بس انا مافهمت وش تبي وضح اكثر /: 

يا شباب والله كل اللي ابيه لو تعرفونها عباره عن نسبة وتناسب

ابي اسوي علاقه نسبيه بين السكرول بار 

والstart x

حق ال

rows

بس

انا بالفعل خلصت 3/4 من المهمه

خليت حجم سكرول بار يجي نسبيا نفس حجم المنطقه الزايده اللي بيصيرلها سكرول

+

سويت ايفنت خاص بالسكرول بار

onClientDxScrollBarScrolled

ويجيبلي نسبة مئوية بعد باللي صارله سكرولد+

يقوله هل هو سحبه لفوق ولا تحت خلصت كل ذا

ناقص اني اخلي النسبة المئويه ذي ترفع الrows

حق القريد لست

واول ما توصل الجريد لست الروز لاخرها يكون السكرول وصل لاخره هنا الفكره

الكود للي مب فاهمني

addEventHandler('onClientDxScrollBarScrolled',root,function(pr,inc)


local baba=getElementParent(source)

	if baba and getElementType(baba)=='dxGridList' then

	local fin=((Elements[baba].rows[#Elements[baba].rows][1].y+Elements[baba].rows[#Elements[baba].rows][1].height-(Elements[baba].y+(Elements[baba].height*5/100)))*pr/100)/#Elements[baba].rows
		for k,v in ipairs(Elements[baba].rows)do
			
			for m,l in ipairs(v)do
				
				if inc then
				
				Elements[baba].rows[k][m].y=Elements[baba].rows[k][m].y-(fin)
				
				else
				
				Elements[baba].rows[k][m].y=Elements[baba].rows[k][m].y+(fin)
				
				end
				
			
			end
		
		end
	
	end


end)

 

هذي محاوله فاشله مني

Link to comment

شوف انا سويت طريقة بحيث اني معتمد على الجداول ..
راح اوضح الطريقة بالرسم :
 

p_986fx7341.png

-- اتمنى الطريقة تفيدك .
^ طبعا الي حطيته مجرد مثال انت المفروض مايجيب الا اخر 3 ارقام او اولها .

Edited by iMr.WiFi..!
Link to comment
1 minute ago, iMr.WiFi..! said:

-- اتمنى الطريقة تفيدك .

wow 

تصدق ولا جات بمخي طريقة فننااااااااانه

thx

بجرب واقولك زبطت معي او لا

انا اصلا مسوي فنكشن يجيبلي اقصى رو يمكن عرضه

لول

 

Edited by Master_MTA
  • Like 1
Link to comment
local testTable = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22}
local scrollLevel = 0
local currentLevel = 0
local totalRows = 7
local selected = {}
local addedValue = 0
function isMouseInPosition ( x, y, width, height )
	if ( not isCursorShowing( ) ) then
		return false
	end
    local sx, sy = guiGetScreenSize ( )
    local cx, cy = getCursorPosition ( )
    local cx, cy = ( cx * sx ), ( cy * sy )
    if ( cx >= x and cx <= x + width ) and ( cy >= y and cy <= y + height ) then
        return true
    else
        return false
    end
end
addEventHandler("onClientRender", root,
    function()
        dxDrawRectangle(0, 240, 800, 121, tocolor(0, 0, 0, 150), false)
		local tableSize = #testTable
		if tableSize > totalRows then
			scrollLevel = (tableSize/totalRows)-1
			if scrollLevel > math.floor((tableSize/totalRows)-1) then
				scrollLevel = scrollLevel + 1
			end
		end
		if currentLevel == 0 then
			local startIndex = 1
			local endIndex = totalRows
			for index = startIndex, endIndex do
				if testTable[index] and testTable[index] ~= nil then
					if isMouseInPosition(20+((index-1)*107)+addedValue, 250, 107, 101) or (selected[1] == 20+((index-1)*107)+addedValue and selected[2] == 250 and selected[3] == 107 and selected[4] == 101) then
						dxDrawRectangle(20+((index-1)*107)+addedValue, 250, 107, 101, tocolor(0, 0, 0, 150), false)
						dxDrawText(tostring(testTable[index]), 20+((index-1)*107), 250, 127+(((index-1)*107)), 350, tocolor(150, 150, 150, 255), 1.00, "default", "center", "center", false, false, false, false, false)
					else
						dxDrawRectangle(20+((index-1)*107)+addedValue, 250, 107, 101, tocolor(62, 194, 68, 150), false)
						dxDrawText(tostring(testTable[index]), 20+((index-1)*107), 250, 127+(((index-1)*107)), 350, tocolor(255, 255, 255, 255), 1.00, "default", "center", "center", false, false, false, false, false)
					end
				end
			end
		elseif currentLevel > 0 then
			local startIndex = currentLevel*totalRows+1
			local endIndex = (currentLevel+1)*totalRows
			for index = startIndex, endIndex do
				local drawIndex = index-(totalRows*currentLevel)
				if testTable[index] and testTable[index] ~= nil then
					if isMouseInPosition(20+((drawIndex-1)*107), 250, 107, 101) or (selected[1] == 20+((drawIndex-1)*107) and selected[2] == 250 and selected[3] == 107 and selected[4] == 101) then
						dxDrawRectangle(20+((drawIndex-1)*107), 250, 107, 101, tocolor(200, 200, 200, 150), false)
						dxDrawText(tostring(testTable[index]), 20+((drawIndex-1)*107), 250, 127+(((drawIndex-1)*107)), 350, tocolor(255, 255, 255, 255), 1.00, "default", "center", "center", false, false, false, false, false)
					else
						dxDrawRectangle(20+((drawIndex-1)*107), 250, 107, 101, tocolor(62, 194, 68, 150), false)
						dxDrawText(tostring(testTable[index]), 20+((drawIndex-1)*107), 250, 127+(((drawIndex-1)*107)), 350, tocolor(255, 255, 255, 255), 1.00, "default", "center", "center", false, false, false, false, false)				
					end
				end
			end
		end
    end
)

bindKey("a", "down",
	function()
		currentLevel = currentLevel - 1
		if currentLevel < 0 then
			currentLevel = scrollLevel
		end
	end
)

bindKey("d", "down",
	function()
		currentLevel = currentLevel + 1
		if currentLevel > scrollLevel then
			currentLevel = 0
		end
	end
)

addEventHandler("onClientClick", root,
	function(b,s)
		if b == "left" and s == "down" then
			selected = {}
			local startIndex, endIndex
			if currentLevel > 0 then
				startIndex = currentLevel*totalRows+1
				endIndex = (currentLevel+1)*totalRows
			else
				startIndex = 1
				endIndex = totalRows
			end
			for index = startIndex, endIndex do
				local drawIndex
				if currentLevel > 0 then
					drawIndex = index-(totalRows*currentLevel)
				else
					drawIndex = index
				end
				if testTable[index] and testTable[index] ~= nil then
					if isMouseInPosition(20+((drawIndex-1)*107), 250, 107, 101) then
						selected = {20+((drawIndex-1)*107), 250, 107, 101}
					end
				end
			end
		end
	end
)

بص هو واي فاي ساعدك بس صراحه مش عايز امسح الي كتبته ?

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

بما اني معتزل قلت ممكن يفيدك او تاخد منه فكره اسهل عن السكرول بار

  • Thanks 1
Link to comment
Just now, #َxLysandeR said:

بما اني معتزل قلت ممكن يفيدك او تاخد منه فكره اسهل عن السكرول بار

حبيبي تسلم لكن الفكره مش هنا انا ممكن اعمله لو ل 1 جريد لست

لكن انا عايز اعمله لاي جريد لست

لول

فعشان كده عايزه نسبة وتناسب هوا ده اللي بكلم فيه لكن عالعموم تسلم

❤️

 

  • Like 1
Link to comment
1 minute ago, Master_MTA said:

حبيبي تسلم لكن الفكره مش هنا انا ممكن اعمله لو ل 1 جريد لست

لكن انا عايز اعمله لاي جريد لست

لول

فعشان كده عايزه نسبة وتناسب هوا ده اللي بكلم فيه لكن عالعموم تسلم

❤️

 

اها معلش فهمت غلط , مش مشكله خلاص واي فاي عمل الواجب معك 

:D

 

  • Like 1
Link to comment
11 hours ago, iMr.WiFi..! said:

راح اوضح الطريقة بالرسم :

لم تزبط معنا لكني سويت طريقة غيرها شوي

مسوي 3 تيبل

الاوله اللي فيها الروز اللي مب ظاهره فوق الرو الظاهره حاليا

الثانيه فيها الرو الظاهره حاليا

والثالثه

فيها الرو اللي مب ظاهره تحت الرو الظاهره حاليا هههه

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

+_+

Link to comment

احسب مجموع الارتفاعات لكل الروز

واقسم الناتج على ١٠٠

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

 

نفترض ان ارتفاع الرو الواحد 25

وعدد الروز 6

 مجموع الارتفاعات بيصير ١٥٠

١٥٠/١٠٠ = ١.٥

والسكرول ٥٠

١.٥*٥٠ = ٧٥

 

75 هذي الاحداثي الرأسي

والحين تحتاج  حساب بسيط عشان تعرف رقم الرو الي عند 75

تقسم الاحداثي على ارتفاع الرو الواحد الي هو 25

75/25 = 3

الجواب معقول لان السكرول في النص والثلاثة نص الستة

بس لاتنسى تستخدم math.floor

لان ممكن يطلع رقم الرو بفاصلة

 

وطبعاً في النهاية تسوي لوب يبدأ من 3 الي حسبناها

Link to comment
2 hours ago, Master_MTA said:

لم تزبط معنا لكني سويت طريقة غيرها شوي

مسوي 3 تيبل

الاوله اللي فيها الروز اللي مب ظاهره فوق الرو الظاهره حاليا

الثانيه فيها الرو الظاهره حاليا

والثالثه

فيها الرو اللي مب ظاهره تحت الرو الظاهره حاليا هههه

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

+_+

مايحتاج 3 تيبلز بالكثير تقدر تسويه بواحد بس اذا تبي يعني توزع القيم بشكل افضل استعمل جدولين
الجدول الاول تكون فيه كافة قيم الجريد ليست
والجدول الثاني القيم الي تظهر فقط .

- دون ان انسى ذكر طريقة حسين الي ذكرها قبل
تعتبر كويسة بس استعمل الي يعجبك لان طريقة حسين بالحسابات وانا بالجداول ..

Edited by iMr.WiFi..!
Link to comment
5 hours ago, H25 said:

احسب مجموع الارتفاعات لكل الروز

واقسم الناتج على ١٠٠

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

 

نفترض ان ارتفاع الرو الواحد 25

وعدد الروز 6

 مجموع الارتفاعات بيصير ١٥٠

١٥٠/١٠٠ = ١.٥

والسكرول ٥٠

١.٥*٥٠ = ٧٥

 

75 هذي الاحداثي الرأسي

والحين تحتاج  حساب بسيط عشان تعرف رقم الرو الي عند 75

تقسم الاحداثي على ارتفاع الرو الواحد الي هو 25

75/25 = 3

الجواب معقول لان السكرول في النص والثلاثة نص الستة

بس لاتنسى تستخدم math.floor

لان ممكن يطلع رقم الرو بفاصلة

 

وطبعاً في النهاية تسوي لوب يبدأ من 3 الي حسبناها

انت جبت النص الاول حق طريقتي

بالفعل لكن طريقة العرض حقتي تختلف

2 hours ago, N3xT said:

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

نفس فكرتة حسين

4 hours ago, iMr.WiFi..! said:

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

+_+ مشكور انا خلصت تقريبا

Link to comment

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.
×
×
  • Create New...