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 10 by yamat0jp, Sat Jan 16 23:06:35 2016 UTC revision 12 by yamat0jp, Sun Jul 24 06:09:44 2016 UTC
# Line 8  uses Line 8  uses
8    IWDBGrids, IWCompButton, IWCompExtCtrls, IWVCLComponent,    IWDBGrids, IWCompButton, IWCompExtCtrls, IWVCLComponent,
9    IWBaseLayoutComponent, IWBaseContainerLayout, IWContainerLayout,    IWBaseLayoutComponent, IWBaseContainerLayout, IWContainerLayout,
10    IWTemplateProcessorHTML, PngImage, Data.DB, IWCompLabel, IWDBStdCtrls,    IWTemplateProcessorHTML, PngImage, Data.DB, IWCompLabel, IWDBStdCtrls,
11    FireDAC.Comp.Client;    FireDAC.Comp.Client, IWCompRadioButton, IWCompEdit, Variants;
12    
13  type  type
14    TPayForm = class(TIWAppForm)    TPayForm = class(TIWAppForm)
# Line 16  type Line 16  type
16      IWButton2: TIWButton;      IWButton2: TIWButton;
17      IWTemplateProcessorHTML1: TIWTemplateProcessorHTML;      IWTemplateProcessorHTML1: TIWTemplateProcessorHTML;
18      IWDBLabel1: TIWDBLabel;      IWDBLabel1: TIWDBLabel;
19        IWDBLabel2: TIWDBLabel;
20        IWButton3: TIWButton;
21        IWRadioButton1: TIWRadioButton;
22        IWRadioButton2: TIWRadioButton;
23        IWEdit1: TIWEdit;
24        IWDBLabel3: TIWDBLabel;
25      procedure IWButton2Click(Sender: TObject);      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 29  uses Unit3, Unit1, ServerController; Line 36  uses Unit3, Unit1, ServerController;
36    
37  procedure TPayForm.IWButton1Click(Sender: TObject);  procedure TPayForm.IWButton1Click(Sender: TObject);
38  var  var
39    s: TFDQuery;    i, j, k: integer;
40    i: integer;    s: string;
41      v: Variant;
42      temp: TFDQuery;
43  begin  begin
44    with DM.FDQuery1 do    if (IWRadioButton2.Checked = true) and
45        (DM.FDTable1.FieldByName('ADDRESS2').AsString = '') then
46    begin    begin
47      Open('select * from cart_data where number = :num;',      if IWEdit1.Visible = true then
48        [DM.FDTable1.FieldByName('NUMBER').AsInteger]);      begin
49      s := TFDQuery.Create(nil);        IWEdit1.Text := '';
50      try        IWEdit1.Hide;
51        s.Connection := DM.FDConnection1;        IWDBLabel3.Show;
52        s.Open('select * from order_data;');      end;
53        while Eof = false do      WebApplication.ShowMessage('配達先住所が不正です');
54        begin      Exit;
55          s.Append;    end;
56          s.FieldByName('LASTORDER').AsDateTime := Date;    if IWRadioButton1.Checked = true then
57          s.FieldByName('VOLUME').AsInteger := DM.FDQuery1.FieldByName('VOLUME')      s := IWDBLabel1.Text
58            .AsInteger;    else
59          s.FieldByName('USER').AsString :=      s := IWDBLabel3.Text;
60            DM.FDTable1.FieldByName('NAME').AsString;    i := DM.FDTable1.FieldByName('NUMBER').AsInteger;
61          s.FieldByName('ADDRESS').AsString :=    v := DM.FDTable4.Lookup('NUMBER', i, 'ID;ADDRESS');
62            DM.FDTable1.FieldByName('ADDRESS').AsString;    if VarIsNull(v) = false then
63          s.FieldByName('EMAIL').AsString :=      if (v[0] <> IWDBLabel2.Text) or (v[1] <> s) then
64            DM.FDTable1.FieldByName('EMAIL').AsString;      begin
65          if DM.FDTable2.Locate('SERIAL', DM.FDQuery1.FieldByName('SERIAL').AsInteger, []) = true        DM.FDTable1.Last;
66          then        i := DM.FDTable1.FieldByName('NUMBER').AsInteger + 1;
67          begin        DM.FDTable4.Append;
68            s.FieldByName('NAME').AsString :=        DM.FDTable4.FieldByName('NUMBER').AsInteger := i;
69              DM.FDTable2.FieldByName('NAME').AsString;        DM.FDTable4.FieldByName('ID').AsString := IWDBLabel2.Text;
70            s.FieldByName('MAKER').AsString :=        DM.FDTable4.FieldByName('EMAIL').AsString :=
71              DM.FDTable2.FieldByName('MAKER').AsString;          DM.FDTable1.FieldByName('EMAIL').AsString;
72            s.FieldByName('PRICE').AsInteger := DM.FDTable2.FieldByName('PRICE')        DM.FDTable4.FieldByName('ADDRESS').AsString := s;
73              .AsInteger * s.FieldByName('VOLUME').AsInteger;      end;
74          end;    DM.FDTable6.Last;
75          Next;    k := DM.FDTable6.FieldByName('ORDER').AsInteger + 1;
76        end;    j := 0;
77        s.Post;    DM.FDQuery1.Open('select * from cart_data');
78        First;    DM.FDQuery1.First;
79        s.Open('select * from recent_data;');    temp := TFDQuery.Create(Self);
80        while s.Eof = false do    try
81          if Date + 30 < s.FieldByName('DATE').AsDateTime then      temp.Connection:=DM.FDConnection1;
82            s.Delete      temp.Open('select * from recent_data;');
83          else      while DM.FDQuery1.Eof = false do
84            s.Next;      begin
85        while Eof = false do        if DM.FDTable2.Locate('SERIAL', DM.FDQuery1.FieldByName('SERIAL')
86            .AsInteger, []) = true then
87        begin        begin
88          if s.Locate('SERIAL', FieldByName('SERIAL').AsInteger, []) = false then          DM.FDTable5.Last;
89            s.AppendRecord([FieldByName('NUMBER').AsInteger,          k := DM.FDTable5.FieldByName('KEYFIELD').AsInteger + 1;
90              FieldByName('SERIAL').AsInteger, Date]);          DM.FDTable5.Append;
91          Delete;          DM.FDTable5.FieldByName('VOLUME').AsInteger :=
92              DM.FDQuery1.FieldByName('VOLUME').AsInteger;
93            DM.FDTable5.FieldByName('SERIAL').AsString :=
94              DM.FDTable2.FieldByName('SERIAL').AsString;
95            DM.FDTable5.FieldByName('NAME').AsString :=
96              DM.FDTable2.FieldByName('NAME').AsString;
97            DM.FDTable5.FieldByName('MAKER').AsString :=
98              DM.FDTable2.FieldByName('MAKER').AsString;
99            DM.FDTable5.FieldByName('PRICE').AsInteger :=
100              DM.FDTable2.FieldByName('PRICE').AsInteger;
101            DM.FDTable5.FieldByName('KEYFIELD').AsInteger := k;
102            DM.FDTable5.Post;
103            temp.AppendRecord([i, DM.FDTable2.FieldByName('SERIAL')
104              .AsInteger, Date]);
105            j := j + DM.FDTable2.FieldByName('PRICE').AsInteger *
106              DM.FDQuery1.FieldByName('VOLUME').AsInteger;
107        end;        end;
108      finally        DM.FDQuery1.Delete;
109        s.Free;      end;
110      finally
111        temp.Free;
112      end;
113      DM.FDQuery1.Open('select * from recent_data;');
114      DM.FDQuery1.First;
115      while Eof = false do
116        if Date + 30 < DM.FDQuery1.FieldByName('DATE').AsDateTime then
117          DM.FDQuery1.Delete
118        else
119          DM.FDQuery1.Next;
120      with DM.FDTable5 do
121      begin
122        Filter := 'ORDER = ' + QuotedStr(k.ToString);
123        Filtered := true;
124        FindFirst;
125        while Eof = false do
126        begin
127          DM.FDQuery1.AppendRecord([i, FieldByName('SERIAL').AsInteger, Date]);
128          FindNext;
129      end;      end;
130        Filtered := false;
131      end;
132      with DM.FDTable6 do
133      begin
134        Append;
135        FieldByName('NUMBER').AsInteger := i;
136        FieldByName('LASTORDER').AsDateTime := Date;
137        FieldByName('PRICE').AsInteger := j;
138        Post;
139    end;    end;
140    WebApplication.ShowMessage('お買い上げありがとうございました');    WebApplication.ShowMessage('お買い上げありがとうございました');
141    Release;    Release;
# Line 93  begin Line 147  begin
147    Release;    Release;
148  end;  end;
149    
150    procedure TPayForm.IWButton3Click(Sender: TObject);
151    begin
152      if IWDBLabel3.Visible = true then
153      begin
154        IWEdit1.Text := IWDBLabel3.Caption;
155        IWDBLabel3.Hide;
156        IWEdit1.Show;
157      end
158      else
159      begin
160        DM.FDTable1.Edit;
161        DM.FDTable1.FieldByName('ADDRESS2').AsString := IWEdit1.Text;
162        DM.FDTable1.Post;
163        IWEdit1.Hide;
164        IWDBLabel3.Show;
165      end;
166    end;
167    
168  end.  end.

Legend:
Removed from v.10  
changed lines
  Added in v.12

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