BMS-HOSxP Community
HOSxP => Delphi / Pascal => ข้อความที่เริ่มโดย: ittipol ที่ พฤศจิกายน 14, 2011, 10:57:20 AM
-
อาจารย์ทุกท่านนะครับ
อาจารย์ครับคือผมไปเขียนโปรแกรม
แต่เวลาบันทึกข้อมูล ข้อมูลกับไม่ไปเพิ่มจากลำดับหล้าสุดที่ทำไว้ครับ
ไปแสดงผลที่ลำดับ 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;
-
ไม่ต้อง 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;
-
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 ไว้แล้ว นำไปใช้ได้เลยครับ
-
ไม่ต้อง 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;
ไม่สำเร็จครับอาจารย์ ต้องแก้ไขยังงัยต่อครับ
-
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'
-
เขียนแบบนี้ครับ
MyQueryCarLog.fieldByName('car_log_id').AsInteger:=
GetSQLData('select get_serialnumber("car_log_id") as cc');
-
ไม่ต้อง 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 ก็ใช้งานได้ครับ
และจะมีผมอะไรไหมครับ
-
Delphi อ.ชัยพร เป็น Delphi พิเศษรึเปล่าครับ ผมไม่เคยไปอบรม เลยสงสัยครับ
-
Delphi อ.ชัยพร เป็น Delphi พิเศษรึเปล่าครับ ผมไม่เคยไปอบรม เลยสงสัยครับ
พิเศษตรงไหนครับ
-
มันมี Function ที่สามารถใช้ได้ทันทีไงครับ
-
มันเป็น function ใน library ของ Turbo HOSxP Application template ครับ
-
ถึงว่า... ผมมันยุคโบราณครับ เคยใช้แต่ delphi 5 เพราะไม่มีตังซื้อ ขอบคุณ อ.ชัยพรครับที่บอก ไว้ถ้ามีแรง จะไปอบรม delphi ด้วยครับ
-
อาจารย์ครับผมทดสอบใช้งานแบบอาจารย์
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 ของอาจารย์นะครับ
-
อาจารย์ครับผมทดสอบใช้งานแบบอาจารย์
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 แต่มีสำหรับชุดทดลองให้ท่านโหลดมาทบทวน
-
ผมไปอบรม Delphi1มาแล้วนะครับ
แต่ไม่มีการทำงานแบบ
GetSQLData เป็น function ที่ อ.ชัยพร สร้างขึ้นมาเช่นกัน ครับ เหมือน getserialnumber ครับ
ที่อาจารย์ทำไว้นะครับ
ได้เรียนกับอาจารย์ผู้หญิงนะครับ
มีข้อมูลอะไรแนะนำอีกก็ขอคำแนะนำด้วยนะครับ
ขอบคุณครับ
-
ผมว่าท่าน Dusit ก็สุดยอดฝีมือทางด้าน delphi คนหนึ่งนะครับ ดูจาก การวาง algorithum
ส่วนตัวผมก็ งู ๆ ปลา ๆ แต่ก็ชอบ Delphi กลัวว่ามันจะหายไปนะครับ
ท่าน ittipol กำลังพัฒนาโปรแกรมการใช้รถอยู่หรือครับ เสร็จแล้วก็นำมาเผยแพร่บ้างนะครับ
ดูจาก code ที่วางใน Event Click แสดงว่า ไม่ว่าจะมีการแก้ไข / หรือเพิ่มข้อมูล เลขที่ car_log_id
จะเพิ่มขึ้น 1 เสมอรึเปล่า ผมไม่เคยเขียน เกี่ยวกับพวก log เคยเขียนแต่พวกใบ invoice
-
ผมไปอบรม 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