Develop and Download Open Source Software

Browse Subversion Repository

Diff of /Unit1.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 16 by yamat0jp, Sat Aug 6 08:27:34 2016 UTC
# Line 50  type Line 50  type
50      IWLink5: TIWLink;      IWLink5: TIWLink;
51      IWFrame1: TIWFrame1;      IWFrame1: TIWFrame1;
52      IWLink6: TIWLink;      IWLink6: TIWLink;
53        IWLink7: TIWLink;
54      procedure IWAppFormRender(Sender: TObject);      procedure IWAppFormRender(Sender: TObject);
55      procedure IWLink2Click(Sender: TObject);      procedure IWLink2Click(Sender: TObject);
56      procedure IWAppFormCreate(Sender: TObject);      procedure IWAppFormCreate(Sender: TObject);
# Line 83  implementation Line 84  implementation
84    
85  {$R *.dfm}  {$R *.dfm}
86    
87  uses Unit3, ServerController, Unit6, Unit4, Unit9, Unit10, Unit5;  uses Unit3, ServerController, Unit6, Unit4, Unit9, Unit10, Unit5, Unit11;
88    
89  procedure TIWForm1.CallBack(EventParams: TStringList);  procedure TIWForm1.CallBack(EventParams: TStringList);
90  begin  begin
91    if SameText(EventParams.Values['RetValue'], 'true') = true then    if SameText(EventParams.Values['RetValue'], 'true') = true then
92      TCartForm.Create(WebApplication).Show;      TCartForm.Create(WebApplication).Show;
93      IWFrame8.IWEdit1.Text := '0';
94  end;  end;
95    
96  procedure TIWForm1.ClearImage;  procedure TIWForm1.ClearImage;
# Line 194  begin Line 196  begin
196          IWList1.Items[i] := IWList1.Items.Names[i] + '(' + s + ')';          IWList1.Items[i] := IWList1.Items.Names[i] + '(' + s + ')';
197      end;      end;
198    IWList2.Items.Clear;    IWList2.Items.Clear;
199    if Page = false then    with DM.FDQuery1 do
200    begin    begin
201      with DM.FDQuery1 do      SQL.Clear;
202        SQL.Add('select volume,name,price from cart_data,item_data');
203        SQL.Add(' where cart_data.serial = item_data.serial');
204        SQL.Add(' and number = :num;');
205        ParamByName('num').AsInteger := UserSession.user_number;
206        Open;
207        First;
208        i := 0;
209        while Eof = false do
210      begin      begin
211        SQL.Clear;        s := Fields.Fields[0].AsString + 'x' + Fields.Fields[1].AsString;
212        SQL.Add('select volume,name,price from cart_data join item_data');        i := i + Fields.Fields[0].AsInteger * Fields.Fields[2].AsInteger;
213        SQL.Add(' on (cart_data.serial = item_data.serial)');        IWList2.Items.Add(s);
214        SQL.Add(' where number = :num;');        Next;
       Params.ParamByName('num').AsInteger := UserSession.user_number;  
       Open;  
       First;  
       i := 0;  
       while Eof = false do  
       begin  
         s := Fields.Fields[0].AsString + 'x' + Fields.Fields[1].AsString;  
         i := i + Fields.Fields[0].AsInteger * Fields.Fields[2].AsInteger;  
         IWList2.Items.Add(s);  
         Next;  
       end;  
       IWList2.Items.Add(i.ToString + '円');  
       Close;  
       IWList3.Items.Clear;  
       SQL.Clear;  
       SQL.Add('select name from recent_data join item_data');  
       SQL.Add(' on (recent_data.serial = item_data.serial)');  
       SQL.Add(' where number = :num;');  
       Params.ParamByName('num').AsInteger := UserSession.user_number;  
       Open;  
       First;  
       while Eof = false do  
       begin  
         IWList3.Items.Add(Fields.Fields[0].AsString);  
         Next;  
       end;  
       Close;  
