Develop and Download Open Source Software

Browse Subversion Repository

Diff of /Unit7.pas

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 2 by yamat0jp, Sat Dec 19 14:35:42 2015 UTC revision 13 by yamat0jp, Tue Jul 26 09:17:38 2016 UTC
# Line 7  uses Line 7  uses
7    IWVCLBaseControl, IWBaseControl, IWBaseHTMLControl, IWControl, IWCompGrids,    IWVCLBaseControl, IWBaseControl, IWBaseHTMLControl, IWControl, IWCompGrids,
8    IWDBGrids, IWCompButton, IWCompExtCtrls, IWVCLComponent,    IWDBGrids, IWCompButton, IWCompExtCtrls, IWVCLComponent,
9    IWBaseLayoutComponent, IWBaseContainerLayout, IWContainerLayout,    IWBaseLayoutComponent, IWBaseContainerLayout, IWContainerLayout,
10    IWTemplateProcessorHTML, PngImage, Data.DB;    IWTemplateProcessorHTML, PngImage, Data.DB, IWCompLabel, IWDBStdCtrls,
11      FireDAC.Comp.Client, IWCompRadioButton, IWCompEdit, Variants;
12    
13  type  type
14    TCartForm = class(TIWAppForm)    TPayForm = class(TIWAppForm)
15      IWButton1: TIWButton;      IWButton1: TIWButton;
16      IWButton2: TIWButton;      IWButton2: TIWButton;
17      IWTemplateProcessorHTML1: TIWTemplateProcessorHTML;      IWTemplateProcessorHTML1: TIWTemplateProcessorHTML;
18      IWGrid1: TIWGrid;      IWDBLabel1: TIWDBLabel;
19      procedure IWAppFormCreate(Sender: TObject);      IWDBLabel2: TIWDBLabel;
20      procedure IWAppFormDestroy(Sender: TObject);      IWButton3: TIWButton;
21        IWRadioButton1: TIWRadioButton;
22        IWRadioButton2: TIWRadioButton;
23        IWEdit1: TIWEdit;
24        IWDBLabel3: TIWDBLabel;
25        procedure IWButton2Click(Sender: TObject);
26      procedure IWButton1Click(Sender: TObject);      procedure IWButton1Click(Sender: TObject);
27        procedure IWButton3Click(Sender: TObject);
28    public    public
29    end;    end;
30    
# Line 25  implementation Line 32  implementation
32    
33  {$R *.dfm}  {$R *.dfm}
34    
35  uses Unit3, Unit1, ServerController, Unit4;  uses Unit3, Unit1, ServerController;
36    
37  procedure TCartForm.IWAppFormCreate(Sender: TObject);  procedure TPayForm.IWButton1Click(Sender: TObject);
38  var  var
39    i: integer;    i, j, k, m: integer;
40    s: TStream;    s: string;
41    png: TPngImage;    v: Variant;
42    img: TIWImageFile;    temp: TFDQuery;
   j: integer;  
