ผู้เขียน หัวข้อ: การเขียน Pascal script ในระบบ UE 3.54.x.x  (อ่าน 19146 ครั้ง)

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

ออฟไลน์ manoi

  • Hero Member
  • *****
  • กระทู้: 8,669
  • Respect: +170
    • ดูรายละเอียด
    • HOSxP Community Center
การเขียน Pascal script ในระบบ UE 3.54.x.x
« เมื่อ: มกราคม 03, 2011, 20:57:29 PM »
0
เนื่องจากผมได้อธิบายไว้ที่เชียงใหม่ว่าในระบบ UE มีการปรับปรุง Pascal script ใหม่ แต่เนื่องจากเวลามีจำกัดจึงอธิบายทั้งหมดไม่ได้ ขอเปิดกระทู้อธิบายเลยก็แล้วกันนะครับ   ;D


อันดับแรกเลยครับ มีการย้าย การวาง Component ไปเป็น Popup Menu ครับ
« แก้ไขครั้งสุดท้าย: มกราคม 03, 2011, 21:00:48 PM โดย manoi »
HOSxP Project Manager / Cheif Developer / BMS MD

ออฟไลน์ manoi

  • Hero Member
  • *****
  • กระทู้: 8,669
  • Respect: +170
    • ดูรายละเอียด
    • HOSxP Community Center
Re: การเขียน Pascal script ในระบบ UE 3.54.x.x
« ตอบกลับ #1 เมื่อ: มกราคม 03, 2011, 21:04:10 PM »
0
การเขียน Script ควบคุม component ใน Form มีรูปแบบง่ายๆ ดังนี้ครับ

1. สามารถกำหนด Property ของ Component ต่างๆ ได้ โดยการใช้ Type Casting ผ่าน UEForm.FindComponent ครับ เช่น หากต้องการกำหนด Property caption ของ Label ใน Form ก็สามารถเขียนคำสั่งได้ดังตัวอย่าง

TLabel(UEForm.FindComponent('UELabel8681')).Caption := 'Test Caption';
« แก้ไขครั้งสุดท้าย: มกราคม 03, 2011, 21:06:17 PM โดย manoi »
HOSxP Project Manager / Cheif Developer / BMS MD

ออฟไลน์ manoi

  • Hero Member
  • *****
  • กระทู้: 8,669
  • Respect: +170
    • ดูรายละเอียด
    • HOSxP Community Center
Re: การเขียน Pascal script ในระบบ UE 3.54.x.x
« ตอบกลับ #2 เมื่อ: มกราคม 03, 2011, 21:07:14 PM »
0
2. Property ที่สามารถกำหนดได้ ตอนนี้จะเป็นเฉพาะ key Property ที่สำคัญๆ ครับ เช่น TEdit ก็จะเป็น Text
HOSxP Project Manager / Cheif Developer / BMS MD

ออฟไลน์ manoi

  • Hero Member
  • *****
  • กระทู้: 8,669
  • Respect: +170
    • ดูรายละเอียด
    • HOSxP Community Center
Re: การเขียน Pascal script ในระบบ UE 3.54.x.x
« ตอบกลับ #3 เมื่อ: มกราคม 03, 2011, 21:10:51 PM »
0
3. การประกาศตัวแปร สามารถประกาศได้เลย โดยใช้คำสำคัญว่า var ข้างหน้า แล้วเรียกใช้งานบรรทัดถัดไปได้เลยครับ เช่น

var i : Integer;

for i:=1 to 10 do
begin
  TListBox(UEForm.FindComponent('UEListBox7027')).items.add(IntToStr(i));
end;
HOSxP Project Manager / Cheif Developer / BMS MD

ออฟไลน์ manoi

  • Hero Member
  • *****
  • กระทู้: 8,669
  • Respect: +170
    • ดูรายละเอียด
    • HOSxP Community Center
Re: การเขียน Pascal script ในระบบ UE 3.54.x.x
« ตอบกลับ #4 เมื่อ: มกราคม 03, 2011, 21:13:35 PM »
0
4. มี Component ที่สามารถเพิ่มเข้าไปใน Form ได้อีก 1 ตัวคือ DBGrid ครับ สามารถกำหนด Column ได้โดยการคลิกขวาที่ Grid แล้วเลือก DBGrid Properties
HOSxP Project Manager / Cheif Developer / BMS MD

ออฟไลน์ manoi

  • Hero Member
  • *****
  • กระทู้: 8,669
  • Respect: +170
    • ดูรายละเอียด
    • HOSxP Community Center
