ผู้เขียน หัวข้อ: Delphi : Record  (อ่าน 10697 ครั้ง)

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

ออฟไลน์ ittipol

  • Hero Member
  • *****
  • กระทู้: 841
  • ขอตั้งใจและมั่นใจในสิ่งที่ทำ
  • Respect: +4
    • ดูรายละเอียด
    • www.thungchanghospital.com
Delphi : Record
« เมื่อ: พฤศจิกายน 14, 2011, 10:57:20 AM »
0
อาจารย์ทุกท่านนะครับ
อาจารย์ครับคือผมไปเขียนโปรแกรม
แต่เวลาบันทึกข้อมูล ข้อมูลกับไม่ไปเพิ่มจากลำดับหล้าสุดที่ทำไว้ครับ
ไปแสดงผลที่ลำดับ 0 ครับไม่ทราบว่าต้องแก้ไขยังงับครับ

procedure TCarAddForm.cxButtonRecordClick(Sender: TObject);
begin//record
  if MyQueryCarLog.State in ([dsInsert,dsEdit]) then
      MyQueryCarLog.edit;
      MyQueryCarLog.fieldByName('car_log_id').AsInteger;
      MyQueryCarLog.Post;
    ShowMessage('เพิ่มข้อมูลสำเร็จ');
    Close;
end;
Thungchang Hospital NAN
ward 30 bedno computer 50 client
Endien Firewall+Ip cop
mysql 5.0.51
P4 2.4G DDR 2 GB
HDD 80G 7200
HOsxP 3.52.10.5
HOSxP_PCU 3.52.10.5
ขึ้นระบบ 01-10-2548

ออฟไลน์ manoi

  • Hero Member
  • *****
  • กระทู้: 8,669
  • Respect: +170
    • ดูรายละเอียด
    • HOSxP Community Center
Re: Delphi : Record
« ตอบกลับ #1 เมื่อ: พฤศจิกายน 14, 2011, 11:08:36 AM »
0
ไม่ต้อง edit ซ้ำครับ ลองแก้เป็นแบบนี้นะครับ

procedure TCarAddForm.cxButtonRecordClick(Sender: TObject);
begin//record
  if MyQueryCarLog.State in ([dsInsert,dsEdit]) then
    begin
      MyQueryCarLog.fieldByName('car_log_id').AsInteger;
   end;
      MyQueryCarLog.Post;
    ShowMessage('เพิ่มข้อมูลสำเร็จ');
    Close;
end;
HOSxP Project Manager / Cheif Developer / BMS MD

dusit

  • บุคคลทั่วไป
Re: Delphi : Record
« ตอบกลับ #2 เมื่อ: พฤศจิกายน 14, 2011, 12:50:03 PM »
0
procedure TCarAddForm.cxButtonRecordClick(Sender: TObject);
begin//record
  if MyQueryCarLog.State in ([dsInsert,dsEdit]) then
    begin

      MyQueryCarLog.fieldByName('car_log_id').AsInteger:=getserialnumber('car_log_id');
   end;
      MyQueryCarLog.Post;
    ShowMessage('เพิ่มข้อมูลสำเร็จ');
    Close;
end;

เหมือน อ.ชัยพร ครับ เพิ่มเติม รับค่า car_log_id +1 จากฟังชั่นของ อ.ครับ
getserialnumber('car_log_id'); // จะเพิ่มค่า +1 ให้กับตัวแปรชื่อใน 'xxx' อ. สร้าง function ไว้แล้ว นำไปใช้ได้เลยครับ

ออฟไลน์ ittipol

  • Hero Member
  • *****
  • กระทู้: 841
  • ขอตั้งใจและมั่นใจในสิ่งที่ทำ
  • Respect: +4
    • ดูรายละเอียด
    • www.thungchanghospital.com
Re: Delphi : Record
« ตอบกลับ #3 เมื่อ: พฤศจิกายน 14, 2011, 15:23:32 PM »
0
ไม่ต้อง edit ซ้ำครับ ลองแก้เป็นแบบนี้นะครับ

procedure TCarAddForm.cxButtonRecordClick(Sender: TObject);
begin//record
  if MyQueryCarLog.State in ([dsInsert,dsEdit]) then
    begin
      MyQueryCarLog.fieldByName('car_log_id').AsInteger;
   end;
      MyQueryCarLog.Post;
    ShowMessage('เพิ่มข้อมูลสำเร็จ');
    Close;
end;

