
27.06.2008, 10:42
|
Начинающий
|
|
Регистрация: 08.04.2008
Сообщения: 177
Репутация: 15
|
|
Можно и код:
Код:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DB, adsdata, adsfunc, adstable, adscnnct, ExtDlgs, ExtCtrls,
DBCtrls, Grids, DBGrids, DBTables, StdCtrls, Jpeg;
type
TForm1 = class(TForm)
Image1: TImage;
DataSource1: TDataSource;
DBGrid1: TDBGrid;
DBNavigator1: TDBNavigator;
OpenPictureDialog1: TOpenPictureDialog;
Table1: TAdsTable;
Connection1: TAdsConnection;
Button1: TButton;
procedure DBGrid1CellClick(Column: TColumn);
procedure FormCreate(Sender: TObject);
procedure FormDestroy(Sender: TObject);
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
ImPath: string;
implementation
{$R *.dfm}
procedure TForm1.DBGrid1CellClick(Column: TColumn); // при болтаниях по гриду
begin
if FileExists(ImPath+Table1.fieldByName('Id').AsString+'.jpg') then
Image1.Picture.LoadFromFile(ImPath+Table1.fieldByName('Id').AsString+'.jpg');
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
//Глобальный путь
ImPath := ExtractFilePath(Application.ExeName)+'Images\';
if not DirectoryExists(ImPath) then MkDir(ImPath);
ImPath := ImPath + 'image';
//Коннект
Connection1.Connect;
Table1.Open;
end;
procedure TForm1.FormDestroy(Sender: TObject);
begin
//дисконнект
Table1.Close;
Connection1.Disconnect;
end;
procedure TForm1.Button1Click(Sender: TObject);//добавит картинку
var
Num: integer;
begin
if OpenPictureDialog1.Execute then
begin
// грузим в Image
Image1.Picture.LoadFromFile(OpenPictureDialog1.FileName);
// на последнюю запись
Table1.Last;
// берем номер последней картинки и инкрементируем
Num := Table1.fieldbyname('ID').AsInteger + 1;
//копируем
CopyFile(PChar(OpenPictureDialog1.Filename),PChar(ImPath+IntToStr(Num)+'.jpg'),true);
//пишем в базу
Table1.AppendRecord([Num]);
end;
end;
end.
|