Re: การเขียน Pascal script ในระบบ UE 3.54.x.x
« ตอบกลับ #5 เมื่อ: มกราคม 03, 2011, 21:16:47 PM »
0
DBGrid ทุกตัวที่สร้างเอาไว้ จะมี DataSource / DataSet สร้างให้อัตโนมัติครับ สามารถดึงข้อมูลมาใส่ใน Dataset ด้วยคำสั่ง SQL ผ่านปุ่ม Assign SQL Data ได้ครับ (เพื่อนำมาแสดงเป็นตัวอย่างตอนออกแบบก่อน)

จากนั้นจึงค่อยกำหนด Property FieldName ครับว่าจะให้นำค่าจาก Field อะไรมาแสดง
HOSxP Project Manager / Cheif Developer / BMS MD

ออฟไลน์ manoi

  • Hero Member
  • *****
  • กระทู้: 8,669
  • Respect: +170
    • ดูรายละเอียด
    • HOSxP Community Center
Re: การเขียน Pascal script ในระบบ UE 3.54.x.x
« ตอบกลับ #6 เมื่อ: มกราคม 03, 2011, 21:22:19 PM »
0
เราสามารถกำหนดให้ดึงข้อมูลอะไรก็ได้มาแสดงใน DbGrid โดยใช้วิธี Type Casting แบบนี้ครับ

TClientDataset(TDBGrid(UEForm.FindComponent('UEDBGrid3371')).DataSource.Dataset).Data :=HOSxP_GetDataset('select * from pttype');
HOSxP Project Manager / Cheif Developer / BMS MD

ออฟไลน์ manoi

  • Hero Member
  • *****
  • กระทู้: 8,669
  • Respect: +170
    • ดูรายละเอียด
    • HOSxP Community Center
Re: การเขียน Pascal script ในระบบ UE 3.54.x.x
« ตอบกลับ #7 เมื่อ: มกราคม 03, 2011, 21:26:28 PM »
0
หรือจะสร้าง ClientDataset ตัวใหม่ขึ้นมาแล้วกำหนดให้กับ DBGrid ผ่าน DataSource ครับ เช่น


var cds:TClientDataset;
cds:=TClientDataset.create(UEForm);
cds.data:=HOSxP_GetDataset('select * from pttype');
cds.first;
while not cds.eof do
begin
  cds.edit;
  cds.fieldbyname('name').asstring:='Test edit pttype name : '+cds.fieldbyname('pttype').asstring;
  cds.post;
  cds.next;
end;
TDBGrid(UEForm.FindComponent('UEDBGrid3371')).DataSource.DataSet := cds;

HOSxP Project Manager / Cheif Developer / BMS MD

ออฟไลน์ manoi

  • Hero Member
  • *****
  • กระทู้: 8,669
  • Respect: +170
    • ดูรายละเอียด
    • HOSxP Community Center
Re: การเขียน Pascal script ในระบบ UE 3.54.x.x
« ตอบกลับ #8 เมื่อ: มกราคม 03, 2011, 21:31:08 PM »
0
Function อื่นๆ ที่สามารถเรียกใช้ได้ในระบบ UE Script ตอนนี้ก็ตามรูปเลยครับ

ตัวอย่าง function ที่น่าจะได้ใช้ประโยชน์เช่น GetGlobalValue('vn')  จะเป็นการนำค่า VN ของ Visit ที่กำลังบันทึกข้อมูลมาใช้ครับ
« แก้ไขครั้งสุดท้าย: มกราคม 03, 2011, 21:33:40 PM โดย manoi »
HOSxP Project Manager / Cheif Developer / BMS MD

ออฟไลน์ James011

  • Hero Member
  • *****
  • กระทู้: 1,743
  • Respect: +16
    • ดูรายละเอียด
Re: การเขียน Pascal script ในระบบ UE 3.54.x.x
« ตอบกลับ #9 เมื่อ: มกราคม 03, 2011, 22:21:04 PM »
0
 ;D ;D ;D   ขอบคุณครับ

ออฟไลน์ poramat

  • Hero Member
  • *****
  • กระทู้: 1,186
  • Respect: +36
    • ดูรายละเอียด
Re: การเขียน Pascal script ในระบบ UE 3.54.x.x
« ตอบกลับ #10 เมื่อ: มกราคม 03, 2011, 22:29:25 PM »
0
ขอบคุณครับ  :D :D :D
ปรเมษฐ  แควภูเขียว poramat.pik@gmail.com
รพ.เกษตรสมบูรณ์ จ.ชัยภูมิ (รพช. 60 เตียง)
www.kaset-hospital.org
Implement 10 มี.ค.53 by BMS
HOSxP 3.55.12.25f + DataCenter + LIS
CentOS 5.5 _64
MySQL 5.1.54 percona+ExtraDB
HOSxP PCU รพสต. 16 แห่ง
ชื่นชม อบอุ่น มั่นใจ ในชุมชน HOSxP ครับ

