Prosedur TFRM1.BUTTON2CLICK (Pengirim: Tobject);
Var
jpeg: tjpegimage;
BMP: tbitmap;
Mystm: tMemoryStream;
Strfilename, strcard: string;
Mulai
diwariskan;
Strfilename: = ExtractFilePath (Application.exename);
dengan dbedit12.datasource.dataset do
Mulai
Jika tidak videocap1.saveasdib maka
Mulai
Showmessage ('foto diambil gagal');
Menggugurkan;
akhir;//
BMP: = tbitmap.create;
mencoba
BMP.LoadFromFile (Strfilename+ 'Capture.bmp');
Mystm: = tMemoryStream.create;
jpeg: = tjpegimage.create;
mencoba
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, 'pilih Count (1) sebagai cnt dari tb_photo where card_no =' '+strcard+' ''); // Pertama temukan apakah ada nomor kartu ini
OpenQry (pubqry, 'Select * dari tb_photo where card_no =' '+strcard+' '' '); // buka tabel data nomor kartu
{OpenQry adalah fungsi yang menyesuaikan tabel data yang membuka
OpenQry (qry1: tquery, ssql: string);
Mulai
dengan qry1 lakukan
Beign
Jika aktif maka
menutup;
sql.clear;
sql.add (ssql);
mencoba
membuka
menangkap
pada e: pengecualian do errordialog (e.message, e.helpcontext);
akhir; // coba
akhir;
akhir;
}
dengan query1 do
Mulai
Jika pubqry.fields [0] .asinteger> 0 lalu // Tentukan apakah gambar kartu ini ada.
Edit
kalau tidak
Menyisipkan;
Fieldbyname ('card_no'). Astring: = strcard;
Tblobfield (fieldbyname ('foto')). LoadFromStream (mystm);
Posting;
akhir; // dengan
Akhirnya
Mystm.free;
jpeg.free;
Akhir; // Coba
Akhirnya
BMP.Free;
akhir; // coba
akhir; // dengan
akhir;
// Silakan unduh kontrol TVIDEOCAP terlebih dahulu