BMS-HOSxP Community
HOSxP => แจ้งปัญหา / ขอความช่วยเหลือ => ข้อความที่เริ่มโดย: navyNP ที่ มกราคม 09, 2010, 19:21:41 PM
-
คือผมต้องการเพิ่มค่าการแปลผล BMI ใน OPD card โดยเอา field BMI ไปแปลผลเป็น
ถ้า bmi น้อยกว่า 18.5 ให้แสดงผลเป็น "ผอม"
ถ้า bmi มากกว่า 18.5 แต่น้อยกว่า 23.0 ให้แสดงผลเป็น "ปกติ"
ถ้า bmi มากกว่า 23.0 แต่น้อยกว่า 25.0 ให้แสดงผลเป็น "น้ำหนักเกิน"
ถ้า bmi มากกว่า 25.0 แต่น้อยกว่า 30.0 ให้แสดงผลเป็น "อ้วนระดับที่ 1"
ถ้า bmi มากกว่า 30.0 ให้แสดงผลเป็น "อ้วนระดับที่ 2"
โดยผมลองเอา fieid BMI ในตาราง opdscreen ไปสร้างคำสั่งใน OnGetText เป็น
begin
If DBPipeline['bmi'] <'18.5' then
Text := 'ผอม'
else
Text := '';
end;
ได้แค่ค่าเดียว แล้วค่าที่เหลือจะต้องทำอย่างไรครับถึงจะแสดงค่าครบ ขอคำแนะนำด้วยครับ ;D
-
ลองแบบนี้ดูครับ
begin
If DBPipeline['bmi'] <'18.5' then
Text := 'ผอม';
If DBPipeline['bmi'] >'18.5' then
Text := 'ปกติ';
If DBPipeline['bmi'] >'23.0' then
Text := 'น้ำหนักเกิน';
If DBPipeline['bmi'] >'25.0' then
Text := 'อ้วนระดับที่ 1';
If DBPipeline['bmi'] >'30.0' then
Text := 'อ้วนระดับที่ 2'
else
Text := '';
end;
-
ขอบคุณครับ แต่ผมว่ามันไม่น่าจะได้หรือเปล่าครับ
สมมุติว่าค่า BMI = 25.5 มันจะแปลผลเป็นอะไรครับ "ปกติ" , "น้ำหนักเกิน" หรือ "อ้วน" ครับ เพราะมันใช่ทุกค่าคือ >18.5, >23.0 และ >23.0(พอดียังไม่ได้ลองดูจริงๆ เพราะไม่ได้อยู่ รพ.ฯ ครับ เดี๋ยวไว้ไปลองกับเครื่องที่บ้านครับ ;D)
-
http://www.delphibasics.co.uk/RTL.asp?Name=Case
และ
http://www.thai-programmer.com/?DPage=90300305
-
คือผมต้องการเพิ่มค่าการแปลผล BMI ใน OPD card โดยเอา field BMI ไปแปลผลเป็น
ถ้า bmi น้อยกว่า 18.5 ให้แสดงผลเป็น "ผอม"
ถ้า bmi มากกว่า 18.5 แต่น้อยกว่า 23.0 ให้แสดงผลเป็น "ปกติ"
ถ้า bmi มากกว่า 23.0 แต่น้อยกว่า 25.0 ให้แสดงผลเป็น "น้ำหนักเกิน"
ถ้า bmi มากกว่า 25.0 แต่น้อยกว่า 30.0 ให้แสดงผลเป็น "อ้วนระดับที่ 1"
ถ้า bmi มากกว่า 30.0 ให้แสดงผลเป็น "อ้วนระดับที่ 2"
โดยผมลองเอา fieid BMI ในตาราง opdscreen ไปสร้างคำสั่งใน OnGetText เป็น
begin
If DBPipeline['bmi'] <'18.5' then
Text := 'ผอม'
else
Text := '';
end;
ได้แค่ค่าเดียว แล้วค่าที่เหลือจะต้องทำอย่างไรครับถึงจะแสดงค่าครบ ขอคำแนะนำด้วยครับ ;D
เงื่อนไข if ซ้อน if แบบต่อเนื่อง
ใน บางครั้งเราต้องตรวจสอบเงื่อนไขไปเรื่อยๆ ทีละเงื่อนไขว่าจริงหรือไม่ ก็จะเป็นการใช้งานแบบ if ซ้อน if ไปเรื่อยๆ กี่ชั้นก็ได้ ซึ่งมีรูปแบบ ดังนี้
รูปแบบ
if เงื่อนไข then
ทางเลื่อกที่ 1 เมื่อเงื่อนไขเป็นจริง
else
if เงื่อนไข then
ทางเลื่อกที่ 2 เมื่อเงื่อนไขเป็นจริง
else
if เงื่อนไข then
ทางเลื่อกที่ 3 เมื่อเงื่อนไขเป็นจริง
else
if เงื่อนไข then
ทางเลื่อกที่ 4 เมื่อเงื่อนไขเป็นจริง
แบบนี้สอนให้ก่อนแล้วกัน ทดสอบเอามาใส่ดูครับ
-
ได้แล้วครับ ตามที่ อ.pop_hosxp แนะนำ ขอบคุณ อ.ทั้งสองมากครับ แล้วถ้าต้องการให้ font เปลี่ยนสีได้เมื่อผิดปกติล่ะครับ มันจะทำได้เหมือน Excel ไหมครับ(อันนี้ถามประดับความรู้เฉยๆ ครับ ;D เผื่อจะได้เอาไปปรับใช้งานกับฟอร์มอื่นๆ ครับ ตอนนี้กำลังเตรียมจะทำระบบตรวจสุขภาพประจำปีข้าราชการกองทัพเรืออยู่ ในเวลาอันใกล้นี้คงจะได้ไปเยี่ยม อ.MN สักครา ;D)
-
ได้แล้วครับ ตามที่ อ.pop_hosxp แนะนำ ขอบคุณ อ.ทั้งสองมากครับ แล้วถ้าต้องการให้ font เปลี่ยนสีได้เมื่อผิดปกติล่ะครับ มันจะทำได้เหมือน Excel ไหมครับ(อันนี้ถามประดับความรู้เฉยๆ ครับ ;D เผื่อจะได้เอาไปปรับใช้งานกับฟอร์มอื่นๆ ครับ ตอนนี้กำลังเตรียมจะทำระบบตรวจสุขภาพประจำปีข้าราชการกองทัพเรืออยู่ ในเวลาอันใกล้นี้คงจะได้ไปเยี่ยม อ.MN สักครา ;D)
ได้ครับ
แต่ต้องอ้างอิง สี ด้วยครับ
เดียวจะหาตัวอย่างมาให้ พี่ส่งฟอร์มขึ้นมาแล้วกัน
;D
-
ขอบคุณล่วงหน้าครับ อ.อ๊อด ;D
-
ได้แล้วครับ ตามที่ อ.pop_hosxp แนะนำ ขอบคุณ อ.ทั้งสองมากครับ แล้วถ้าต้องการให้ font เปลี่ยนสีได้เมื่อผิดปกติล่ะครับ มันจะทำได้เหมือน Excel ไหมครับ(อันนี้ถามประดับความรู้เฉยๆ ครับ ;D เผื่อจะได้เอาไปปรับใช้งานกับฟอร์มอื่นๆ ครับ ตอนนี้กำลังเตรียมจะทำระบบตรวจสุขภาพประจำปีข้าราชการกองทัพเรืออยู่ ในเวลาอันใกล้นี้คงจะได้ไปเยี่ยม อ.MN สักครา ;D)
ผมได้ลองทดสอบแล้วครับว่าถูกต้องหรือเปล่า เพราะทีแรกก็ไม่แน่ใจเหมือนกันว่าจะถูกหรือเปล่า สุดท้ายก็ได้อย่างที่เห็น นั่งงมอยู่นานเหมือนกันเพราะเจ้า semicolon ตัวเดียว
ปล.กด accept หรือ thank เบา ๆ ก็ได้ครับ ;D ;D