ออฟไลน์ Khuad

  • Hero Member
  • *****
  • กระทู้: 3,778
  • .. นางฟ้า ตัวไม่น้อยแล้ว ..
  • Respect: +10
    • ดูรายละเอียด
Re: การเขียน Pascal script ในระบบ UE 3.54.x.x
« ตอบกลับ #11 เมื่อ: มกราคม 03, 2011, 22:41:29 PM »
0

... ขอลคุณอาจารย์ มากๆ ครับ ...  :D .....
โรงพยาบาลวังน้อย   พระนครศรีอยุธยา ( รพช.30 เตียง )
Server : ProLiant DL120G6  Xeon X3450  RDIMM 12 Gb  2x256GB SSD Raid 1
OS : CentOS 6.3  DB : Percona 5.5.21

Slave : ProLiant ML110G6  Xeon X3430  UDIMM 8 Gb  2x300GB SAS Raid 1
OS : CentOS 6.3  DB : Percona 5.5.32

HOSxP version  3.57.xx.xx    เริ่มระบบ  เมษายน 2549

ออฟไลน์ Bordin

  • Hero Member
  • *****
  • กระทู้: 1,089
  • อย่าคิดว่าทำไม่ได้ ถ้ายังไม่ลองทำ
  • Respect: +1
    • ดูรายละเอียด
    • ADMIN PCB. sz
Re: การเขียน Pascal script ในระบบ UE 3.54.x.x
« ตอบกลับ #12 เมื่อ: มกราคม 04, 2011, 06:38:34 AM »
0

... ขอลคุณอาจารย์ มากๆ ครับ ...  :D .....

 ;D ;D  อ.ขวดสงสัยจะรีบไปทดสอบ  ;D ;D

ขอบคุณมากครับ  :D


ออฟไลน์ เกื้อกูล ครับ..

  • Hero Member
  • *****
  • กระทู้: 12,611
  • Respect: +169
    • ดูรายละเอียด
    • โรงพยาบาลปากท่อ
Re: การเขียน Pascal script ในระบบ UE 3.54.x.x
« ตอบกลับ #13 เมื่อ: มกราคม 04, 2011, 08:19:16 AM »
0

... ขอลคุณอาจารย์ มากๆ ครับ ...  :D .....

 ;D ;D  อ.ขวดสงสัยจะรีบไปทดสอบ  ;D ;D

ขอบคุณมากครับ  :D



ระยะหลังนี้  Admin ดุกันทุกคน..ใครพลาด  ...โดนยิงพรุนเลย..ใ่ช่มั๋ย..ท่านบ่อดิน... ;D ;D ;D ;D ;D
Implement  HOSxP  Start 2548 ---> NOW!
Station : 130 Client   V.3 Version  3.67.1.XX
Server  : CENTOS  +MySQL maria 10.x.x

ออฟไลน์ Bordin

  • Hero Member
  • *****
  • กระทู้: 1,089
  • อย่าคิดว่าทำไม่ได้ ถ้ายังไม่ลองทำ
  • Respect: +1
    • ดูรายละเอียด
    • ADMIN PCB. sz
Re: การเขียน Pascal script ในระบบ UE 3.54.x.x
« ตอบกลับ #14 เมื่อ: มกราคม 04, 2011, 09:11:58 AM »
0
ระยะหลังนี้  Admin ดุกันทุกคน..ใครพลาด  ...โดนยิงพรุนเลย..ใ่ช่มั๋ย..ท่านบ่อดิน... ;D ;D ;D ;D ;D

 ;D ;D ;D

ออฟไลน์ udomchok

  • Hero Member
  • *****
  • กระทู้: 8,349
  • Respect: +589
    • ดูรายละเอียด
    • ร.พ.สมเด็จพระสังฆราช องค์ที่ 17
Re: การเขียน Pascal script ในระบบ UE 3.54.x.x
« ตอบกลับ #15 เมื่อ: มกราคม 04, 2011, 15:41:09 PM »
0

... ขอลคุณอาจารย์ มากๆ ครับ ...  :D .....

 ;D ;D  อ.ขวดสงสัยจะรีบไปทดสอบ  ;D ;D

ขอบคุณมากครับ  :D