215      end;      end;
216        IWList2.Items.Add(i.ToString + '円');
217        Close;
218        IWList3.Items.Clear;
219        SQL.Clear;
220        SQL.Add('select name from recent_data,item_data');
221        SQL.Add(' where recent_data.serial = item_data.serial');
222        SQL.Add(' and number = :num;');
223        ParamByName('num').AsInteger := UserSession.user_number;
224        Open;
225        First;
226        while Eof = false do
227        begin
228          IWList3.Items.Add(Fields.Fields[0].AsString);
229          Next;
230        end;
231        Close;
232    end;    end;
233    LoadImage;    LoadImage;
234    if IWGrid1.Visible = true then    if IWGrid1.Visible = true then
235      IWLabel6.Visible := Filter;      IWLabel6.Visible := Filter
236      else
237        DM.FDTable2.Locate('SERIAL', UserSession.Serial);
238  end;  end;
239    
240  procedure TIWForm1.IWButton1Click(Sender: TObject);  procedure TIWForm1.IWButton1Click(Sender: TObject);
# Line 260  end; Line 261  end;
261    
262  procedure TIWForm1.IWFrame8IWButton1Click(Sender: TObject);  procedure TIWForm1.IWFrame8IWButton1Click(Sender: TObject);
263  var  var
264    i: Integer;    i, j: Integer;
265      s: string;
266  begin  begin
267    if TryStrToInt(IWFrame8.IWEdit1.Text, i) = false then    if TryStrToInt(IWFrame8.IWEdit1.Text, i) = false then
268    begin    begin
# Line 272  begin Line 274  begin
274      WebApplication.ShowMessage('1個以上のご注文が必要です');      WebApplication.ShowMessage('1個以上のご注文が必要です');
275      Exit;      Exit;
276    end;    end;
277      s := WebApplication.Request.CookieFields.Values['user_cookie'];
278      if s = '' then
279      begin
280        DM.FDTable1.Last;
281        j := DM.FDTable1.FieldByName('NUMBER').AsInteger + 1;
282        while DM.FDTable1.Lookup('NUMBER', j, 'NUMBER') = j do
283          inc(j);
284        UserSession.user_number := j;
285        DM.FDTable1.AppendRecord([nil, nil, nil, nil, nil, nil,
286          UserSession.user_number, Date]);
287        WebApplication.Response.Cookies.AddCookie('user_cookie',
288          UserSession.user_number.ToString, '/', Date + 10);
289      end;
290    with DM.FDQuery1 do    with DM.FDQuery1 do
291    begin    begin
292      SQL.Clear;      Open('select * from cart_data;');
     SQL.Add('select * from cart_data;');  
     Open;  
293      if Locate('NUMBER;SERIAL', VarArrayOf([UserSession.user_number,      if Locate('NUMBER;SERIAL', VarArrayOf([UserSession.user_number,
294        UserSession.Serial]), []) = true then        UserSession.Serial]), []) = true then
295      begin      begin
# Line 287  begin Line 300  begin
300      else      else
301        AppendRecord([nil, i, UserSession.user_number, UserSession.Serial]);        AppendRecord([nil, i, UserSession.user_number, UserSession.Serial]);
302    end;    end;
   IWFrame8.IWEdit1.Text := '0';  
303    WebApplication.ShowConfirm('カートに移動しますか', 'callback', '移動', 'はい', 'いいえ');    WebApplication.ShowConfirm('カートに移動しますか', 'callback', '移動', 'はい', 'いいえ');
304  end;  end;
305    
# Line 300  procedure TIWForm1.IWGrid1CellClick(ASen Line 312  procedure TIWForm1.IWGrid1CellClick(ASen
312    const ARow, AColumn: Integer);    const ARow, AColumn: Integer);
313  begin  begin
314    Thumbnail := false;    Thumbnail := false;
   IWFrame8.IWEdit1.Text := '1';  
315    UserSession.Serial := Integer(IWGrid1.Cell[ARow, AColumn].Tag);    UserSession.Serial := Integer(IWGrid1.Cell[ARow, AColumn].Tag);
316  end;  end;
317    
# Line 310  begin Line 321  begin
321  end;  end;
322    
323  procedure TIWForm1.IWLink2Click(Sender: TObject);  procedure TIWForm1.IWLink2Click(Sender: TObject);
324    var
325      i: Integer;
326  begin  begin
327    if Page = true then    if Page = true then
328    begin    begin
329      if DM.FDTable1.Locate('EMAIL;PASSWORD',      i := UserSession.user_number;
330        VarArrayOf([IWEdit2.Text, IWEdit3.Text]), [loCaseInsensitive]) = true then      if (DM.FDTable1.Locate('EMAIL;PASSWORD',
331          VarArrayOf([IWEdit2.Text, UserSession.hash(IWEdit3.Text)]),
332          [loCaseInsensitive]) = true) and
333          (DM.FDTable1.FieldByName('EMAIL').AsString <> '') then
334      begin      begin
       Page := false;  