ไม่สำเร็จครับอาจารย์ ต้องแก้ไขยังงัยต่อครับ
Thungchang Hospital NAN
ward 30 bedno computer 50 client
Endien Firewall+Ip cop
mysql 5.0.51
P4 2.4G DDR 2 GB
HDD 80G 7200
HOsxP 3.52.10.5
HOSxP_PCU 3.52.10.5
ขึ้นระบบ 01-10-2548

ออฟไลน์ ittipol

  • Hero Member
  • *****
  • กระทู้: 841
  • ขอตั้งใจและมั่นใจในสิ่งที่ทำ
  • Respect: +4
    • ดูรายละเอียด
    • www.thungchanghospital.com
Re: Delphi : Record
« ตอบกลับ #4 เมื่อ: พฤศจิกายน 14, 2011, 15:26:15 PM »
0
procedure TCarAddForm.cxButtonRecordClick(Sender: TObject);
begin//record
  if MyQueryCarLog.State in ([dsInsert,dsEdit]) then
    begin

      MyQueryCarLog.fieldByName('car_log_id').AsInteger:=getserialnumber('car_log_id');
   end;
      MyQueryCarLog.Post;
    ShowMessage('เพิ่มข้อมูลสำเร็จ');
    Close;
end;

เหมือน อ.ชัยพร ครับ เพิ่มเติม รับค่า car_log_id +1 จากฟังชั่นของ อ.ครับ
getserialnumber('car_log_id'); // จะเพิ่มค่า +1 ให้กับตัวแปรชื่อใน 'xxx' อ. สร้าง function ไว้แล้ว นำไปใช้ได้เลยครับ

ไม่ผ่านครับมันฟ้อง
[Pascal Error] CarAddUnit.pas(155): E2003 Undeclared identifier: 'getserialnumber'
[Pascal Fatal Error] TchmProject.dpr(15): F2063 Could not compile used unit 'CarAddUnit.pas'
Thungchang Hospital NAN
ward 30 bedno computer 50 client
Endien Firewall+Ip cop
mysql 5.0.51
P4 2.4G DDR 2 GB
HDD 80G 7200
HOsxP 3.52.10.5
HOSxP_PCU 3.52.10.5
ขึ้นระบบ 01-10-2548

ออฟไลน์ manoi

  • Hero Member
  • *****
  • กระทู้: 8,669
  • Respect: +170
    • ดูรายละเอียด
    • HOSxP Community Center
Re: Delphi : Record
« ตอบกลับ #5 เมื่อ: พฤศจิกายน 14, 2011, 15:28:51 PM »
0
เขียนแบบนี้ครับ

MyQueryCarLog.fieldByName('car_log_id').AsInteger:=
  GetSQLData('select get_serialnumber("car_log_id") as cc');
HOSxP Project Manager / Cheif Developer / BMS MD

ออฟไลน์ ittipol

  • Hero Member
  • *****
  • กระทู้: 841
  • ขอตั้งใจและมั่นใจในสิ่งที่ทำ
  • Respect: +4
    • ดูรายละเอียด
    • www.thungchanghospital.com
Re: Delphi : Record
« ตอบกลับ #6 เมื่อ: พฤศจิกายน 14, 2011, 15:43:46 PM »
0
ไม่ต้อง edit ซ้ำครับ ลองแก้เป็นแบบนี้นะครับ

procedure TCarAddForm.cxButtonRecordClick(Sender: TObject);
begin//record
  if MyQueryCarLog.State in ([dsInsert,dsEdit]) then
    begin
      MyQueryCarLog.fieldByName('car_log_id').AsInteger;
   end;
      MyQueryCarLog.Post;
    ShowMessage('เพิ่มข้อมูลสำเร็จ');
    Close;
end;

ไม่สำเร็จครับอาจารย์ ต้องแก้ไขยังงัยต่อครับ
อาจารย์ครับ
ผมไปตั้งค่า Auto Increment ก็ใช้งานได้ครับ
และจะมีผมอะไรไหมครับ
Thungchang Hospital NAN
ward 30 bedno computer 50 client
Endien Firewall+Ip cop
mysql 5.0.51
P4 2.4G DDR 2 GB
HDD 80G 7200
HOsxP 3.52.10.5
HOSxP_PCU 3.52.10.5
ขึ้นระบบ 01-10-2548

ออฟไลน์ Man Of Romance

  • Sr. Member
  • ****
  • กระทู้: 459
  • ไหว...ว้าเหว่
  • Respect: +2
    • ดูรายละเอียด