ระยะหลังนี้  Admin ดุกันทุกคน..ใครพลาด  ...โดนยิงพรุนเลย..ใ่ช่มั๋ย..ท่านบ่อดิน... ;D ;D ;D ;D ;D
พี่ก็ปล่อยผ่านไปแล้วนะ เดี่ยวจะหาว่าจุกจิก เจอน้องบ่อดิน(ทับ) "ถม" เข้าไปซะ
ทำด้วยหัวใจร.พ.สมเด็จพระสังฆราช องค์ที่ 17 อ.สองพี่น้อง จ.สุพรรณบุรี
อบรมโดย BMS Team เมื่อ พ.ย. 49 ขึ้นระบบห้องบัตรเมื่อ X'Mas 2007
2008 : X-Ray กายภาพบำบัด แพทย์แผนไทย กิจกรรมบำบัด OPD ตา
2009 : ทันตกรรม ห้องตรวจตา OPD (พยาบาลและห้องตรวจแพทย์บางห้อง)

doramon

  • บุคคลทั่วไป
Re: การเขียน Pascal script ในระบบ UE 3.54.x.x
« ตอบกลับ #16 เมื่อ: มกราคม 04, 2011, 15:51:16 PM »
0

... ขอลคุณอาจารย์ มากๆ ครับ ...  :D .....

 ;D ;D  อ.ขวดสงสัยจะรีบไปทดสอบ  ;D ;D

ขอบคุณมากครับ  :D



ระยะหลังนี้  Admin ดุกันทุกคน..ใครพลาด  ...โดนยิงพรุนเลย..ใ่ช่มั๋ย..ท่านบ่อดิน... ;D ;D ;D ;D ;D
พี่ก็ปล่อยผ่านไปแล้วนะ เดี่ยวจะหาว่าจุกจิก เจอน้องบ่อดิน(ทับ) "ถม" เข้าไปซะ
ตอนหลังต้องระวังการ post เพราะว่า มีคุณครูประถมอยู่ในบอร์ดหลายคนครับ อ.ขวด

ต้องเข้าใจบ้างเรื่องก็เร็ว  บ้างเรื่องก็ช้า  ครับ


 ;D
« แก้ไขครั้งสุดท้าย: มกราคม 04, 2011, 16:12:42 PM โดย doraemon »

ออฟไลน์ Bordin

  • Hero Member
  • *****
  • กระทู้: 1,089
  • อย่าคิดว่าทำไม่ได้ ถ้ายังไม่ลองทำ
  • Respect: +1
    • ดูรายละเอียด
    • ADMIN PCB. sz
Re: การเขียน Pascal script ในระบบ UE 3.54.x.x
« ตอบกลับ #17 เมื่อ: มกราคม 04, 2011, 16:03:21 PM »
0
พี่ก็ปล่อยผ่านไปแล้วนะ เดี่ยวจะหาว่าจุกจิก เจอน้องบ่อดิน(ทับ) "ถม" เข้าไปซะ

ไม่ได้ทำอย่างนั้นเลยนะครับ  ;D ;D ;D แค่เน้นตัวหนังสือสีแดงครับ

ออฟไลน์ usa0823

  • Hero Member
  • *****
  • กระทู้: 773
  • Respect: +9
    • ดูรายละเอียด
Re: การเขียน Pascal script ในระบบ UE 3.54.x.x
« ตอบกลับ #18 เมื่อ: มกราคม 04, 2011, 16:03:37 PM »
0
เมื่อก่อนใช้ UE แล้ว บันทึกอย่างเดียววันนี้สามารถเอาลูกเล่นมาใส่ได้แล้วครับ
ลองแล้ว โอเคเลยครับ ที่อยากได้ GetGlobalValue('vn')   ;D ;D

ขอบคุณอาจารย์มากเลยครับ
***************************************
นายศรัญญู  ชูเมือง
จพ.เภสัชกรรมชำนาญงาน
ดูแลระบบ โรงพยาบาลลานสกา
E-mail  Sarunyu0823@hotmail.com
..............................................................................
** HOSxP ver. 3.56.11.19d
** MySQL 5.6.17
** Activated 2560

ออฟไลน์ tigerfx

  • Jr. Member
  • **
  • กระทู้: 65
  • Respect: 0
    • ดูรายละเอียด
Re: การเขียน Pascal script ในระบบ UE 3.54.x.x
« ตอบกลับ #19 เมื่อ: สิงหาคม 18, 2011, 20:13:26 PM »
0
สอบถามครับ ผมลอง code ใน UE แบบนี้

TLabel(UEForm.FindComponent('UELabel470')).caption := 'Test';

ขึ้นว่า Undeclared Identifier 'UEForm' ผมควรเขียน code อย่างไรครับ เพื่อจะ reference ถึง component ได้

ทดสอบใน 3.54.xx
ขอบคุณครับ
รพ.เมตตาประชารักษ์(วัดไร่ขิง)
สนธยา  นาคอ่วมค้า  นวก.คอมพิวเตอร์

Main server : HP ML350 4G of RAM
MySQL : 5.1.45
Replicate Slave : IBM x3600 M3 4G of RAM
MySQL : 5.5.17
HOSxP : 54.2.2