ct2.text= Val(Val(b1.text) + Val(b2.Text))
xy2 = ct2.text
Select Case xy2
Case Is < 10
c1.caption = ct2.text
c2.caption = 10 - c2.text
Case 10 To 20
a1.text = Val( Val(x1.text-0.03) + x4.text)
a2.text = Val(x3.text + x4.text)
c1.text= Val(a1.text) + Val(a2.text)
c2.text =20 - c1.text
if a1.text or a2.text > 10 then
a3.text = x2.text+x4.text
a4.text = x3.text +x4.text
c1.text= Val(a3.text) + Val(a4.text)
c2.text =20 - c1.text
elseif a3.text or a4.text > 10 then
a5.text = x6.text+x7.text
a6.text = x7.text +x4.text
c1.text= Val(a5.text) + Val(a6.text)
c2.text =20 - c1.text
elseif a5.text or a6.text > 10 then
a7.text = x6.text+x8.text
a8.text = x8.text +x5.text
c1.text= Val(a7.text) + Val(a8.text)
c2.text =20 - c1.text
else
c1.text= "fail"
c2.text =20 - "fail"
end if
อาจจะงง ว่าผมต้องการหาอะไร คือ ct2.text คือผลรวมเหล็กเสริมที่ต้องการจะแยกชิ้นส่วนเป็นท่อน ๆ
และแต่ละท่อนนั้น ต้องไม่เกิน 10
ถ้า < 10 ก็ใช้ ท่อน 1 ท่อน
ถ้า > 10 ถึง 20 ก็ใช้ 2 ท่อน และต้องเลือกวิธีการแยก ว่าแต่ละท่อนยาวเท่าไหร่ตามสูตรซึ่งมันมี4 สูตร
ถ้าสูตรที่ 1 a1.text = Val( Val(x1.text-0.03) + x4.text)
a2.text = Val(x3.text + x4.text)
ไม่เกิน 10 ก็จะใช้สูตรที่ 1
ถ้าเกิน 10 ก็ใช้ลองใช้สูตรที่ 2 a3.text = x2.text+x4.text
a4.text = x3.text +x4.text
ไม่เกิน 10 ก็จะใช้สูตรที่ 2
ถ้าเกิน 10 ก็ใช้ลองใช้สูตรที่ 3 a5.text = x6.text+x7.text
a6.text = x7.text +x4.text
ไม่เกิน 10 ก็จะใช้สูตรที่ 3
ถ้าเกิน 10 ก็ใช้ลองใช้สูตรที่ 4 a7.text = x6.text+x8.text
a8.text = x8.text +x5.text
ไม่เกิน 10 ก็จะใช้สูตรที่ 4
ไม่เข้าเงื่อนไข = fail่
*** ปัญหามันติดตรงที่ เมื่อ ใส่ code สูตรเยอะขึ้น คำตอบมันได้ตั้งแต่สูตรที่ 1 แล้ว แต่มันกลับตอบทีสูตร3 ซึ่งมันก็เป็นคำตอบได้เหมือนกันแต่มันไม่ใช่คำตอบที่ถูกต้องที่สุด อย่างกับสูตรที่ 1
ปล. ขอบคุณสำหรับคำตอบนะครับ ผมศึกษาVBเองไม่ได้เรียนจริงจัง ลองผิดลองถูกดู นี่ก็ทำวิทยานิพนธิ์จบ เรื่องประมาณเหล็กเสริมโครงสร้างอยู่ครับ
[vb6]ช่วยด้วยครับ
xy2 = ct2.text
Select Case xy2
Case Is < 10
c1.caption = ct2.text
c2.caption = 10 - c2.text
Case 10 To 20
a1.text = Val( Val(x1.text-0.03) + x4.text)
a2.text = Val(x3.text + x4.text)
c1.text= Val(a1.text) + Val(a2.text)
c2.text =20 - c1.text
if a1.text or a2.text > 10 then
a3.text = x2.text+x4.text
a4.text = x3.text +x4.text
c1.text= Val(a3.text) + Val(a4.text)
c2.text =20 - c1.text
elseif a3.text or a4.text > 10 then
a5.text = x6.text+x7.text
a6.text = x7.text +x4.text
c1.text= Val(a5.text) + Val(a6.text)
c2.text =20 - c1.text
elseif a5.text or a6.text > 10 then
a7.text = x6.text+x8.text
a8.text = x8.text +x5.text
c1.text= Val(a7.text) + Val(a8.text)
c2.text =20 - c1.text
else
c1.text= "fail"
c2.text =20 - "fail"
end if
อาจจะงง ว่าผมต้องการหาอะไร คือ ct2.text คือผลรวมเหล็กเสริมที่ต้องการจะแยกชิ้นส่วนเป็นท่อน ๆ
และแต่ละท่อนนั้น ต้องไม่เกิน 10
ถ้า < 10 ก็ใช้ ท่อน 1 ท่อน
ถ้า > 10 ถึง 20 ก็ใช้ 2 ท่อน และต้องเลือกวิธีการแยก ว่าแต่ละท่อนยาวเท่าไหร่ตามสูตรซึ่งมันมี4 สูตร
ถ้าสูตรที่ 1 a1.text = Val( Val(x1.text-0.03) + x4.text)
a2.text = Val(x3.text + x4.text)
ไม่เกิน 10 ก็จะใช้สูตรที่ 1
ถ้าเกิน 10 ก็ใช้ลองใช้สูตรที่ 2 a3.text = x2.text+x4.text
a4.text = x3.text +x4.text
ไม่เกิน 10 ก็จะใช้สูตรที่ 2
ถ้าเกิน 10 ก็ใช้ลองใช้สูตรที่ 3 a5.text = x6.text+x7.text
a6.text = x7.text +x4.text
ไม่เกิน 10 ก็จะใช้สูตรที่ 3
ถ้าเกิน 10 ก็ใช้ลองใช้สูตรที่ 4 a7.text = x6.text+x8.text
a8.text = x8.text +x5.text
ไม่เกิน 10 ก็จะใช้สูตรที่ 4
ไม่เข้าเงื่อนไข = fail่
*** ปัญหามันติดตรงที่ เมื่อ ใส่ code สูตรเยอะขึ้น คำตอบมันได้ตั้งแต่สูตรที่ 1 แล้ว แต่มันกลับตอบทีสูตร3 ซึ่งมันก็เป็นคำตอบได้เหมือนกันแต่มันไม่ใช่คำตอบที่ถูกต้องที่สุด อย่างกับสูตรที่ 1
ปล. ขอบคุณสำหรับคำตอบนะครับ ผมศึกษาVBเองไม่ได้เรียนจริงจัง ลองผิดลองถูกดู นี่ก็ทำวิทยานิพนธิ์จบ เรื่องประมาณเหล็กเสริมโครงสร้างอยู่ครับ