335        IWEdit2.Text := '';        IWEdit2.Text := '';
336          UserSession.user_number := DM.FDTable1.FieldByName('NUMBER').AsInteger;
337          if i <> 0 then
338          begin
339            with DM.FDQuery1 do
340            begin
341              Open('select * from user_data where number = :num', [i]);
342              Delete;
343              Open('select number from cart_data where number = :num;', [i]);
344              First;
345              while Eof = false do
346              begin
347                Edit;
348                FieldByName('number').AsInteger := UserSession.user_number;
349                Next;
350              end;
351            end;
352          end;
353          Page := false;
354      end;      end;
355      IWEdit3.Text := '';      IWEdit3.Text := '';
356    end    end
# Line 346  end; Line 379  end;
379    
380  procedure TIWForm1.IWLink6Click(Sender: TObject);  procedure TIWForm1.IWLink6Click(Sender: TObject);
381  begin  begin
382    Page:=true;    Page := true;
383    TIWForm3.Create(WebApplication).Show;    if Sender = IWLink6 then
384        TAdminPage.Create(WebApplication).Show
385      else
386        TAdminFile.Create(WebApplication).Show;
387  end;  end;
388    
389  procedure TIWForm1.LoadImage;  procedure TIWForm1.LoadImage;
390  var  var
   s: TStream;  
   png: TPngImage;  
391    pic: TIWImage;    pic: TIWImage;
392    i: Integer;    i: Integer;
393    j: Integer;    j: Integer;
   x: Boolean;  
394    t: string;    t: string;
395  label label1;  label label1;
396  begin  begin
397    ClearImage;    ClearImage;
398    png := TPngImage.Create;    if Thumbnail = true then
399    try    begin
400      if Thumbnail = true then      i := DM.FDTable2.RecordCount div IWGrid1.ColumnCount;
401      begin      if DM.FDTable2.RecordCount mod IWGrid1.ColumnCount > 0 then
402        i := DM.FDTable2.RecordCount div IWGrid1.ColumnCount;        inc(i);
403        if DM.FDTable2.RecordCount mod IWGrid1.ColumnCount > 0 then      IWGrid1.RowCount := i;
404          inc(i);      if DM.FDTable2.Filtered = false then
405        IWGrid1.RowCount := i;        DM.FDTable2.Last
406        if DM.FDTable2.Filtered = false then      else
407          DM.FDTable2.Last        DM.FDTable2.FindLast;
408        else      for i := 0 to IWGrid1.RowCount - 1 do
409          DM.FDTable2.FindLast;        for j := 0 to IWGrid1.ColumnCount - 1 do
410        for i := 0 to IWGrid1.RowCount - 1 do        begin
411          for j := 0 to IWGrid1.ColumnCount - 1 do          if DM.FDTable2.Filtered = false then
412          begin          begin
413            if DM.FDTable2.Filtered = false then            if DM.FDTable2.Bof = true then
           begin  
             if DM.FDTable2.Bof = true then  
               goto label1;  
           end  
           else if DM.FDTable2.Found = false then  
414              goto label1;              goto label1;
415            if DM.FDTable2.FieldByName('THUMBNAIL').AsBytes <> nil then          end
416            begin          else if DM.FDTable2.Found = false then
417              s := DM.FDTable2.CreateBlobStream            goto label1;
418                (DM.FDTable2.FieldByName('THUMBNAIL'), bmRead);          pic := TIWImage.Create(IWGrid1);
419              try          UserSession.FieldToImg(pic.Picture,
420                png.LoadFromStream(s);            DM.FDTable2.FieldByName('THUMBNAIL'));
421              finally          IWGrid1.Cell[i, j].Control := pic;
422                s.Free;          t := DM.FDTable2.FieldByName('NAME').AsString;
423              end;          if Length(t) > 10 then
424              pic := TIWImage.Create(IWGrid1);            t := Copy(t, 1, 8) + '..';
425              pic.Picture.Assign(png);          IWGrid1.Cell[i, j].Tag :=
426              IWGrid1.Cell[i, j].Control := pic;            Pointer(DM.FDTable2.FieldByName('SERIAL').AsInteger);
427            end;          IWGrid1.Cell[i, j].Text := t;
428            t := DM.FDTable2.FieldByName('NAME').AsString;          IWGrid1.Cell[i, j].Alignment := taCenter;
429            if Length(t) > 10 then          IWGrid1.Cell[i, j].Clickable := true;
430              t := Copy(t, 1, 8) + '..';          if DM.FDTable2.Filtered = false then
431            IWGrid1.Cell[i, j].Tag :=            DM.FDTable2.Prior
432              Pointer(DM.FDTable2.FieldByName('SERIAL').AsInteger);          else
433            IWGrid1.Cell[i, j].Text := t;            DM.FDTable2.FindPrior;
           IWGrid1.Cell[i, j].Alignment := taCenter;  
           IWGrid1.Cell[i, j].Clickable := true;  
           if DM.FDTable2.Filtered = false then  
             DM.FDTable2.Prior  
           else  
             DM.FDTable2.FindPrior;  
         end;  
     label1:  
     end  
     else if (DM.FDTable2.Locate('SERIAL', UserSession.Serial, []) = true) and  
       (DM.FDTable2.FieldByName('THUMBNAIL').AsBytes <> nil) then  
     begin  
       s := DM.FDTable2.CreateBlobStream  
         (DM.FDTable2.FieldByName('THUMBNAIL'), bmRead);  
       try  
         png.LoadFromStream(s);  
         IWFrame8.IWImage1.Picture.Assign(png);  
       finally  
         s.Free;  
