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 8 by yamat0jp, Thu Dec 31 08:51:02 2015 UTC revision 17 by yamat0jp, Wed Aug 24 12:31:07 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 25  implementation Line 32  implementation
32    
33  {$R *.dfm}  {$R *.dfm}
34    
35  uses Unit3, Unit1;  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, m, n: integer;
40      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 number,serial 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 recent_data;');      end;
53        while s.Eof = false do      WebApplication.ShowMessage('配達先住所が不正です');
54          if Date + 30 < s.FieldByName('DATE').AsDateTime then      Exit;
55            s.Delete    end;
56          else    if IWRadioButton1.Checked = true then
57            s.Next;      s := IWDBLabel1.Text
58        while Eof = false do    else
59        s := IWDBLabel3.Text;
60      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.FDTable5.MasterSource := nil;
94      DM.FDTable5.Last;
95      k := DM.FDTable5.FieldByName('KEYFIELD').AsInteger;
96      DM.FDTable5.MasterSource := DM.order;
97      DM.FDQuery1.Open('select * from cart_data');
98      DM.FDQuery1.First;
99      temp := TFDQuery.Create(Self);
100      try
101        temp.Connection := DM.FDConnection1;
102        temp.Open('select * from recent_data;');
103        while DM.FDQuery1.Eof = false do
104        begin
105          if DM.FDTable2.Locate('SERIAL', DM.FDQuery1.FieldByName('SERIAL')
106            .AsInteger) = true then
107        begin        begin
108          if s.Locate('SERIAL', s.FieldByName('SERIAL').AsInteger, []) = false          inc(k);
109          then          DM.FDTable5.Append;
110            s.AppendRecord([Fields.Fields[0].AsInteger,          DM.FDTable5.FieldByName('VOLUME').AsInteger :=
111              Fields.Fields[1].AsInteger, Date]);            DM.FDQuery1.FieldByName('VOLUME').AsInteger;
112          Delete;          DM.FDTable5.FieldByName('NAME').AsString :=
113              DM.FDTable2.FieldByName('NAME').AsString;
114            DM.FDTable5.FieldByName('MAKER').AsString :=
115              DM.FDTable2.FieldByName('MAKER').AsString;
116            DM.FDTable5.FieldByName('PRICE').AsInteger :=
117              DM.FDTable2.FieldByName('PRICE').AsInteger;
118            DM.FDTable5.FieldByName('KEYFIELD').AsInteger := k;
119            DM.FDTable5.FieldByName('ORDER').AsInteger := m;
120            DM.FDTable5.FieldByName('CHECKVALUE').AsBoolean := false;
121            n := DM.FDTable2.FieldByName('SERIAL').AsInteger;
122            DM.FDTable5.FieldByName('SERIAL').AsInteger := n;
123            DM.FDTable5.Post;
124            temp.AppendRecord([i, n, Date]);
125            j := j + DM.FDTable2.FieldByName('PRICE').AsInteger *
126              DM.FDQuery1.FieldByName('VOLUME').AsInteger;
127        end;        end;
128      finally        DM.FDQuery1.Delete;
129        s.Free;      end;
130      finally
131        temp.Free;
132      end;
133      DM.FDQuery1.Open('select * from recent_data;');
134      DM.FDQuery1.First;
135      while DM.FDQuery1.Eof = false do
136        if Date + 30 < DM.FDQuery1.FieldByName('DATE').AsDateTime then
137          DM.FDQuery1.Delete
138        else
139          DM.FDQuery1.Next;
140      with DM.FDTable5 do
141      begin
142        First;
143        while Eof = false do
144        begin
145          DM.FDQuery1.AppendRecord([i, FieldByName('SERIAL').AsInteger, Date]);
146          Next;
147      end;      end;
148    end;    end;
149      with DM.FDTable6 do
150      begin
151        Append;
152        FieldByName('ORDER').AsInteger := m;
153        FieldByName('NUMBER').AsInteger := i;
154        FieldByName('LASTORDER').AsDateTime := Date;
155        FieldByName('PRICE').AsInteger := j;
156        Post;
157      end;
158    WebApplication.ShowMessage('お買い上げありがとうございました');    WebApplication.ShowMessage('お買い上げありがとうございました');
159    Release;    Release;
160    IWForm1.Page := true;    IWForm1.Thumbnail := true;
161  end;  end;
162    
163  procedure TPayForm.IWButton2Click(Sender: TObject);  procedure TPayForm.IWButton2Click(Sender: TObject);
# Line 66  begin Line 165  begin
165    Release;    Release;
166  end;  end;
167    
168    procedure TPayForm.IWButton3Click(Sender: TObject);
169    begin
170      if IWDBLabel3.Visible = true then
171      begin
172        IWEdit1.Text := IWDBLabel3.Caption;
173        IWDBLabel3.Hide;
174        IWEdit1.Show;
175      end
176      else
177      begin
178        DM.FDTable1.Edit;
179        DM.FDTable1.FieldByName('ADDRESS2').AsString := IWEdit1.Text;
180        DM.FDTable1.Post;
181        IWEdit1.Hide;
182        IWDBLabel3.Show;
183      end;
184    end;
185    
186  end.  end.

Legend:
Removed from v.8  
changed lines
  Added in v.17

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