Re: Delphi : Record
« ตอบกลับ #7 เมื่อ: พฤศจิกายน 14, 2011, 15:55:30 PM »
0
Delphi อ.ชัยพร เป็น Delphi พิเศษรึเปล่าครับ ผมไม่เคยไปอบรม เลยสงสัยครับ
HOSxP Version 3.58.10.27g
Supervisor Of Nongbunmak Hospital 60 เตียง ขึ้นระบบ 27 เม.ย.53 โดย ทีม BMS
Master :Lenovo x3650 M5 Xeon E5-2620 2.4 GHz DDR4 RAM 32 GB CentOS Linux 6.7 64 Bit Mysql Percona 5.5.35-33
Slave:IBM x3500 M4 Xeon E5504 2.0 GHz DDR3 RAM 16 GB
IBM 146 GB x3 Hot-Swap 10 K SAS RAID

ออฟไลน์ manoi

  • Hero Member
  • *****
  • กระทู้: 8,669
  • Respect: +170
    • ดูรายละเอียด
    • HOSxP Community Center
Re: Delphi : Record
« ตอบกลับ #8 เมื่อ: พฤศจิกายน 14, 2011, 15:58:02 PM »
0
Delphi อ.ชัยพร เป็น Delphi พิเศษรึเปล่าครับ ผมไม่เคยไปอบรม เลยสงสัยครับ

พิเศษตรงไหนครับ
HOSxP Project Manager / Cheif Developer / BMS MD

ออฟไลน์ Man Of Romance

  • Sr. Member
  • ****
  • กระทู้: 459
  • ไหว...ว้าเหว่
  • Respect: +2
    • ดูรายละเอียด
Re: Delphi : Record
« ตอบกลับ #9 เมื่อ: พฤศจิกายน 14, 2011, 16:00:56 PM »
0
มันมี Function ที่สามารถใช้ได้ทันทีไงครับ
HOSxP Version 3.58.10.27g
Supervisor Of Nongbunmak Hospital 60 เตียง ขึ้นระบบ 27 เม.ย.53 โดย ทีม BMS
Master :Lenovo x3650 M5 Xeon E5-2620 2.4 GHz DDR4 RAM 32 GB CentOS Linux 6.7 64 Bit Mysql Percona 5.5.35-33
Slave:IBM x3500 M4 Xeon E5504 2.0 GHz DDR3 RAM 16 GB
IBM 146 GB x3 Hot-Swap 10 K SAS RAID

ออฟไลน์ manoi

  • Hero Member
  • *****
  • กระทู้: 8,669
  • Respect: +170
    • ดูรายละเอียด
    • HOSxP Community Center
Re: Delphi : Record
« ตอบกลับ #10 เมื่อ: พฤศจิกายน 14, 2011, 16:02:03 PM »
0
มันเป็น function ใน library ของ Turbo HOSxP Application template ครับ
HOSxP Project Manager / Cheif Developer / BMS MD

ออฟไลน์ Man Of Romance

  • Sr. Member
  • ****
  • กระทู้: 459
  • ไหว...ว้าเหว่
  • Respect: +2
    • ดูรายละเอียด
Re: Delphi : Record
« ตอบกลับ #11 เมื่อ: พฤศจิกายน 14, 2011, 16:12:31 PM »
0
ถึงว่า... ผมมันยุคโบราณครับ เคยใช้แต่ delphi 5 เพราะไม่มีตังซื้อ ขอบคุณ อ.ชัยพรครับที่บอก ไว้ถ้ามีแรง จะไปอบรม delphi ด้วยครับ

HOSxP Version 3.58.10.27g
Supervisor Of Nongbunmak Hospital 60 เตียง ขึ้นระบบ 27 เม.ย.53 โดย ทีม BMS
Master :Lenovo x3650 M5 Xeon E5-2620 2.4 GHz DDR4 RAM 32 GB CentOS Linux 6.7 64 Bit Mysql Percona 5.5.35-33
Slave:IBM x3500 M4 Xeon E5504 2.0 GHz DDR3 RAM 16 GB
IBM 146 GB x3 Hot-Swap 10 K SAS RAID

ออฟไลน์ ittipol

  • Hero Member
  • *****
  • กระทู้: 841
  • ขอตั้งใจและมั่นใจในสิ่งที่ทำ
  • Respect: +4
    • ดูรายละเอียด
    • www.thungchanghospital.com
Re: Delphi : Record
« ตอบกลับ #12 เมื่อ: พฤศจิกายน 15, 2011, 08:35:29 AM »
0
อาจารย์ครับผมทดสอบใช้งานแบบอาจารย์

