ขั้นตอน TFRM1.Button2Click (ผู้ส่ง: tobject);
วาจา
JPEG: TJPEGIMAGE;
BMP: TBITMAP;
Mystm: tmemorystream;
strfilename, strcard: String;
เริ่ม
สืบทอด;
strfilename: = extractFilePath (application.exename);
ด้วย dbedit12.datasource.dataset do
เริ่ม
ถ้าไม่ใช่ videocap1.saveasdib แล้ว
เริ่ม
ShowMessage ('ถ่ายภาพล้มเหลว');
ยกเลิก;
จบ;//
bmp: = tbitmap.create;
พยายาม
bmp.loadfromfile (strfilename+ 'capture.bmp');
mystm: = tmemorystream.create;
jpeg: = tjpegimage.create;
พยายาม
jpeg.assign (BMP);
jpeg.compress;
jpeg.savetofile (strfilename+'capture.jpg');
strfilename: = strfilename+'capture.jpg';
jpeg.loadfromfile (strfilename);
jpeg.savetostream (mystm);
mystm.position: = 0;
OpenQry (query1, 'เลือกนับ (1) เป็น cnt จาก tb_photo โดยที่ card_no =' '+strcard+' ''); // ก่อนอื่นให้ดูว่ามีหมายเลขการ์ดนี้
OpenQry (pubQry, 'เลือก * จาก tb_photo โดยที่ card_no =' '+strcard+' '' '); // เปิดตารางข้อมูลหมายเลขบัตร
{OpenQry เป็นฟังก์ชั่นที่ปรับแต่งตารางข้อมูลการเปิด
OpenQry (QRY1: TQUERY, SSQL: String);
เริ่ม
กับ Qry1 DO
ความเป็นไปได้
ถ้าใช้งานแล้ว
ปิด;
sql.clear;
sql.add (SSQL);
พยายาม
เปิด
จับ
บน E: ข้อยกเว้นทำ errordialog (e.message, e.helpcontext);
สิ้นสุด; // ลอง
จบ;
จบ;
-
ด้วย query1 do
เริ่ม
ถ้า pubqry.fields [0] .asinteger> 0 แล้ว // ก่อนกำหนดว่ารูปภาพของหมายเลขการ์ดนี้มีอยู่หรือไม่
แก้ไข
อื่น
แทรก;
FieldByName ('card_no'). assTring: = strCard;
tblobfield (fieldbyname ('photo')). loadfromstream (mystm);
โพสต์;
สิ้นสุด; // ด้วย
ในที่สุด
mystm.free;
jpeg.free;
สิ้นสุด;
ในที่สุด
bmp.free;
สิ้นสุด; // ลอง
สิ้นสุด; // ด้วย
จบ;
// โปรดดาวน์โหลดการควบคุม TVIDEOCAP ก่อน