Develop and Download Open Source Software

Browse Subversion Repository

Diff of /Unit11.pas

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

revision 16 by yamat0jp, Sat Aug 6 08:27:34 2016 UTC revision 18 by yamat0jp, Sat Aug 27 11:00:30 2016 UTC
# Line 11  uses Line 11  uses
11    IWCompText, FireDAC.UI.Intf, FireDAC.VCLUI.Login, FireDAC.Stan.Intf,    IWCompText, FireDAC.UI.Intf, FireDAC.VCLUI.Login, FireDAC.Stan.Intf,
12    FireDAC.Comp.UI, IWCompGrids, Vcl.Forms, IWVCLBaseContainer,    FireDAC.Comp.UI, IWCompGrids, Vcl.Forms, IWVCLBaseContainer,
13    IWContainer, IWHTMLContainer, IWHTML40Container, IWRegion, IWCompLabel,    IWContainer, IWHTMLContainer, IWHTML40Container, IWRegion, IWCompLabel,
14    Vcl.Imaging.pngimage, IWCompFileUploader;    Vcl.Imaging.pngimage, IWCompFileUploader, IWCompCheckbox, FireDAC.Stan.Option,
15      FireDAC.Stan.Param, FireDAC.Stan.Error, FireDAC.DatS, FireDAC.Phys.Intf,
16      FireDAC.DApt.Intf, FireDAC.Stan.Async, FireDAC.DApt, FireDAC.Comp.DataSet,
17      FireDAC.Comp.Client, IWDBGrids;
18    
19  type  type
20    TAdminFile = class(TIWAppForm)    TAdminFile = class(TIWAppForm)
# Line 38  type Line 41  type
41      IWImage1: TIWImage;      IWImage1: TIWImage;
42      FileOpenDialog1: TFileOpenDialog;      FileOpenDialog1: TFileOpenDialog;
43      IWButton3: TIWButton;      IWButton3: TIWButton;
44        IWDBCheckBox1: TIWDBCheckBox;
45        IWDBGrid1: TIWDBGrid;
46        FDQuery1: TFDQuery;
47        DataSource1: TDataSource;
48      procedure IWAppFormCreate(Sender: TObject);      procedure IWAppFormCreate(Sender: TObject);
49      procedure IWButton1Click(Sender: TObject);      procedure IWButton1Click(Sender: TObject);
50      procedure IWDBNavigator1BeforeAction(Sender: TObject;      procedure IWDBNavigator1BeforeAction(Sender: TObject;
# Line 49  type Line 56  type
56      procedure IWGrid1CellClick(ASender: TObject; const ARow, AColumn: Integer);      procedure IWGrid1CellClick(ASender: TObject; const ARow, AColumn: Integer);
57      procedure IWDBNavigator1Insert(Sender: TObject);      procedure IWDBNavigator1Insert(Sender: TObject);
58      procedure IWButton3Click(Sender: TObject);      procedure IWButton3Click(Sender: TObject);
59        procedure IWDBNavigator1Delete(Sender: TObject);
60        procedure IWDBNavigator1Edit(Sender: TObject);
61    private    private
62      serial: Integer;      serial: Integer;
63      dummy: TComponent;      dummy: TComponent;
# Line 64  uses Unit3, ServerController; Line 73  uses Unit3, ServerController;
73    
74  procedure TAdminFile.IWAppFormCreate(Sender: TObject);  procedure TAdminFile.IWAppFormCreate(Sender: TObject);
75  begin  begin
76      DM.FDTable2.Filtered := false;
77      FDQuery1.Open;
78    if DM.FDTable7.Locate('NUMBER', 1) = true then    if DM.FDTable7.Locate('NUMBER', 1) = true then
79    begin    begin
80      with DM.FDTableView do      with DM.FDTableView do
# Line 73  begin Line 84  begin
84          .AsString);          .AsString);
85      end;      end;
86      DM.FDQuery1.Open('select MAX(serial) as serial from item_data;');      DM.FDQuery1.Open('select MAX(serial) as serial from item_data;');
87      serial := DM.FDQuery1.FieldByName('SERIAL').AsInteger;      serial := DM.FDQuery1.Fields[0].AsInteger;
88      DM.FDQuery1.SQL.Clear;      DM.FDQuery1.SQL.Clear;
89      DM.FDQuery1.SQL.Add('select * from item_data where master = :num;');      DM.FDQuery1.SQL.Add
90          ('select * from item_data where master = :num and agree = true;');
91      DM.FDQuery1.ParamByName('NUM').AsInteger :=      DM.FDQuery1.ParamByName('NUM').AsInteger :=
92        DM.FDTable7.FieldByName('NUMBER').AsInteger;        DM.FDTable7.FieldByName('NUMBER').AsInteger;
93      DM.FDQuery1.Open;      DM.FDQuery1.Open;
# Line 88  end; Line 100  end;
100  procedure TAdminFile.IWAppFormDestroy(Sender: TObject);  procedure TAdminFile.IWAppFormDestroy(Sender: TObject);
101  begin  begin
102    dummy.Free;    dummy.Free;
103      FDQuery1.Close;
104      DM.FDTable2.Filtered := true;
105  end;  end;
106    
107  procedure TAdminFile.IWButton1Click(Sender: TObject);  procedure TAdminFile.IWButton1Click(Sender: TObject);
# Line 136  begin Line 150  begin
150        begin        begin
151          DM.FDTableView.FieldByName('MASTER').AsInteger :=          DM.FDTableView.FieldByName('MASTER').AsInteger :=
152            DM.FDTable7.FieldByName('NUMBER').AsInteger;            DM.FDTable7.FieldByName('NUMBER').AsInteger;
         Local(nil);  