procedure TCarAddForm.cxButtonRecordClick(Sender: TObject);
begin//record
  if MyQueryCarLog.State in ([dsInsert,dsEdit]) then
     //MyQueryCarLog.fieldByName('car_log_id').AsInteger;
   begin
      //MyQueryCarLog.fieldByName('car_log_id').AsInteger;
      MyQueryCarLog.fieldByName('car_log_id').AsInteger:=
  GetSQLData('select get_serialnumber("car_log_id") as cc');
   end;
      MyQueryCarLog.Post;
    ShowMessage('เพิ่มข้อมูลสำเร็จ');
    Close;
end;

แต่ใช้งานไม่ได้ครับ โปรแกรมฟ้องว่า

[Pascal Error] CarAddUnit.pas(159): E2003 Undeclared identifier: 'GetSQLData'
[Pascal Fatal Error] TchmProject.dpr(15): F2063 Could not compile used unit 'CarAddUnit.pas'

แบบนี้ครับ
ต้องแก้ไขหรือเพิ่มเติมอะไรหรือเปล่าครับสร้างขึ้นมาเองไม่ได้ต่อยอดกับ Turbo HOSxP Application template ของอาจารย์นะครับ
Thungchang Hospital NAN
ward 30 bedno computer 50 client
Endien Firewall+Ip cop
mysql 5.0.51
P4 2.4G DDR 2 GB
HDD 80G 7200
HOsxP 3.52.10.5
HOSxP_PCU 3.52.10.5
ขึ้นระบบ 01-10-2548

dusit

  • บุคคลทั่วไป
Re: Delphi : Record
« ตอบกลับ #13 เมื่อ: พฤศจิกายน 15, 2011, 09:22:45 AM »
0
อาจารย์ครับผมทดสอบใช้งานแบบอาจารย์

procedure TCarAddForm.cxButtonRecordClick(Sender: TObject);
begin//record
  if MyQueryCarLog.State in ([dsInsert,dsEdit]) then
     //MyQueryCarLog.fieldByName('car_log_id').AsInteger;
   begin
      //MyQueryCarLog.fieldByName('car_log_id').AsInteger;
      MyQueryCarLog.fieldByName('car_log_id').AsInteger:=
  GetSQLData('select get_serialnumber("car_log_id") as cc');
   end;
      MyQueryCarLog.Post;
    ShowMessage('เพิ่มข้อมูลสำเร็จ');
    Close;
end;

แต่ใช้งานไม่ได้ครับ โปรแกรมฟ้องว่า

[Pascal Error] CarAddUnit.pas(159): E2003 Undeclared identifier: 'GetSQLData'
[Pascal Fatal Error] TchmProject.dpr(15): F2063 Could not compile used unit 'CarAddUnit.pas'

แบบนี้ครับ
ต้องแก้ไขหรือเพิ่มเติมอะไรหรือเปล่าครับสร้างขึ้นมาเองไม่ได้ต่อยอดกับ Turbo HOSxP Application template ของอาจารย์นะครับ

GetSQLData เป็น function ที่ อ.ชัยพร สร้างขึ้นมาเช่นกัน ครับ เหมือน getserialnumber ครับ

ต้องขอโทษด้วยครับ ผมอ้างอิงจาก Turbo Hosxp Template ที่ได้อบรมจาก BMS
แต่ยังไงน่าจะมาอบรมสัก 1 Delphi ครับ เพราะ function ต่าง ๆ อีกมากที่ช่วยลดเวลาการทำงานลงไปครับ

*การอบรม Delphi ทำให้เราใช้ function เหล่านี้ ได้ และเสมือนว่าคุยภาษาโปรแกรมเดียวกันกับ อ.ชัยพร และ HOsxP ครับ อีกอย่างทำผลงานออกมาได้รวดเร็วครับ  :)

ถึงว่า... ผมมันยุคโบราณครับ เคยใช้แต่ delphi 5 เพราะไม่มีตังซื้อ ขอบคุณ อ.ชัยพรครับที่บอก ไว้ถ้ามีแรง จะไปอบรม delphi ด้วยครับ
คิดว่าโครงสร้างชุดคำสั่งคงไม่ต่างกันผมเองไม่มีตังซื้อเช่นกัน  :D แต่มีสำหรับชุดทดลองให้ท่านโหลดมาทบทวน

ออฟไลน์ ittipol

  • Hero Member
  • *****
  • กระทู้: 841
  • ขอตั้งใจและมั่นใจในสิ่งที่ทำ
  • Respect: +4
    • ดูรายละเอียด
    • www.thungchanghospital.com
Re: Delphi : Record
« ตอบกลับ #14 เมื่อ: พฤศจิกายน 15, 2011, 09:43:06 AM »
0
ผมไปอบรม Delphi1มาแล้วนะครับ
แต่ไม่มีการทำงานแบบ
GetSQLData เป็น function ที่ อ.ชัยพร สร้างขึ้นมาเช่นกัน ครับ เหมือน getserialnumber ครับ
ที่อาจารย์ทำไว้นะครับ
ได้เรียนกับอาจารย์ผู้หญิงนะครับ

