BMS-HOSxP Community
HOSxP => แจ้งปัญหา / ขอความช่วยเหลือ => ข้อความที่เริ่มโดย: niyomstd ที่ มีนาคม 09, 2011, 12:38:25 PM
-
สอบถามเรื่องการใช้คำสั่ง IF ครับ
-
สอบถามเรื่องการใช้คำสั่ง IF ครับ
if variable2.value<=250 then
begin
variable2.Value:='ปปป';
end
else
begin
variable2.Value:='ผผผผ';
end;
ดูจาก code แล้วน่าจะเป็นแบบนี้ครับ จริง ๆ ดึงจาก DBpipeLine เลยก็ได้นะครับ
;D ;D ;D
-
สอบถามเรื่องการใช้คำสั่ง IF ครับ
if variable2.value<=250 then
begin
variable2.Value:='ปปป';
end
else
begin
variable2.Value:='ผผผผ';
end;
ดูจาก code แล้วน่าจะเป็นแบบนี้ครับ จริง ๆ ดึงจาก DBpipeLine เลยก็ได้นะครับ
;D ;D ;D
รีบแก้เลยนะบ่อดิน
Variable ต้องกำหนดให้เป็น Integer หรือ Single เพื่อให้สามารถนำมาเปรียบเทียบได้
และไม่จำเป็นต้องใส่ begin...end ก็ได้ครับ เพราะมี statement เดียว หลัง then และ หลัง else
ลองทำนะครับ
-
สอบถามเรื่องการใช้คำสั่ง IF ครับ
if variable2.value<=250 then
begin
variable2.Value:='ปปป';
end
else
begin
variable2.Value:='ผผผผ';
end;
ดูจาก code แล้วน่าจะเป็นแบบนี้ครับ จริง ๆ ดึงจาก DBpipeLine เลยก็ได้นะครับ
;D ;D ;D
รีบแก้เลยนะบ่อดิน
Variable ต้องกำหนดให้เป็น Integer หรือ Single เพื่อให้สามารถนำมาเปรียบเทียบได้
และไม่จำเป็นต้องใส่ begin...end ก็ได้ครับ เพราะมี statement เดียว หลัง then และ หลัง else
ลองทำนะครับ
;D ;D ;D คิดว่าจะเหมือน C# อิอิ
งั้น แบบนี้ก็ได้
if variable2.value<=250 then
variable2.Value:='ปปป'
else
variable2.Value:='ผผผผ';
-
น่าจะเป็นแบบนี้นะ เพราะ variable2 เป็น number เปล่า
แล้ว อยู่ๆ จะใส่ string ลงไปไม่น่าจะได้นะ
ควรสร้างตัวแปร string มารับผลจาก condition อีกทีดีกว่า
แต่ก็ไม่ชัวร์นะ ห่าง pascal มานานแสนนาน
if variable2.value<=250 then
begin
variable3.Value:='มาม่าไม่มี';
end
else
begin
variable3.Value:='มาม่าหมด';
end;
-
;D ;D ;D คิดว่าจะเหมือน C# อิอิ
งั้น แบบนี้ก็ได้
if variable2.value<=250 then
variable2.Value:='ปปป'
else
variable2.Value:='ผผผผ';
ถ้ามีหลาย statement ค่อยใส่ begin...end แต่ต้องระวังเรื่อง semi-colon ปิดท้ายให้ถูกด้วยนะ
-
น่าจะเป็นแบบนี้นะ เพราะ variable2 เป็น number เปล่า
แล้ว อยู่ๆ จะใส่ string ลงไปไม่น่าจะได้นะ
ควรสร้างตัวแปร string มารับผลจาก condition อีกทีดีกว่า
แต่ก็ไม่ชัวร์นะ ห่าง pascal มานานแสนนาน
if variable2.value<=250 then
begin
variable3.Value:='มาม่าไม่มี';
end
else
begin
variable3.Value:='มาม่าหมด';
end;
จริง ๆ ถ้าไม่กำหนด Datatype ของ Variable ไปเป็นอย่างอื่น ที่ไม่ใช่ string ก็ไม่มีปัญหาครับ
if Value=0 then Value:='ศูนย์'; <=== ทำได้ครับ
แต่ถ้ากำหนดเป็นอย่างอื่นไป ก็ไม่ได้ครับ
-
;D ;D ;D คิดว่าจะเหมือน C# อิอิ
งั้น แบบนี้ก็ได้
if variable2.value<=250 then
variable2.Value:='ปปป'
else
variable2.Value:='ผผผผ';
ถ้ามีหลาย statement ค่อยใส่ begin...end แต่ต้องระวังเรื่อง semi-colon ปิดท้ายให้ถูกด้วยนะ
ถ้าภาษา C ในกรณี statement เดียว
if(condition)
statement 1;
else
statement 2;
แต่ Pascal
if condition then
statement 1 <--- ไม่ใส่ Semi-Colon
else
statement 2;
เอาแบบชัด ๆ และ งง ๆ จะได้ งง ๆ เหมือนผม 555555
-
เจอแบบนี้...งง ??? ??? ??? ...มาแล้ว
procedure DBText11OnGetText(var Text: String);
begin
If DBPipeline['range_check'] = 'Y' then
If DBPipeline['result_type'] = 1 then
Text := ''
else
If DBPipeline['result_type'] = 0 then
begin
case DBPipeline['sex'] of
1: If DBPipeline['lab_order_result'] < DBPipeline['range_check_min'] then
Text := 'L'
else
If DBPipeline['lab_order_result'] > DBPipeline['range_check_max'] then
Text := 'H'
else
Text := '';
2: If DBPipeline['lab_order_result'] < DBPipeline['range_check_min_female'] then
Text := 'L'
else
If DBPipeline['lab_order_result'] > DBPipeline['range_check_max_female'] then
Text := 'H'
else
Text := '';
end; {end of case}
end {end of begin}
else
Text := '';
end;
-
แบบนี้ล่ะ...จะงงหรือเปล่า
procedure TitleBeforePrint;
begin
r_Xray := GetSQLStringData('select normal from xray_report where vn="'+DBPipeline['vn']+'"');
If r_Xray = '' then
begin
lblXrayN.visible := false;
lblXrayP.visible := false;
lblXrayT.visible := false;
end
else
If r_Xray = 'Y' then
begin
lblXrayN.visible := true;
lblXrayP.visible := false;
lblXrayT.visible := false;
end
else
If r_Xray = 'N' then
begin
lblXrayN.visible := false;
lblXrayP.visible := true;
lblXrayT.visible := false;
end;
r_Microfilaria := GetSQLStringData('select lab_order_result from lab_order lo join lab_head lh on lh.lab_order_number = lo.lab_order_number where lo.lab_items_code="652" and lh.vn="'+DBPipeline['vn']+'" and lh.lab_receive_number > 0');
If r_Microfilaria = '' then
begin
lblMicrofilariaN.visible := false;
lblMicrofilariaP.visible := false;
lblMicrofilariaT.visible := false;
end
else
If r_Microfilaria = 'Not found' then
begin
lblMicrofilariaN.visible := true;
lblMicrofilariaP.visible := false;
lblMicrofilariaT.visible := false;
end
else
begin
lblMicrofilariaN.visible := false;
lblMicrofilariaP.visible := true;
lblMicrofilariaT.visible := false;
end;
r_VDRL := GetSQLStringData('select lab_order_result from lab_order lo join lab_head lh on lh.lab_order_number = lo.lab_order_number where lo.lab_items_code="325" and lh.vn="'+DBPipeline['vn']+'" and lh.lab_receive_number > 0');
If r_VDRL = '' then
begin
lblVDRL_N.visible := false;
lblVDRL_P.visible := false;
lblVDRL_T.visible := false;
end
else
If r_VDRL = 'Non reactive' then
begin
lblVDRL_N.visible := true;
lblVDRL_P.visible := false;
lblVDRL_T.visible := false;
end
else
begin
lblVDRL_N.visible := false;
lblVDRL_P.visible := true;
lblVDRL_T.visible := false;
end;
r_Methamp := GetSQLStringData('select lab_order_result from lab_order lo join lab_head lh on lh.lab_order_number = lo.lab_order_number where lo.lab_items_code="692" and lh.vn="'+DBPipeline['vn']+'" and lh.lab_receive_number > 0');
If r_Methamp = '' then
begin
lblMethampN.visible := false;
lblMethampP.visible := false;
lblMethampT.visible := false;
end
else
If r_Methamp = 'µÃǨäÁ辺ÊÒÃàʾµÔ´ àÁ·áÍÁ࿵ÒÁÕ¹ ã¹»ÑÊÊÒÇÐ' then
begin
lblMethampN.visible := true;
lblMethampP.visible := false;
lblMethampT.visible := false;
end
else
begin
lblMethampN.visible := false;
lblMethampP.visible := true;
lblMethampT.visible := false;
end;
r_UPT := GetSQLStringData('select lab_order_result from lab_order lo join lab_head lh on lh.lab_order_number = lo.lab_order_number where lo.lab_items_code="40" and lh.vn="'+DBPipeline['vn']+'" and lh.lab_receive_number > 0');
If r_UPT = '' then
begin
lblUPT_N.visible := false;
lblUPT_P.visible := false;
end
else
If UpperCase(r_UPT) = 'NEGATIVE' then
begin
lblUPT_N.visible := true;
lblUPT_P.visible := false;
end
else
If UpperCase(r_UPT) = 'POSITIVE' then
begin
lblUPT_N.visible := false;
lblUPT_P.visible := true;
end;
end;
-
เจอแบบนี้...งง ??? ??? ??? ...มาแล้ว
procedure DBText11OnGetText(var Text: String);
begin
If DBPipeline['range_check'] = 'Y' then
If DBPipeline['result_type'] = 1 then
Text := ''
else
If DBPipeline['result_type'] = 0 then
begin
case DBPipeline['sex'] of
1: If DBPipeline['lab_order_result'] < DBPipeline['range_check_min'] then
Text := 'L'
else
If DBPipeline['lab_order_result'] > DBPipeline['range_check_max'] then
Text := 'H'
else
Text := '';
2: If DBPipeline['lab_order_result'] < DBPipeline['range_check_min_female'] then
Text := 'L'
else
If DBPipeline['lab_order_result'] > DBPipeline['range_check_max_female'] then
Text := 'H'
else
Text := '';
end; {end of case}
end {end of begin}
else
Text := '';
end;
อิอิ IF แล้วมา CASE
ผมไม่ไหวละคร๊าบบบบ 55555
in C++
if(....) {
switch(xx) {
case 1: ...
case 2:...
}
}
;D ;D ;D
-
อิอิ IF แล้วมา CASE
ผมไม่ไหวละคร๊าบบบบ 55555
in C++
if(....) {
switch(xx) {
case 1: ...
case 2:...
}
}
;D ;D ;D
มันต้องใช้อ่ะดิ เลยต้องเขียนแบบนี้
-
อิอิ IF แล้วมา CASE
ผมไม่ไหวละคร๊าบบบบ 55555
in C++
if(....) {
switch(xx) {
case 1: ...
case 2:...
}
}
;D ;D ;D
มันต้องใช้อ่ะดิ เลยต้องเขียนแบบนี้
อิอิ เป็นคนที่มีเงื่อนไข ในการทำ รายงาน มาก
-
อิอิ เป็นคนที่มีเงื่อนไข ในการทำ รายงาน มาก
เงื่อนไขมันมากับข้อมูล ต้องทำให้ถูกด้วย
-
ขอบคุณครับจะทดลองครับได้ผลยังไงจะแจ้งให้ทราบอีกทีครับ ;D ;D
-
มีตัวอย่างการใช้งานมั้ยครับ ;D :D ;)
-
มีตัวอย่างการใช้งานมั้ยครับ ;D :D ;)
ตัวอย่างอะไรครับ... ??? ???
-
ไม่รู้จะถูกหรือเปล่าครับ ผมทำแบบนี้
-
ืทดสอบการเขียน IF ในโปรแกรม check up ใน HoSxp แ้ล้า ค่าที่ได้ออกมา ไม่ถูกต้อง
จะต้องกำหนดอย่างไรครับ
If DBPipeline['rpt1'] >'12.8' then
begin
variable1.text := '»¡µÔ';
end
else
begin
variable1.text := '¼Ô´»¡µÔ';
end;
-
ืทดสอบการเขียน IF ในโปรแกรม check up ใน HoSxp แ้ล้า ค่าที่ได้ออกมา ไม่ถูกต้อง
จะต้องกำหนดอย่างไรครับ
If DBPipeline['rpt1'] >'12.8' then
begin
variable1.text := '»¡µÔ';
end
else
begin
variable1.text := '¼Ô´»¡µÔ';
end;
ส่งรายงานเป็น .cds มาดูครับ
-
จัดไปครับ
-
ลองใช้ If StrToFloat( DBPipeline['rpt1'] ) >'12.8' then..
ดูนะครับ เพราะ field rpt1 เป็น string
:)
-
ใช้คำสั่งนี้แล้ว Error ครับท่านบอดิน
-
ใช้คำสั่งนี้แล้ว Error ครับท่านบอดิน
;D ;D ;D
If StrToCurr(DBPipeline['rpt1']) >12.8 then
ลองแบบนี้ดูครับ ;D ;D ;D น่าจะได้ เมื่อกี้ไม่ได้ทดสอบ
-
สมมุติว่าค่า ปกติ อยู่ระหว่าง 12.9-17.5 เราจะใช้ IF อย่างไรครับ
-
สมมุติว่าค่า ปกติ อยู่ระหว่าง 12.9-17.5 เราจะใช้ IF อย่างไรครับ
If StrToCurr(DBPipeline['rpt1']) >12.8 then
ลองแบบนี้ดูครับ น่าจะได้ เมื่อกี้ไม่ได้ทดสอบ
if (StrToCurr(DBPipeLine['rpt1']) >= 12.9) and (StrToCurr(DBPipeLine['rpt1']) <= 17.5) then
;D ;D
-
ขอบคุณมากครับท่าน บ่อดิน
ดูผลงานครับ
-
ขอบคุณมากครับท่าน บ่อดิน
ดูผลงานครับ
;D ;D ;D
จริง ๆ เขียนแค่นี้ก็ได้ครับ
if (StrToCurr(DBPipeLine['rpt1']) >= 12.9) and (StrToCurr(DBPipeLine['rpt1']) <= 17.5) then
variable1.text := 'ปกติ'
else
variable1.text := 'ผิดปกติ';
ไม่ต้องมี begin...end กับ statement เดียวครับ ;D ;D
code จะได้สั้นลง
-
ขอบคุณท่านบ่อ ผมขึ้นประชุมช่วงบ่ายเลยไม่ได้มาตอบให้
-
ขอบคุณท่านบ่อ ผมขึ้นประชุมช่วงบ่ายเลยไม่ได้มาตอบให้
ยินดีครับ ;D ;D