153          inc(serial);          inc(serial);
154        end;        end;
155    else      nbDelete:
156      if DM.FDTableView.State = dsInsert then        if DM.FDTable2.Locate('SERIAL', DM.FDQuery1.FieldByName('SERIAL').AsInteger) = true then
157        DM.FDTableView.Delete;        begin
158            DM.FDTable2.Edit;
159            DM.FDTable2.FieldByName('SERIAL').AsInteger := -1;
160            DM.FDTable2.FieldByName('AGREE').AsBoolean := false;
161            DM.FDTable2.Post;
162            Handled := true;
163            DM.FDTable2.Refresh;
164            IWDBNavigator1Delete(Sender);
165            IWDBGrid1.Refresh;
166          end;
167        else
168          if DM.FDTableView.State = dsInsert then
169            DM.FDTableView.Delete
170          else if DM.FDTableView.State = dsEdit then
171            DM.FDTableView.Cancel;
172    end;    end;
173  end;  end;
174    
175    procedure TAdminFile.IWDBNavigator1Delete(Sender: TObject);
176    begin
177      DM.FDTableView.Refresh;
178      DM.FDQuery1.Refresh;
179      FDQuery1.Refresh;
180      IWGrid1Render(nil);
181    end;
182    
183    procedure TAdminFile.IWDBNavigator1Edit(Sender: TObject);
184    begin
185      if DM.FDTableView.State = dsInsert then
186        IWDBNavigator1Insert(Sender);
187    end;
188    
189  procedure TAdminFile.IWDBNavigator1Insert(Sender: TObject);  procedure TAdminFile.IWDBNavigator1Insert(Sender: TObject);
190  begin  begin
191    IWImage1.Picture.Assign(nil);    IWImage1.Picture.Assign(nil);
# Line 152  begin Line 193  begin
193  end;  end;
194    
195  procedure TAdminFile.IWDBNavigator1Post(Sender: TObject);  procedure TAdminFile.IWDBNavigator1Post(Sender: TObject);
196    var
197      i: Integer;
198  begin  begin
199    DM.FDTable2.Refresh;    DM.FDTable2.Refresh;
200      if DM.FDTable2.Locate('SERIAL', serial) = true then
201      begin
202        DM.FDTable2.Edit;
203        DM.FDTable2.FieldByName('AGREE').AsBoolean := false;
204        DM.FDTable2.Post;
205      end;
206      DM.FDTableView.Refresh;
207    DM.FDQuery1.Refresh;    DM.FDQuery1.Refresh;
208      FDQuery1.Refresh;
209    IWGrid1Render(nil);    IWGrid1Render(nil);
210  end;  end;
211    
212  procedure TAdminFile.IWGrid1CellClick(ASender: TObject;  procedure TAdminFile.IWGrid1CellClick(ASender: TObject;
213    const ARow, AColumn: Integer);    const ARow, AColumn: Integer);
214  begin  begin
215      if DM.FDTableView.State = dsEdit then
216        DM.FDTableView.Cancel;
217    DM.FDTableView.Locate('SERIAL', Integer(IWGrid1.Cell[ARow, AColumn].Tag));    DM.FDTableView.Locate('SERIAL', Integer(IWGrid1.Cell[ARow, AColumn].Tag));
218  end;  end;
219    
# Line 172  var Line 225  var
225  begin  begin
226    k := DM.FDTableView.FieldByName('SERIAL').AsInteger;    k := DM.FDTableView.FieldByName('SERIAL').AsInteger;
227    IWGrid1.ColumnCount := 5;    IWGrid1.ColumnCount := 5;
228    i := DM.FDQuery1.RecordCount div IWGrid1.ColumnCount;    if IWGrid1.ColumnCount > DM.FDQuery1.RecordCount then
   if i = 0 then  
229    begin    begin
230        IWGrid1.RowCount := 1;
231      IWGrid1.ColumnCount := DM.FDQuery1.RecordCount;      IWGrid1.ColumnCount := DM.FDQuery1.RecordCount;
     i := 1;  
232    end    end
233    else if DM.FDQuery1.RecordCount mod IWGrid1.ColumnCount > 0 then    else
234      inc(i);    begin
235    IWGrid1.RowCount := i;      i := DM.FDQuery1.RecordCount div IWGrid1.ColumnCount;
236        if DM.FDQuery1.RecordCount mod IWGrid1.ColumnCount > 0 then
237          inc(i);
238        IWGrid1.RowCount := i;
239      end;
240      dummy.Free;
241    dummy := TComponent.Create(IWGrid1);    dummy := TComponent.Create(IWGrid1);
242    DM.FDQuery1.First;    DM.FDQuery1.First;
243    for i := 0 to IWGrid1.RowCount - 1 do    for i := 0 to IWGrid1.RowCount - 1 do

Legend:
Removed from v.16  
changed lines
  Added in v.18

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