Develop and Download Open Source Software

Browse Subversion Repository

Contents of /Unit11.pas

Parent Directory Parent Directory | Revision Log Revision Log


Revision 16 - (show annotations) (download) (as text)
Sat Aug 6 08:27:34 2016 UTC (7 years, 8 months ago) by yamat0jp
File MIME type: text/x-pascal
File size: 6068 byte(s)
ソースコードだけ更新します
pngからjpegに変更しました
データベースファイルは画像データ削除しないとエラーで動作しません
1 unit Unit11;
2
3 interface
4
5 uses
6 Classes, SysUtils, IWAppForm, IWApplication, IWColor, IWTypes, IWDBStdCtrls,
7 Vcl.Controls, IWVCLBaseControl, IWBaseControl, IWBaseHTMLControl, IWControl,
8 IWCompEdit, IWVCLComponent, IWBaseLayoutComponent, IWBaseContainerLayout,
9 IWContainerLayout, IWTemplateProcessorHTML, IWCompExtCtrls, IWDBExtCtrls,
10 IWCompButton, Vcl.Dialogs, Data.DB, Graphics,
11 IWCompText, FireDAC.UI.Intf, FireDAC.VCLUI.Login, FireDAC.Stan.Intf,
12 FireDAC.Comp.UI, IWCompGrids, Vcl.Forms, IWVCLBaseContainer,
13 IWContainer, IWHTMLContainer, IWHTML40Container, IWRegion, IWCompLabel,
14 Vcl.Imaging.pngimage, IWCompFileUploader;
15
16 type
17 TAdminFile = class(TIWAppForm)
18 IWTemplateProcessorHTML1: TIWTemplateProcessorHTML;
19 IWGrid1: TIWGrid;
20 IWDBText1: TIWDBText;
21 IWDBEdit6: TIWDBEdit;
22 IWDBEdit5: TIWDBEdit;
23 IWButton1: TIWButton;
24 IWDBNavigator1: TIWDBNavigator;
25 IWDBEdit4: TIWDBEdit;
26 IWDBEdit3: TIWDBEdit;
27 IWDBEdit2: TIWDBEdit;
28 IWDBEdit1: TIWDBEdit;
29 IWRegion1: TIWRegion;
30 IWLabel1: TIWLabel;
31 IWLabel2: TIWLabel;
32 IWLabel3: TIWLabel;
33 IWLabel4: TIWLabel;
34 IWLabel5: TIWLabel;
35 IWLabel6: TIWLabel;
36 IWButton2: TIWButton;
37 IWFileUploader1: TIWFileUploader;
38 IWImage1: TIWImage;
39 FileOpenDialog1: TFileOpenDialog;
40 IWButton3: TIWButton;
41 procedure IWAppFormCreate(Sender: TObject);
42 procedure IWButton1Click(Sender: TObject);
43 procedure IWDBNavigator1BeforeAction(Sender: TObject;
44 NavButton: TNavigateBtn; var Handled: Boolean);
45 procedure IWButton2Click(Sender: TObject);
46 procedure IWAppFormDestroy(Sender: TObject);
47 procedure IWDBNavigator1Post(Sender: TObject);
48 procedure IWGrid1Render(Sender: TObject);
49 procedure IWGrid1CellClick(ASender: TObject; const ARow, AColumn: Integer);
50 procedure IWDBNavigator1Insert(Sender: TObject);
51 procedure IWButton3Click(Sender: TObject);
52 private
53 serial: Integer;
54 dummy: TComponent;
55 procedure Local(DataSet: TDataSet);
56 public
57 end;
58
59 implementation
60
61 {$R *.dfm}
62
63 uses Unit3, ServerController;
64
65 procedure TAdminFile.IWAppFormCreate(Sender: TObject);
66 begin
67 if DM.FDTable7.Locate('NUMBER', 1) = true then
68 begin
69 with DM.FDTableView do
70 begin
71 AfterScroll := Local;
72 Filter := 'MASTER = ' + QuotedStr(DM.FDTable7.FieldByName('NUMBER')
73 .AsString);
74 end;
75 DM.FDQuery1.Open('select MAX(serial) as serial from item_data;');
76 serial := DM.FDQuery1.FieldByName('SERIAL').AsInteger;
77 DM.FDQuery1.SQL.Clear;
78 DM.FDQuery1.SQL.Add('select * from item_data where master = :num;');
79 DM.FDQuery1.ParamByName('NUM').AsInteger :=
80 DM.FDTable7.FieldByName('NUMBER').AsInteger;
81 DM.FDQuery1.Open;
82 Local(nil);
83 end
84 else
85 Release;
86 end;
87
88 procedure TAdminFile.IWAppFormDestroy(Sender: TObject);
89 begin
90 dummy.Free;
91 end;
92
93 procedure TAdminFile.IWButton1Click(Sender: TObject);
94 var
95 s: TBitmap;
96 t: TPicture;
97 begin
98 if FileOpenDialog1.Execute = true then
99 begin
100 IWImage1.Picture.LoadFromFile(FileOpenDialog1.FileName);
101 DM.FDTableView.Edit;
102 UserSession.ImgToField(IWImage1.Picture,
103 DM.FDTableView.FieldByName('IMAGE'));
104 s := TBitmap.Create;
105 t := TPicture.Create;
106 try
107 s.Width := 50;
108 s.Height := 50;
109 s.Canvas.StretchDraw(Rect(0, 0, 50, 50), IWImage1.Picture.Graphic);
110 t.Assign(s);
111 UserSession.ImgToField(t, DM.FDTableView.FieldByName('THUMBNAIL'));
112 finally
113 s.Free;
114 t.Free;
115 end;
116 end;
117 end;
118
119 procedure TAdminFile.IWButton2Click(Sender: TObject);
120 begin
121 DM.FDTableView.AfterScroll := nil;
122 Release;
123 end;
124
125 procedure TAdminFile.IWButton3Click(Sender: TObject);
126 begin
127 IWImage1.Picture.Assign(nil);
128 DM.FDTableView.Edit;
129 end;
130
131 procedure TAdminFile.IWDBNavigator1BeforeAction(Sender: TObject;
132 NavButton: TNavigateBtn; var Handled: Boolean);
133 begin
134 case NavButton of
135 nbPost:
136 begin
137 DM.FDTableView.FieldByName('MASTER').AsInteger :=
138 DM.FDTable7.FieldByName('NUMBER').AsInteger;
139 Local(nil);
140 inc(serial);
141 end;
142 else
143 if DM.FDTableView.State = dsInsert then
144 DM.FDTableView.Delete;
145 end;
146 end;
147
148 procedure TAdminFile.IWDBNavigator1Insert(Sender: TObject);
149 begin
150 IWImage1.Picture.Assign(nil);
151 DM.FDTableView.FieldByName('SERIAL').AsInteger := serial + 1;
152 end;
153
154 procedure TAdminFile.IWDBNavigator1Post(Sender: TObject);
155 begin
156 DM.FDTable2.Refresh;
157 DM.FDQuery1.Refresh;
158 IWGrid1Render(nil);
159 end;
160
161 procedure TAdminFile.IWGrid1CellClick(ASender: TObject;
162 const ARow, AColumn: Integer);
163 begin
164 DM.FDTableView.Locate('SERIAL', Integer(IWGrid1.Cell[ARow, AColumn].Tag));
165 end;
166
167 procedure TAdminFile.IWGrid1Render(Sender: TObject);
168 var
169 i, j, k: Integer;
170 s: TIWImage;
171 ACell: TIWGridCell;
172 begin
173 k := DM.FDTableView.FieldByName('SERIAL').AsInteger;
174 IWGrid1.ColumnCount := 5;
175 i := DM.FDQuery1.RecordCount div IWGrid1.ColumnCount;
176 if i = 0 then
177 begin
178 IWGrid1.ColumnCount := DM.FDQuery1.RecordCount;
179 i := 1;
180 end
181 else if DM.FDQuery1.RecordCount mod IWGrid1.ColumnCount > 0 then
182 inc(i);
183 IWGrid1.RowCount := i;
184 dummy := TComponent.Create(IWGrid1);
185 DM.FDQuery1.First;
186 for i := 0 to IWGrid1.RowCount - 1 do
187 for j := 0 to IWGrid1.ColumnCount - 1 do
188 begin
189 if DM.FDQuery1.Eof = true then
190 Exit;
191 s := TIWImage.Create(dummy);
192 ACell := IWGrid1.Cell[i, j];
193 ACell.Control := s;
194 ACell.Text := DM.FDQuery1.FieldByName('NAME').AsString;
195 ACell.Tag := Pointer(DM.FDQuery1.FieldByName('SERIAL').AsInteger);
196 ACell.Clickable := k <> DM.FDQuery1.FieldByName('SERIAL').AsInteger;
197 UserSession.FieldToImg(s.Picture, DM.FDQuery1.FieldByName('THUMBNAIL'));
198 DM.FDQuery1.Next;
199 end;
200 end;
201
202 procedure TAdminFile.Local(DataSet: TDataSet);
203 begin
204 UserSession.FieldToImg(IWImage1.Picture, DM.FDTableView.FieldByName('IMAGE'));
205 end;
206
207 end.

Back to OSDN">Back to OSDN
ViewVC Help
Powered by ViewVC 1.1.26