6 Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants,
7 System.Classes, Vcl.Graphics,
8 Vcl.Controls, Vcl.Forms, Vcl.Dialogs, FireDAC.Stan.Intf, FireDAC.Stan.Option,
9 FireDAC.Stan.Error, FireDAC.UI.Intf, FireDAC.Phys.Intf, FireDAC.Stan.Def,
10 FireDAC.Stan.Pool, FireDAC.Stan.Async, FireDAC.Phys, FireDAC.Phys.MySQL,
11 FireDAC.Phys.MySQLDef, FireDAC.Stan.Param, FireDAC.DatS, FireDAC.DApt.Intf,
12 FireDAC.DApt, Vcl.ExtDlgs, Vcl.StdCtrls, Vcl.ExtCtrls, Data.DB,
13 FireDAC.Comp.DataSet, FireDAC.Comp.Client, System.Rtti,
14 System.Bindings.Outputs, Vcl.Bind.Editors, Data.Bind.EngExt,
15 Vcl.Bind.DBEngExt, Data.Bind.Components, Data.Bind.DBScope,
16 FireDAC.VCLUI.Wait, FireDAC.Comp.UI, Vcl.DBCtrls, Jpeg, Vcl.Grids, Vcl.DBGrids;
20 FDConnection1: TFDConnection;
28 OpenPictureDialog1: TOpenPictureDialog;
29 BindSourceDB1: TBindSourceDB;
30 BindingsList1: TBindingsList;
31 LinkPropertyToFieldCaption: TLinkPropertyToField;
32 LinkControlToField2: TLinkControlToField;
33 FDGUIxWaitCursor1: TFDGUIxWaitCursor;
34 DBNavigator1: TDBNavigator;
35 DataSource1: TDataSource;
38 procedure Button1Click(Sender: TObject);
39 procedure FormCreate(Sender: TObject);
40 procedure FormDestroy(Sender: TObject);
41 procedure Button2Click(Sender: TObject);
42 procedure Button3Click(Sender: TObject);
46 procedure streamToField(stream: TStream);
47 procedure filenameToField(filename: string);
59 procedure TForm1.Button1Click(Sender: TObject);
64 FDTable1.CachedUpdates := true;
67 t := TResourceStream.Create(HInstance, 'Resource_' + i.ToString, RT_RCDATA);
68 s := FDTable1.CreateBlobStream(FDTable1.FieldByName('source'),bmWrite);
71 FDTable1.FieldByName('id').AsInteger:=i;
72 FDTable1.FieldByName('name').AsString:= Format('slide%d.jpg', [i]);
73 img.LoadFromStream(t);
79 FDTable1.ApplyUpdates;
80 FDTable1.CommitUpdates;
81 FDTable1.CachedUpdates := false;
84 procedure TForm1.Button2Click(Sender: TObject);
86 if OpenPictureDialog1.Execute = true then
87 filenameToField(OpenPictureDialog1.FileName);
90 procedure TForm1.Button3Click(Sender: TObject);
94 s:=FDTable1.CreateBlobStream(FDTable1.FieldByName('source'),bmRead);
96 img.LoadFromStream(s);
97 Image1.Picture.Assign(img);
104 procedure TForm1.filenameToField(filename: string);
109 field:=FDTable1.CreateBlobStream(FDTable1.FieldByName('source'),bmWrite);
111 img.LoadFromFile(filename);
112 img.SaveToStream(field);
120 procedure TForm1.FormCreate(Sender: TObject);
124 img := TJpegImage.Create;
127 procedure TForm1.FormDestroy(Sender: TObject);
132 procedure TForm1.streamToField(stream: TStream);
137 field := FDTable1.CreateBlobStream(FDTable1.FieldByName('source'), bmWrite);
139 img.LoadFromStream(stream);
140 img.SaveToStream(field);