6 System.SysUtils, System.Types, System.UITypes, System.Classes,
8 FMX.Types, FMX.Controls, FMX.Forms, FMX.Dialogs, FMX.Ani, FMX.Layouts,
9 FMX.Gestures, FMX.Graphics, FMX.Surfaces,
10 FireDAC.Stan.Intf, FireDAC.Stan.Option, FireDAC.Stan.Param,
11 FireDAC.Stan.Error, FireDAC.DatS, FireDAC.Phys.Intf, FireDAC.DApt.Intf,
12 FireDAC.Stan.Async, FireDAC.DApt, FireDAC.UI.Intf, FireDAC.Stan.Def,
13 FireDAC.Stan.Pool, FireDAC.Phys, FireDAC.Phys.MySQL, FireDAC.Phys.MySQLDef,
14 Data.Bind.Controls, Data.Bind.EngExt, FMX.Bind.DBEngExt, System.Rtti,
15 System.Bindings.Outputs, FMX.Bind.Editors, Data.Bind.Components, Data.DB,
16 FMX.Controls.Presentation, FMX.Edit, FMX.Bind.Navigator, Data.Bind.DBScope,
17 FireDAC.Comp.Client, FireDAC.Comp.DataSet, FMX.Objects, FMX.StdCtrls,
18 FireDAC.FMXUI.Wait, FireDAC.Comp.UI, FireDAC.Comp.BatchMove;
24 FDConnection1: TFDConnection;
26 BindingsList1: TBindingsList;
27 FDGUIxWaitCursor1: TFDGUIxWaitCursor;
28 BindSourceDB1: TBindSourceDB;
29 NavigatorBindSourceDB12: TBindNavigator;
30 LinkControlToField1: TLinkControlToField;
32 OpenDialog1: TOpenDialog;
34 LinkPropertyToFieldText: TLinkPropertyToField;
35 LinkPropertyToFieldBitmap: TLinkPropertyToField;
39 procedure Button1Click(Sender: TObject);
40 procedure FormCreate(Sender: TObject);
41 procedure Button2Click(Sender: TObject);
42 procedure Button3Click(Sender: TObject);
45 procedure streamToField(stream, field: TStream);
57 procedure TForm2.Button1Click(Sender: TObject);
62 if OpenDialog1.Execute = true then
65 s := FDTable1.CreateBlobStream(FDTable1.FieldByName('source'), bmWrite);
66 t := TMemoryStream.Create;
68 t.LoadFromFile(OpenDialog1.FileName);
78 procedure TForm2.Button2Click(Sender: TObject);
83 Add('drop table images;');
84 Add('create table images(id int primary key, name varchar(30), source mediumblob);');
89 procedure TForm2.FormCreate(Sender: TObject);
96 if FDTable1.RecordCount = 0 then
99 FDTable1.AppendRecord([i, Format('slide%d.jpg', [i]), nil]);
101 FDTable1.CachedUpdates := true;
105 s := FDTable1.CreateBlobStream(FDTable1.FieldByName('source'), bmWrite);
106 t := TResourceStream.Create(HInstance, Format('Resource_%d', [i]),
116 FDTable1.ApplyUpdates;
117 FDTable1.CommitUpdates;
118 FDTable1.CachedUpdates := false;
123 procedure TForm2.streamToField(stream, field: TStream);
126 pm: TBitmapCodecSaveParams;
130 bmp := TBitmapSurface.Create;
131 img := TBitmap.Create;
133 img.LoadFromStream(stream);
135 TBitmapCodecManager.SaveToStream(field, bmp, '.jpg', @pm);
142 procedure TForm2.Button3Click(Sender: TObject);
145 FDTable1.FieldByName('source').Assign(nil);