ผู้เขียน หัวข้อ: Script Function /ทิปต่าง ๆ ใน HOSxP ครับ  (อ่าน 4283 ครั้ง)

0 สมาชิก และ 1 บุคคลทั่วไป กำลังดูหัวข้อนี้

dusit

  • บุคคลทั่วไป
Script Function /ทิปต่าง ๆ ใน HOSxP ครับ
« เมื่อ: กรกฎาคม 08, 2010, 09:04:17 AM »
0
อบรมแล้วถ้าไม่ได้ใช้ก็อาจจะลืมครับ
เลยเอา Source code หรือ How to เกี่ยวกับฟังชั่นและการทำงานต่าง ๆ ที่ อ.ชัยพร ได้พัฒนาไว้บน web
มาศึกษาและรู้ถึงการนำไปใช้ และสามารถเอาไปใช้ประโยชน์กับงานได้ครับ ซึ่งมีหลายหลายและมากมายบางตัวอย่าง นำไปทำอย่างอื่นได้หลายชิ้นงานเลยทีเดียว

และขออนุญาติ อ.  ชัยพร ในการนำเสนอด้วย ครับ โดยใช้ Source ต้นแบบของ อ. ชัยพร ครับ
ถ้า อ. ไม่ว่าอะไร ครับ

จุดประสงค์เพื่อให้ขยายและสร้างความรู้ใน Pascal Script รวมถึงการนำไปประยุกต์ใช้งาน

โดยเนื้อหาจะประกอบด้วย
1. ชื่อ Function หรือ เรื่อง
2. ประโยชน์ในการนำไปใช้
3. รูปแบบการนำไปใช้
4. ตัวอย่างการนำไปใช้
5. Source Code เพื่อศึกษา
 
(ข้อความทดลองนะครับ ประมาณนี้)

เริ่มด้วย...ฟังชั่น GetHOSVariable
หลายครั้งเวลาที่เราจะดูว่า ตัวแปรในระบบในเมนู System Setting เราอาจจะต้องมาพิมพ์
select sys_value from sys_var where sys_name='XXXX'
เราก็จะทราบค่านั้น ๆ

แต่ฟังชั่นนี้ สามารถใช้งานง่ายกว่า แค่เพียง ใช้
var v:string;
v:=GetHOSVariable('XXXX');

รูปแบบ
GetHOSVariable(sn: string): string;
ระบค่าตัวแปร sn=ชื่อตัวแปรในระบบ เช่น surveil_hserv คือรหัสสถานบริการ506
ค่าที่ส่งกลับ = string


ตัวอย่างการนำไปใช้

showmessage := strtoint(gethosvariable('surveil_hserv'));

ตัวอย่างนี้จะส่งค่ารหัสสถานบริการ506 มาแสดงครับ

Source Code ต้นฉบับ
function GetHOSVariable(sn: string): string;
var
  tc: tclientdataset;
begin
  tc := tclientdataset.create(nil);
  try
    with tc do
    begin
      application.processmessages;
      result := '';
      close;

      data :=
        HOSxP_GetDataSet('select count(*) as cc from sys_var where sys_name="' +
        sn
        +
        '"');

      if fieldbyname('cc').asinteger > 0 then
      begin
        close;

        data := HOSxP_GetDataSet('select sys_value from sys_var where sys_name="'
          + sn +
          '"');

        // application.processmessages;
        result := fieldbyname('sys_value').asstring;

        close;
      end
      else
      begin
        close;

        data := HOSxP_GetDataset('select * from sys_var where sys_name="' + sn +
          '"');

        application.processmessages;
        insert;
        fieldbyname('sys_name').asstring := sn;
        post;

        if changecount > 0 then
          HOSxP_UpdateDelta(delta, 'select * from sys_var where sys_name="' + sn
            + '"');

      end;
      close;
    end;

  finally

    tc.free;
  end;

end;

« แก้ไขครั้งสุดท้าย: กรกฎาคม 08, 2010, 09:16:05 AM โดย Dusit »

ออฟไลน์ LDHP

  • Full Member
  • ***
  • กระทู้: 128
  • พิศมัย พื้นนวล พยาบาลชำนาญการ - โรงพยาบาลลำดวน
  • Respect: 0
    • ดูรายละเอียด
Re: Script Function /ทิปต่าง ๆ ใน HOSxP ครับ
« ตอบกลับ #1 เมื่อ: สิงหาคม 11, 2010, 23:04:31 PM »
0
ขอบคุณมากค่ะ   กำลังคิดหาวิธีที่เอาค่าเซ็ตติ้งเามาใช้พอดีเลย
master : ibm 3350 xeon 2.66GHz ram 2G  HD 144
  cenos 5.3 mysql 5.1.30

     slave : P4  2.8GHz  ram 2G HD 80G
        redhat 5.0 mysql 5.0.41


ขอขอบคุณท่านอาจารย์ทั้งหลายนะค่ะ ที่ช่วยเหลือให้ความรู้มากมาย