มีข้อมูลอะไรแนะนำอีกก็ขอคำแนะนำด้วยนะครับ
ขอบคุณครับ
Thungchang Hospital NAN
ward 30 bedno computer 50 client
Endien Firewall+Ip cop
mysql 5.0.51
P4 2.4G DDR 2 GB
HDD 80G 7200
HOsxP 3.52.10.5
HOSxP_PCU 3.52.10.5
ขึ้นระบบ 01-10-2548

ออฟไลน์ Man Of Romance

  • Sr. Member
  • ****
  • กระทู้: 459
  • ไหว...ว้าเหว่
  • Respect: +2
    • ดูรายละเอียด
Re: Delphi : Record
« ตอบกลับ #15 เมื่อ: พฤศจิกายน 15, 2011, 09:54:12 AM »
0
ผมว่าท่าน Dusit ก็สุดยอดฝีมือทางด้าน delphi คนหนึ่งนะครับ ดูจาก การวาง algorithum
ส่วนตัวผมก็ งู ๆ ปลา ๆ แต่ก็ชอบ Delphi กลัวว่ามันจะหายไปนะครับ
ท่าน ittipol กำลังพัฒนาโปรแกรมการใช้รถอยู่หรือครับ เสร็จแล้วก็นำมาเผยแพร่บ้างนะครับ
ดูจาก code ที่วางใน Event Click  แสดงว่า ไม่ว่าจะมีการแก้ไข / หรือเพิ่มข้อมูล เลขที่ car_log_id
จะเพิ่มขึ้น 1 เสมอรึเปล่า ผมไม่เคยเขียน เกี่ยวกับพวก log เคยเขียนแต่พวกใบ invoice
HOSxP Version 3.58.10.27g
Supervisor Of Nongbunmak Hospital 60 เตียง ขึ้นระบบ 27 เม.ย.53 โดย ทีม BMS
Master :Lenovo x3650 M5 Xeon E5-2620 2.4 GHz DDR4 RAM 32 GB CentOS Linux 6.7 64 Bit Mysql Percona 5.5.35-33
Slave:IBM x3500 M4 Xeon E5504 2.0 GHz DDR3 RAM 16 GB
IBM 146 GB x3 Hot-Swap 10 K SAS RAID

dusit

  • บุคคลทั่วไป
Re: Delphi : Record
« ตอบกลับ #16 เมื่อ: พฤศจิกายน 15, 2011, 10:22:15 AM »
0
ผมไปอบรม Delphi1มาแล้วนะครับ
แต่ไม่มีการทำงานแบบ
GetSQLData เป็น function ที่ อ.ชัยพร สร้างขึ้นมาเช่นกัน ครับ เหมือน getserialnumber ครับ
ที่อาจารย์ทำไว้นะครับ
ได้เรียนกับอาจารย์ผู้หญิงนะครับ

มีข้อมูลอะไรแนะนำอีกก็ขอคำแนะนำด้วยนะครับ
ขอบคุณครับ
ตรง Code หัว From

ได้ใส่ uses HOSxpDMU;   ==> function จะอยู่ในนี้ จึงจะเรียกใช้ได้ครับ
เทียบกับ php น่าจะ include('hosxpdmu.pas'); ครับ

ผมว่าท่าน Dusit ก็สุดยอดฝีมือทางด้าน delphi คนหนึ่งนะครับ ดูจาก การวาง algorithum
ส่วนตัวผมก็ งู ๆ ปลา ๆ แต่ก็ชอบ Delphi กลัวว่ามันจะหายไปนะครับ
ท่าน ittipol กำลังพัฒนาโปรแกรมการใช้รถอยู่หรือครับ เสร็จแล้วก็นำมาเผยแพร่บ้างนะครับ
ดูจาก code ที่วางใน Event Click  แสดงว่า ไม่ว่าจะมีการแก้ไข / หรือเพิ่มข้อมูล เลขที่ car_log_id
จะเพิ่มขึ้น 1 เสมอรึเปล่า ผมไม่เคยเขียน เกี่ยวกับพวก log เคยเขียนแต่พวกใบ invoice

ผมใช้วิธี copy and develop ครับ  55
ผมทำให้กลมกลืนกับต้นฉบับของ อ.ชัยพร ครับ อ.ทำแบบไว้ดีครับ เลยเดินตตามง่ายครับ  :D