Develop and Download Open Source Software

Browse Subversion Repository

Annotation of /Unit11.pas

Parent Directory Parent Directory | Revision Log Revision Log


Revision 16 - (hide 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 yamat0jp 15 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 yamat0jp 16 IWCompButton, Vcl.Dialogs, Data.DB, Graphics,
11 yamat0jp 15 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 yamat0jp 16 Vcl.Imaging.pngimage, IWCompFileUploader;
15 yamat0jp 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 yamat0jp 16 IWFileUploader1: TIWFileUploader;
38     IWImage1: TIWImage;
39     FileOpenDialog1: TFileOpenDialog;
40     IWButton3: TIWButton;
41 yamat0jp 15 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 yamat0jp 16 procedure IWButton3Click(Sender: TObject);
52 yamat0jp 15 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 yamat0jp 16 uses Unit3, ServerController;
64 yamat0jp 15
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 yamat0jp 16 var
95     s: TBitmap;
96     t: TPicture;
97 yamat0jp 15 begin
98     if FileOpenDialog1.Execute = true then
99     begin
100     IWImage1.Picture.LoadFromFile(FileOpenDialog1.FileName);
101     DM.FDTableView.Edit;
102 yamat0jp 16 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 yamat0jp 15 end;
117     end;
118    
119     procedure TAdminFile.IWButton2Click(Sender: TObject);
120     begin
121 yamat0jp 16 DM.FDTableView.AfterScroll := nil;
122 yamat0jp 15 Release;
123     end;
124    
125 yamat0jp 16 procedure TAdminFile.IWButton3Click(Sender: TObject);
126     begin
127     IWImage1.Picture.Assign(nil);
128     DM.FDTableView.Edit;
129     end;
130    
131 yamat0jp 15 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 yamat0jp 16 Local(nil);
140 yamat0jp 15 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 yamat0jp 16 IWImage1.Picture.Assign(nil);
151 yamat0jp 15 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 yamat0jp 16 begin
178 yamat0jp 15 IWGrid1.ColumnCount := DM.FDQuery1.RecordCount;
179 yamat0jp 16 i := 1;
180     end
181     else if DM.FDQuery1.RecordCount mod IWGrid1.ColumnCount > 0 then
182 yamat0jp 15 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 yamat0jp 16 UserSession.FieldToImg(s.Picture, DM.FDQuery1.FieldByName('THUMBNAIL'));
198 yamat0jp 15 DM.FDQuery1.Next;
199     end;
200     end;
201    
202     procedure TAdminFile.Local(DataSet: TDataSet);
203     begin
204 yamat0jp 16 UserSession.FieldToImg(IWImage1.Picture, DM.FDTableView.FieldByName('IMAGE'));
205 yamat0jp 15 end;
206    
207     end.

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