Develop and Download Open Source Software

Browse Subversion Repository

Contents of /Unit11.pas

Parent Directory Parent Directory | Revision Log Revision Log


Revision 18 - (show annotations) (download) (as text)
Sat Aug 27 11:00:30 2016 UTC (7 years, 6 months ago) by yamat0jp
File MIME type: text/x-pascal
File size: 7870 byte(s)
データの更新をメンテナンス中に限定した
コミットファイルの設定を見直し

問題点はRecordCountを使った検索件数表示
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, IWCompCheckbox, FireDAC.Stan.Option,
15 FireDAC.Stan.Param, FireDAC.Stan.Error, FireDAC.DatS, FireDAC.Phys.Intf,
16 FireDAC.DApt.Intf, FireDAC.Stan.Async, FireDAC.DApt, FireDAC.Comp.DataSet,
17 FireDAC.Comp.Client, IWDBGrids;
18
19 type
20 TAdminFile = class(TIWAppForm)
21 IWTemplateProcessorHTML1: TIWTemplateProcessorHTML;
22 IWGrid1: TIWGrid;
23 IWDBText1: TIWDBText;
24 IWDBEdit6: TIWDBEdit;
25 IWDBEdit5: TIWDBEdit;
26 IWButton1: TIWButton;
27 IWDBNavigator1: TIWDBNavigator;
28 IWDBEdit4: TIWDBEdit;
29 IWDBEdit3: TIWDBEdit;
30 IWDBEdit2: TIWDBEdit;
31 IWDBEdit1: TIWDBEdit;
32 IWRegion1: TIWRegion;
33 IWLabel1: TIWLabel;
34 IWLabel2: TIWLabel;
35 IWLabel3: TIWLabel;
36 IWLabel4: TIWLabel;
37 IWLabel5: TIWLabel;
38 IWLabel6: TIWLabel;
39 IWButton2: TIWButton;
40 IWFileUploader1: TIWFileUploader;
41 IWImage1: TIWImage;
42 FileOpenDialog1: TFileOpenDialog;
43 IWButton3: TIWButton;
44 IWDBCheckBox1: TIWDBCheckBox;
45 IWDBGrid1: TIWDBGrid;
46 FDQuery1: TFDQuery;
47 DataSource1: TDataSource;
48 procedure IWAppFormCreate(Sender: TObject);
49 procedure IWButton1Click(Sender: TObject);
50 procedure IWDBNavigator1BeforeAction(Sender: TObject;
51 NavButton: TNavigateBtn; var Handled: Boolean);
52 procedure IWButton2Click(Sender: TObject);
53 procedure IWAppFormDestroy(Sender: TObject);
54 procedure IWDBNavigator1Post(Sender: TObject);
55 procedure IWGrid1Render(Sender: TObject);
56 procedure IWGrid1CellClick(ASender: TObject; const ARow, AColumn: Integer);
57 procedure IWDBNavigator1Insert(Sender: TObject);
58 procedure IWButton3Click(Sender: TObject);
59 procedure IWDBNavigator1Delete(Sender: TObject);
60 procedure IWDBNavigator1Edit(Sender: TObject);
61 private
62 serial: Integer;
63 dummy: TComponent;
64 procedure Local(DataSet: TDataSet);
65 public
66 end;
67
68 implementation
69
70 {$R *.dfm}
71
72 uses Unit3, ServerController;
73
74 procedure TAdminFile.IWAppFormCreate(Sender: TObject);
75 begin
76 DM.FDTable2.Filtered := false;
77 FDQuery1.Open;
78 if DM.FDTable7.Locate('NUMBER', 1) = true then
79 begin
80 with DM.FDTableView do
81 begin
82 AfterScroll := Local;
83 Filter := 'MASTER = ' + QuotedStr(DM.FDTable7.FieldByName('NUMBER')
84 .AsString);
85 end;
86 DM.FDQuery1.Open('select MAX(serial) as serial from item_data;');
87 serial := DM.FDQuery1.Fields[0].AsInteger;
88 DM.FDQuery1.SQL.Clear;
89 DM.FDQuery1.SQL.Add
90 ('select * from item_data where master = :num and agree = true;');
91 DM.FDQuery1.ParamByName('NUM').AsInteger :=
92 DM.FDTable7.FieldByName('NUMBER').AsInteger;
93 DM.FDQuery1.Open;
94 Local(nil);
95 end
96 else
97 Release;
98 end;
99
100 procedure TAdminFile.IWAppFormDestroy(Sender: TObject);
101 begin
102 dummy.Free;
103 FDQuery1.Close;
104 DM.FDTable2.Filtered := true;
105 end;
106
107 procedure TAdminFile.IWButton1Click(Sender: TObject);
108 var
109 s: TBitmap;
110 t: TPicture;
111 begin
112 if FileOpenDialog1.Execute = true then
113 begin
114 IWImage1.Picture.LoadFromFile(FileOpenDialog1.FileName);
115 DM.FDTableView.Edit;
116 UserSession.ImgToField(IWImage1.Picture,
117 DM.FDTableView.FieldByName('IMAGE'));
118 s := TBitmap.Create;
119 t := TPicture.Create;
120 try
121 s.Width := 50;
122 s.Height := 50;
123 s.Canvas.StretchDraw(Rect(0, 0, 50, 50), IWImage1.Picture.Graphic);
124 t.Assign(s);
125 UserSession.ImgToField(t, DM.FDTableView.FieldByName('THUMBNAIL'));
126 finally
127 s.Free;
128 t.Free;
129 end;
130 end;
131 end;
132
133 procedure TAdminFile.IWButton2Click(Sender: TObject);
134 begin
135 DM.FDTableView.AfterScroll := nil;
136 Release;
137 end;
138
139 procedure TAdminFile.IWButton3Click(Sender: TObject);
140 begin
141 IWImage1.Picture.Assign(nil);
142 DM.FDTableView.Edit;
143 end;
144
145 procedure TAdminFile.IWDBNavigator1BeforeAction(Sender: TObject;
146 NavButton: TNavigateBtn; var Handled: Boolean);
147 begin
148 case NavButton of
149 nbPost:
150 begin
151 DM.FDTableView.FieldByName('MASTER').AsInteger :=
152 DM.FDTable7.FieldByName('NUMBER').AsInteger;
153 inc(serial);
154 end;
155 nbDelete:
156 if DM.FDTable2.Locate('SERIAL', DM.FDQuery1.FieldByName('SERIAL').AsInteger) = true then
157 begin
158 DM.FDTable2.Edit;
159 DM.FDTable2.FieldByName('SERIAL').AsInteger := -1;
160 DM.FDTable2.FieldByName('AGREE').AsBoolean := false;
161 DM.FDTable2.Post;
162 Handled := true;
163 DM.FDTable2.Refresh;
164 IWDBNavigator1Delete(Sender);
165 IWDBGrid1.Refresh;
166 end;
167 else
168 if DM.FDTableView.State = dsInsert then
169 DM.FDTableView.Delete
170 else if DM.FDTableView.State = dsEdit then
171 DM.FDTableView.Cancel;
172 end;
173 end;
174
175 procedure TAdminFile.IWDBNavigator1Delete(Sender: TObject);
176 begin
177 DM.FDTableView.Refresh;
178 DM.FDQuery1.Refresh;
179 FDQuery1.Refresh;
180 IWGrid1Render(nil);
181 end;
182
183 procedure TAdminFile.IWDBNavigator1Edit(Sender: TObject);
184 begin
185 if DM.FDTableView.State = dsInsert then
186 IWDBNavigator1Insert(Sender);
187 end;
188
189 procedure TAdminFile.IWDBNavigator1Insert(Sender: TObject);
190 begin
191 IWImage1.Picture.Assign(nil);
192 DM.FDTableView.FieldByName('SERIAL').AsInteger := serial + 1;
193 end;
194
195 procedure TAdminFile.IWDBNavigator1Post(Sender: TObject);
196 var
197 i: Integer;
198 begin
199 DM.FDTable2.Refresh;
200 if DM.FDTable2.Locate('SERIAL', serial) = true then
201 begin
202 DM.FDTable2.Edit;
203 DM.FDTable2.FieldByName('AGREE').AsBoolean := false;
204 DM.FDTable2.Post;
205 end;
206 DM.FDTableView.Refresh;
207 DM.FDQuery1.Refresh;
208 FDQuery1.Refresh;
209 IWGrid1Render(nil);
210 end;
211
212 procedure TAdminFile.IWGrid1CellClick(ASender: TObject;
213 const ARow, AColumn: Integer);
214 begin
215 if DM.FDTableView.State = dsEdit then
216 DM.FDTableView.Cancel;
217 DM.FDTableView.Locate('SERIAL', Integer(IWGrid1.Cell[ARow, AColumn].Tag));
218 end;
219
220 procedure TAdminFile.IWGrid1Render(Sender: TObject);
221 var
222 i, j, k: Integer;
223 s: TIWImage;
224 ACell: TIWGridCell;
225 begin
226 k := DM.FDTableView.FieldByName('SERIAL').AsInteger;
227 IWGrid1.ColumnCount := 5;
228 if IWGrid1.ColumnCount > DM.FDQuery1.RecordCount then
229 begin
230 IWGrid1.RowCount := 1;
231 IWGrid1.ColumnCount := DM.FDQuery1.RecordCount;
232 end
233 else
234 begin
235 i := DM.FDQuery1.RecordCount div IWGrid1.ColumnCount;
236 if DM.FDQuery1.RecordCount mod IWGrid1.ColumnCount > 0 then
237 inc(i);
238 IWGrid1.RowCount := i;
239 end;
240 dummy.Free;
241 dummy := TComponent.Create(IWGrid1);
242 DM.FDQuery1.First;
243 for i := 0 to IWGrid1.RowCount - 1 do
244 for j := 0 to IWGrid1.ColumnCount - 1 do
245 begin
246 if DM.FDQuery1.Eof = true then
247 Exit;
248 s := TIWImage.Create(dummy);
249 ACell := IWGrid1.Cell[i, j];
250 ACell.Control := s;
251 ACell.Text := DM.FDQuery1.FieldByName('NAME').AsString;
252 ACell.Tag := Pointer(DM.FDQuery1.FieldByName('SERIAL').AsInteger);
253 ACell.Clickable := k <> DM.FDQuery1.FieldByName('SERIAL').AsInteger;
254 UserSession.FieldToImg(s.Picture, DM.FDQuery1.FieldByName('THUMBNAIL'));
255 DM.FDQuery1.Next;
256 end;
257 end;
258
259 procedure TAdminFile.Local(DataSet: TDataSet);
260 begin
261 UserSession.FieldToImg(IWImage1.Picture, DM.FDTableView.FieldByName('IMAGE'));
262 end;
263
264 end.

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