434        end;        end;
435      end    label1:
     else  
       IWFrame8.IWImage1.Picture.Assign(nil);  
   finally  
     png.Free;  
   end;  
   png := nil;  
   s := nil;  
   Randomize;  
   if DM.FDTable2.Filtered = true then  
   begin  
     x := true;  
     DM.FDTable2.Filtered := false;  
436    end    end
437    else    else if DM.FDTable2.Locate('SERIAL', UserSession.Serial, []) = true then
438      x := false;      UserSession.FieldToImg(IWFrame8.IWImage1.Picture,
439    DM.FDTable2.Last;        DM.FDTable2.FieldByName('IMAGE'));
440    if DM.FDTable2.Bof = true then    Randomize;
441      Exit;    DM.FDTableView.Filter := 'DATE > ' + QuotedStr(DateTimeToStr(Date - 10));
442    DM.FDTable2.MoveBy(-Random(DM.FDTable2.RecordCount div 5));    DM.FDTableView.First;
443    if DM.FDTable2.FieldByName('THUMBNAIL').AsBytes <> nil then    DM.FDTableView.MoveBy(Random(DM.FDTableView.RecordCount));
444    begin    UserSession.FieldToImg(IWImage1.Picture,
445      s := DM.FDTable2.CreateBlobStream      DM.FDTableView.FieldByName('THUMBNAIL'));
446        (DM.FDTable2.FieldByName('THUMBNAIL'), bmRead);    IWLabel4.Caption := DM.FDTableView.FieldByName('NAME').AsString;
     png := TPngImage.Create;  
     try  
       png.LoadFromStream(s);  
       IWImage1.Picture.Assign(png);  
     finally  
       png.Free;  
       s.Free;  
     end;  
   end;  
   if x = true then  
     DM.FDTable2.Filtered := true;  
   IWLabel4.Caption := DM.FDTable2.FieldByName('NAME').AsString;  
447  end;  end;
448    
449  procedure TIWForm1.SetPage(const Value: Boolean);  procedure TIWForm1.SetPage(const Value: Boolean);
# Line 473  begin Line 458  begin
458    begin    begin
459      IWLabel1.Caption := 'ようこそ';      IWLabel1.Caption := 'ようこそ';
460      IWLink2.Caption := 'ログアウト';      IWLink2.Caption := 'ログアウト';
461      UserSession.user_number := DM.FDTable1.FieldByName('NUMBER').AsInteger;      WebApplication.Response.Cookies.AddCookie('user_cookie',
462          UserSession.user_number.ToString, '/', Date + 10);
463    end    end
464    else    else
465    begin    begin
# Line 483  begin Line 469  begin
469      IWText1.Text := '';      IWText1.Text := '';
470      DM.FDTable2.Filtered := false;      DM.FDTable2.Filtered := false;
471      Filter := false;      Filter := false;
472      UserSession.user_number:=0;      if DM.FDTable1.FieldByName('EMAIL').AsString <> '' then
473        begin
474          WebApplication.Response.Cookies.AddCookie('user_cookie', '0', '/',
475            Date - 1);
476          UserSession.user_number := 0;
477        end;
478    end;    end;
479  end;  end;
480    

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

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