아래는 사진을 입력하는 코드입니다..
procedure TfAddPer.InsertPic ; begin if not Image.Picture.Bitmap.Empty then begin with Table1 do begin TableName := 'person_pic' ; Open ; Insert ; FieldByName('cMainKey').AsString := m_sIDNo ; FieldByName('cIDNo').AsString := m_sIDNo ; FieldByName('cRegDate').AsString := m_sCurrentDate ; FieldByName('cEditDate').AsString := m_sCurrentDate ; FieldByName('cXstChk').AsString := '1' ; FieldByName('cGb71Code').AsString := NWPDATAREGTYPE ; FieldByName('c71Name').AsString := m_s71Name ; FieldByName('bImage').Assign(Image.Picture) ; Post ; Close ; end ; end ; end ;
프로그램 전체에서 TTable 컴포넌트를 공유하기 위해 연결된 TableName을 동적으로 바꾸면서 사용했습니다..
나머지 필드들은 설계하신 테이블 레이아웃대로 변경하시면 될 것 이고요.. Image에 사진이 들어있고 Assign을 시키면 해당 테이블에 연결됩니다..
사진은 스캔받아서 입력하신다고 했으니 제가 사용한 방법대로 TImage 컴포넌트를 더블클릭하면 File Open 다이얼로그를 띄우면 무난하겠군요.. 그 코드는 아래와 같습니다.. bmp 파일만 지원합니다.. TImage 컴포넌트가 bmp만 지원하는 관계로.. 다른 여타 포멧도 지원하시려면 델파이 기본컴포넌트인 TImage가 아닌 jpg나 gif를 지원하는 컴포넌트를 찾아 사용하시면 될 겁니다.. 이건 저도 찾아보질 않아 잘은 모르겠지만 인터넷이나 PC통신에서 뒤져보시면 찾으실 수 있을 겁니다..
procedure TfAddPer.ImageDblClick(Sender: TObject); begin OpenPictureDialog.DefaultExt := GraphicExtension(TBitmap); OpenPictureDialog.FileName := GraphicFileMask(TBitmap); OpenPictureDialog.Filter := '비트맵 파일 (*.bmp)|*.BMP' ; OpenPictureDialog.Title := '사진 파일을 선택해주세요..' ;
if OpenPictureDialog.Execute then Image.Picture.LoadFromFile(OpenPictureDialog.FileName) ; end;
마지막으로 저장된 이미지를 테이블에서 읽어오는 코드입니다..
if FieldByName('bImage').AsString<>'' then Image.Picture.Assign(FieldByName('bImage')) ;
|