الإجراء tfrm1.button2Click (المرسل: tobject) ؛
var
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 تفعل
أنشأ
إذا نشط ثم
يغلق؛
sql.clear ؛
sql.add (ssql) ؛
يحاول
يفتح
يمسك
على E: استثناء Do Errordialog (E.Message ، E.HelpContext) ؛
نهاية ؛ // حاول
نهاية؛
نهاية؛
}
مع Query1 تفعل
يبدأ
إذا كانت PubQry.fileds [0].
يحرر
آخر
أدخل
FieldByName ('card_no'). assstring: = strcard ؛
tblobfield (fieldbyName ('photo')). loadfromstream (mystm) ؛
بعد تقديم موحد
نهاية ؛ // مع
أخيراً
Mystm.free ؛
jpeg.free ؛
نهاية
أخيراً
BMP.Free ؛
نهاية ؛ // حاول
نهاية ؛ // مع
نهاية؛
// يرجى تنزيل التحكم في TVIDEOCAP أولاً