43  begin  begin
44    with DM.FDQuery1 do    if (IWRadioButton2.Checked = true) and
45        (DM.FDTable1.FieldByName('ADDRESS2').AsString = '') then
46    begin    begin
47      SQL.Clear;      if IWEdit1.Visible = true then
48      SQL.Add('select name,maker,thumbnail,volume,price');      begin
49      SQL.Add(' from item_data join cart_data');        IWEdit1.Text := '';
50      SQL.Add(' on (item_data.serial = cart_data.serial) where number = :num;');        IWEdit1.Hide;
51      Params.ParamByName('num').AsInteger := UserSession.user_number;        IWDBLabel3.Show;
52      Open;      end;
53    end;      WebApplication.ShowMessage('配達先住所が不正です');
54    IWGrid1.ColumnCount := DM.FDQuery1.Fields.Count;      Exit;
55    IWGrid1.RowCount := DM.FDQuery1.RecordCount;    end;
56    for i := 0 to IWGrid1.RowCount - 1 do    if IWRadioButton1.Checked = true then
57    begin      s := IWDBLabel1.Text
58      png := TPngImage.Create;    else
59      try      s := IWDBLabel3.Text;
60        for j := 0 to IWGrid1.ColumnCount - 1 do    i := DM.FDTable1.FieldByName('NUMBER').AsInteger;
61      v := DM.FDTable4.Lookup('NUMBER', i, 'EMAIL;ADDRESS');
62      if VarIsNull(v) = false then
63      begin
64        if (v[0] <> IWDBLabel2.Text) or (v[1] <> s) then
65        begin
66          DM.FDTable6.Last;
67          i := DM.FDTable6.FieldByName('NUMBER').AsInteger + 1;
68          DM.FDTable4.Append;
69          DM.FDTable4.FieldByName('NUMBER').AsInteger := i;
70          DM.FDTable4.FieldByName('ID').AsString := IWDBLabel2.Text;
71          DM.FDTable4.FieldByName('EMAIL').AsString :=
72            DM.FDTable1.FieldByName('EMAIL').AsString;
73          DM.FDTable4.FieldByName('ADDRESS').AsString := s;
74          DM.FDTable4.Post;
75        end;
76      end
77      else
78      begin
79        DM.FDTable4.Append;
80        DM.FDTable4.FieldByName('NUMBER').AsInteger :=
81          DM.FDTable1.FieldByName('NUMBER').AsInteger;
82        DM.FDTable4.FieldByName('ID').AsString :=
83          DM.FDTable1.FieldByName('NAME').AsString;
84        DM.FDTable4.FieldByName('EMAIL').AsString :=
85          DM.FDTable1.FieldByName('EMAIL').AsString;
86        DM.FDTable4.FieldByName('ADDRESS').AsString :=
87          DM.FDTable1.FieldByName('ADDRESS').AsString;
88        DM.FDTable4.Post;
89      end;
90      DM.FDTable6.Last;
91      m := DM.FDTable6.FieldByName('ORDER').AsInteger + 1;
92      j := 0;
93      DM.FDQuery1.Open('select * from cart_data');
94      DM.FDQuery1.First;
95      temp := TFDQuery.Create(Self);
96      try
97        temp.Connection := DM.FDConnection1;
98        temp.Open('select * from recent_data;');
99        while DM.FDQuery1.Eof = false do
100        begin
101          if DM.FDTable2.Locate('SERIAL', DM.FDQuery1.FieldByName('SERIAL')
102            .AsInteger, []) = true then
103        begin        begin
104          case j of          DM.FDTable5.Last;
105            2:          k := DM.FDTable5.FieldByName('KEYFIELD').AsInteger + 1;
106              begin          DM.FDTable5.Append;
107                s := DM.FDQuery1.CreateBlobStream          DM.FDTable5.FieldByName('VOLUME').AsInteger :=
108                  (DM.FDQuery1.FieldByName('THUMBNAIL'), bmRead);            DM.FDQuery1.FieldByName('VOLUME').AsInteger;
109                try          DM.FDTable5.FieldByName('SERIAL').AsString :=
110                  png.LoadFromStream(s);            DM.FDTable2.FieldByName('SERIAL').AsString;
111                  img:=TIWImageFile.Create(IWGrid1);          DM.FDTable5.FieldByName('NAME').AsString :=
112                  img.Picture.Assign(png);            DM.FDTable2.FieldByName('NAME').AsString;
113                  IWGrid1.Cell[i, j].Control :=img;          DM.FDTable5.FieldByName('MAKER').AsString :=
114                finally            DM.FDTable2.FieldByName('MAKER').AsString;
115                  s.Free;          DM.FDTable5.FieldByName('PRICE').AsInteger :=
116                end;            DM.FDTable2.FieldByName('PRICE').AsInteger;
117              end;          DM.FDTable5.FieldByName('KEYFIELD').AsInteger := k;
118            4:          DM.FDTable5.FieldByName('ORDER').AsInteger := m;
119              IWGrid1.Cell[i, j].Text :=          DM.FDTable5.Post;
120                (DM.FDQuery1.Fields[3].AsInteger * DM.FDQuery1.Fields[4]          temp.AppendRecord([i, DM.FDTable2.FieldByName('SERIAL')
121                .AsInteger).ToString;            .AsInteger, Date]);
122          else          j := j + DM.FDTable2.FieldByName('PRICE').AsInteger *
123            IWGrid1.Cell[i, j].Text := DM.FDQuery1.Fields[j].AsString;            DM.FDQuery1.FieldByName('VOLUME').AsInteger;
         end;  
124        end;        end;
125      finally        DM.FDQuery1.Delete;
       png.Free;  
126      end;      end;
127      DM.FDQuery1.Next;    finally
128        temp.Free;
129    end;    end;
130      DM.FDQuery1.Open('select * from recent_data;');
131      DM.FDQuery1.First;
132      while DM.FDQuery1.Eof = false do
133        if Date + 30 < DM.FDQuery1.FieldByName('DATE').AsDateTime then
134          DM.FDQuery1.Delete
135        else
136          DM.FDQuery1.Next;
137      with DM.FDTable5 do
138      begin
139        First;
140        while Eof = false do
141        begin
142          DM.FDQuery1.AppendRecord([i, FieldByName('SERIAL').AsInteger, Date]);
143          Next;
144        end;
145      end;
146      with DM.FDTable6 do
147      begin
148        Append;
149        FieldByName('ORDER').AsInteger := m;
150        FieldByName('NUMBER').AsInteger := i;
151        FieldByName('LASTORDER').AsDateTime := Date;
152        FieldByName('PRICE').AsInteger := j;
153        Post;
154      end;
155      WebApplication.ShowMessage('お買い上げありがとうございました');
156      Release;
157      IWForm1.Thumbnail := true;
158  end;  end;
159    
160  procedure TCartForm.IWAppFormDestroy(Sender: TObject);  procedure TPayForm.IWButton2Click(Sender: TObject);
161  begin  begin
162    DM.FDQuery1.Close;    Release;
163  end;  end;
164    
165  procedure TCartForm.IWButton1Click(Sender: TObject);  procedure TPayForm.IWButton3Click(Sender: TObject);
166  begin  begin
167    Release;    if IWDBLabel3.Visible = true then
168    if Sender = IWButton1 then    begin
169      TPayForm.Create(WebApplication).Show      IWEdit1.Text := IWDBLabel3.Caption;
170        IWDBLabel3.Hide;
171        IWEdit1.Show;
172      end
173    else    else
174      TIWForm1.Create(WebApplication).Show;    begin
175        DM.FDTable1.Edit;
176        DM.FDTable1.FieldByName('ADDRESS2').AsString := IWEdit1.Text;
177        DM.FDTable1.Post;
178        IWEdit1.Hide;
179        IWDBLabel3.Show;
180      end;
181  end;  end;
182    
183  end.  end.

Legend:
Removed from v.2  
changed lines
  Added in v.13

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