خب اگر در برنامه شما وارد کردن کد ملی اجباری هست، این کد رو میشه به این شکل نوشت:
اول از همه در قسمت uses این موارد رو اضافه کن:
uses
..., Jpeg, pngimage, GIFImg;
بعد در Button مربوط به دریافت عکس (رویداد OnClick) این کد:
var
Path1, Path2: String;
begin
OpenDialogImage.Execute();
if OpenDialogImage.FileName<>'' then
begin
PictureName:= EditNationalID.Text + ExtractFileExt(OpenDialogImage.FileName);
Path1:= OpenDialogImage.FileName;
Path2:= 'Images\' + PictureName;
CopyFile(PChar(Path1),PChar(Path2), False);
Image1.Picture.LoadFromFile(Path2);
end;
end;
و در نهایت زمان ذخیره اطلاعات در دیتابیس :
with ADO do
begin
FieldByName('Name').Value:= EditName.Text;
FieldByName('SName').Value:= EditSName.Text;
FieldByName('NationalID').Value:= EditNationalID.Text;
FieldByName('Picture').Value:= PictureName;
end;
متغیر PictureName به صورت رشته ای و پابلیک در فرم تعریف میشه.
هر زمان هم که نیاز به نمایش عکس داشتی، با خوندن اطلاعات مربوط به فیلد Picture در متغیر PictureName، تصویر رو از مسیر 'Image\' + PictureName ننشون میدی.
البته شرطهایی مثل بررسی وارد شدن کد ملی قبل از دریافت عکس، یا بررسی صحت کپی شدن عکس در مسیر مورد نظر رو هم به برنامه اضافه کن.