Develop and Download Open Source Software

Browse Subversion Repository

Annotation of /Unit4.pas

Parent Directory Parent Directory | Revision Log Revision Log


Revision 15 - (hide annotations) (download) (as text)
Fri Aug 5 10:33:26 2016 UTC (7 years, 7 months ago) by yamat0jp
File MIME type: text/x-pascal
File size: 3733 byte(s)
TDataSetNotifyEventの切り替え方法がはっきりわかりませんでしたが適当に実装しました。
1 yamat0jp 1 unit Unit4;
2    
3     interface
4    
5     uses
6 yamat0jp 5 Classes, SysUtils, IWAppForm, IWApplication, IWColor, IWTypes, IWVCLComponent,
7     IWBaseLayoutComponent, IWBaseContainerLayout, IWContainerLayout,
8     IWTemplateProcessorHTML, Vcl.Controls, IWVCLBaseControl, IWBaseControl,
9 yamat0jp 6 IWBaseHTMLControl, IWControl, IWCompGrids, IWCompButton, Variants,
10     IWCompLabel,
11     IWDBStdCtrls, PngImage, IWCompExtCtrls, Data.DB;
12 yamat0jp 1
13     type
14 yamat0jp 5 TCartForm = class(TIWAppForm)
15     IWTemplateProcessorHTML1: TIWTemplateProcessorHTML;
16     IWGrid1: TIWGrid;
17     IWButton1: TIWButton;
18     IWButton2: TIWButton;
19     IWLabel1: TIWLabel;
20     procedure IWAppFormRender(Sender: TObject);
21     procedure IWGrid1CellClick(ASender: TObject; const ARow, AColumn: Integer);
22     procedure IWAppFormCreate(Sender: TObject);
23     procedure IWButton2Click(Sender: TObject);
24     procedure IWButton1Click(Sender: TObject);
25 yamat0jp 1 public
26     end;
27    
28     implementation
29    
30     {$R *.dfm}
31    
32 yamat0jp 11 uses Unit3, Unit7, Unit6, ServerController;
33 yamat0jp 1
34 yamat0jp 5 procedure TCartForm.IWAppFormCreate(Sender: TObject);
35     begin
36     with DM.FDQuery1 do
37     begin
38     SQL.Clear;
39 yamat0jp 15 SQL.Add('select thumbnail,name,volume,price,number,serial from cart_data,item_data');
40     SQL.Add(' where cart_data.serial = item_data.serial');
41     SQL.Add(' and number = :num');
42     ParamByName('num').AsInteger := UserSession.user_number;
43 yamat0jp 5 end;
44     end;
45    
46     procedure TCartForm.IWAppFormRender(Sender: TObject);
47     var
48     i, j, k: Integer;
49 yamat0jp 6 s: TStream;
50     pic: TIWImage;
51     png: TPngImage;
52 yamat0jp 5 begin
53 yamat0jp 6 for i := 0 to IWGrid1.RowCount - 1 do
54     IWGrid1.Cell[i, 0].Control.Free;
55     IWGrid1.RowCount := 0;
56 yamat0jp 5 with DM.FDQuery1 do
57     begin
58     Open;
59     IWGrid1.RowCount := RecordCount;
60     if IWGrid1.RowCount = 0 then
61 yamat0jp 6 IWGrid1.Caption := '�J�[�g�����g������������';
62 yamat0jp 5 First;
63     i := 0;
64     k := 0;
65 yamat0jp 6 png := TPngImage.Create;
66     try
67     while Eof = false do
68     begin
69 yamat0jp 15 if Fields.Fields[0].IsNull = false then
70 yamat0jp 6 begin
71     s := CreateBlobStream(Fields.Fields[0], bmRead);
72     try
73     png.LoadFromStream(s);
74     finally
75     s.Free;
76     end;
77     pic := TIWImage.Create(IWGrid1);
78     pic.Picture.Assign(png);
79     IWGrid1.Cell[i, 0].Control := pic;
80     end;
81     IWGrid1.Cell[i, 1].Text := Fields.Fields[1].AsString;
82     IWGrid1.Cell[i, 2].Text := Fields.Fields[2].AsString;
83     j := Fields.Fields[2].AsInteger * Fields.Fields[3].AsInteger;
84     inc(k, j);
85     IWGrid1.Cell[i, 3].Text := IntToStr(j);
86     IWGrid1.Cell[i, 4].Text := '����';
87     IWGrid1.Cell[i, 4].Clickable := true;
88     Next;
89     inc(i);
90     end;
91     finally
92     png.Free;
93 yamat0jp 5 end;
94     end;
95 yamat0jp 7 IWLabel1.Text := Format('(���v)�@%d + (������) %d = %d�~',
96     [k, Trunc(k * 0.08), Trunc(k * 1.08)]);
97 yamat0jp 5 end;
98    
99     procedure TCartForm.IWButton1Click(Sender: TObject);
100 yamat0jp 13 var
101     s: TUserForm;
102 yamat0jp 5 begin
103 yamat0jp 13 if (UserSession.user_number <> 0) and (IWGrid1.RowCount > 0) then
104     if DM.FDTable1.FieldByName('EMAIL').AsString = '' then
105     begin
106     s := TUserForm.Create(WebApplication);
107     s.pay := IWGrid1.RowCount>0;
108     s.Show;
109     end
110     else
111     TPayForm.Create(WebApplication).Show;
112 yamat0jp 5 Release;
113     end;
114    
115     procedure TCartForm.IWButton2Click(Sender: TObject);
116     begin
117     Release;
118     end;
119    
120     procedure TCartForm.IWGrid1CellClick(ASender: TObject;
121     const ARow, AColumn: Integer);
122     var
123 yamat0jp 6 i, j: Integer;
124 yamat0jp 5 begin
125     with DM.FDQuery1 do
126     begin
127 yamat0jp 6 RecNo := ARow + 1;
128     i := FieldByName('NUMBER').AsInteger;
129     j := FieldByName('SERIAL').AsInteger;
130 yamat0jp 15 Open('select * from cart_data;');
131 yamat0jp 8 if Locate('NUMBER;SERIAL', VarArrayOf([i, j]), []) = true then
132     Delete;
133 yamat0jp 5 end;
134     IWAppFormCreate(ASender);
135     end;
136    
137 yamat0jp 1 end.

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