อบรมแล้วถ้าไม่ได้ใช้ก็อาจจะลืมครับ
เลยเอา 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;