Develop and Download Open Source Software

Browse CVS Repository

Diff of /gikonavigoeson/gikonavi/Round.pas

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

revision 1.15 by genyakun, Sat Feb 5 10:05:36 2005 UTC revision 1.16 by genyakun, Tue Feb 8 09:48:51 2005 UTC
# Line 4  interface Line 4  interface
4    
5  uses  uses
6          Windows, Classes, Controls, Forms, StdCtrls, ComCtrls, Menus,          Windows, Classes, Controls, Forms, StdCtrls, ComCtrls, Menus,
7          SysUtils, ImgList, ExtCtrls, GikoSystem, GikoUtil, Dialogs;          SysUtils, ImgList, ExtCtrls, GikoSystem, GikoUtil;
8    
9  type  type
10          TRoundDialog = class(TForm)          TRoundDialog = class(TForm)
# Line 27  type Line 27  type
27      Button1: TButton;      Button1: TButton;
28      RoundButton: TButton;      RoundButton: TButton;
29      StatusBar1: TStatusBar;      StatusBar1: TStatusBar;
30          RoundListView: TListView;      RoundListView: TListView;
31                  procedure RoundButtonClick(Sender: TObject);                  procedure RoundButtonClick(Sender: TObject);
32                  procedure FormCreate(Sender: TObject);                  procedure FormCreate(Sender: TObject);
33                  procedure RoundListViewChange(Sender: TObject; Item: TListItem;                  procedure RoundListViewChange(Sender: TObject; Item: TListItem;
# Line 36  type Line 36  type
36                  procedure AllCancelButtonClick(Sender: TObject);                  procedure AllCancelButtonClick(Sender: TObject);
37                  procedure RoundNameComboBoxChange(Sender: TObject);                  procedure RoundNameComboBoxChange(Sender: TObject);
38                  procedure RoundDeleteButtonClick(Sender: TObject);                  procedure RoundDeleteButtonClick(Sender: TObject);
     procedure RoundListViewColumnClick(Sender: TObject;  
       Column: TListColumn);  
     procedure RoundListViewCompare(Sender: TObject; Item1,  
       Item2: TListItem; Data: Integer; var Compare: Integer);  
39          private          private
40                  { Private 宣言 }                  { Private 宣言 }
                 FColumnToSort: Integer;  
                 FSortOrder:     Boolean;  
41                  function GetRoundCount: Integer;                  function GetRoundCount: Integer;
42                  procedure SetRoundItem(RoundName: string);                  procedure SetRoundItem(RoundName: string);
43                  function CompareTime(Time1: TDateTime; Time2: TDateTime; MarginMin: Integer): Boolean;                  function CompareTime(Time1: TDateTime; Time2: TDateTime; MarginMin: Integer): Boolean;
# Line 57  type Line 51  type
51  implementation  implementation
52    
53  uses  uses
54          Giko, BoardGroup, RoundData, Math;          Giko, BoardGroup, RoundData;
55    
56  {$R *.DFM}  {$R *.DFM}
57    
# Line 70  var Line 64  var
64          ThreadItem: TThreadItem;          ThreadItem: TThreadItem;
65          RoundItem: TRoundItem;          RoundItem: TRoundItem;
66  begin  begin
67          if CompareTime(GikoForm.LastRoundTime, Now, 3) then begin  //      if CompareTime(GikoForm.LastRoundTime, Now, 5) then begin
68                  msg := '一度巡回すると3分間巡回は出来ません。';  //              msg := '一度巡回すると5分間巡回は出来ません';
69    //              GikoSys.MsgBox(msg, 'エラー', MB_OK or MB_ICONSTOP);
70    //              Exit;
71    //      end;
72    {$IF Defined(FRCRND) }
73        Giko.GikoForm.LoginAction.Checked := true; // 動作試験用途
74    {$IFEND}
75    
76            if not Giko.GikoForm.LoginAction.Checked then begin
77                    if GikoSys.Setting.UserID <> '' then begin
78                            msg := 'ログインしないと巡回は出来ません' + #13#10
79                                    + '今ログインしますか';
80                            if MsgBox(Handle, msg, '確認', MB_YESNO or MB_ICONQUESTION or MB_DEFBUTTON2) <> IDYES then begin
81                                    Exit;
82                            end;
83                            Giko.GikoForm.LoginAction.Execute;
84                    end;
85            end;
86    
87            if not Giko.GikoForm.LoginAction.Checked then begin
88                    msg := 'ログインしないと巡回は出来ません';// + #13#10
89    //                               + '分からない人はギコナビスレッドで聞いてください';
90                  MsgBox(Handle, msg, 'エラー', MB_OK or MB_ICONSTOP);                  MsgBox(Handle, msg, 'エラー', MB_OK or MB_ICONSTOP);
91                  Exit;                  Exit;
92          end;          end;
 //{$IF Defined(FRCRND) }  
 //    Giko.GikoForm.LoginAction.Checked := true; // 動作試験用途  
 //{$IFEND}  
93    
94          cnt := GetRoundCount;          cnt := GetRoundCount;
95          if cnt = 0 then begin          if cnt = 0 then begin
# Line 85  begin Line 97  begin
97                  MsgBox(Handle, msg, 'エラー', MB_OK or MB_ICONSTOP);                  MsgBox(Handle, msg, 'エラー', MB_OK or MB_ICONSTOP);
98                  Exit;                  Exit;
99          end;          end;
         if cnt > 500 then begin  
                 msg := '500以上の巡回はできません';  
                 MsgBox(Handle, msg, 'エラー', MB_OK or MB_ICONSTOP);  
                 Exit;  
         end;  
100    
101          for i := 0 to RoundList.Count[grtBoard] - 1 do begin          for i := 0 to RoundList.Count[grtBoard] - 1 do begin
102                  RoundItem := RoundList.Items[i, grtBoard];                  RoundItem := RoundList.Items[i, grtBoard];
# Line 108  begin Line 115  begin
115          for i := 0 to RoundList.Count[grtItem] - 1 do begin          for i := 0 to RoundList.Count[grtItem] - 1 do begin
116                  RoundItem := RoundList.Items[i, grtItem];                  RoundItem := RoundList.Items[i, grtItem];
117                  if not RoundItem.BoolData then Continue;                  if not RoundItem.BoolData then Continue;
118  //              if not Giko.GikoForm.LoginAction.Checked then Exit;                  if not Giko.GikoForm.LoginAction.Checked then Exit;
119      if RoundItem.RoundType = grtItem then begin      if RoundItem.RoundType = grtItem then begin
120          //ThreadItem := TThreadItem( RoundItem.Item );          //ThreadItem := TThreadItem( RoundItem.Item );
121          ThreadItem := BBSsFindThreadFromURL(RoundItem.URL);          ThreadItem := BBSsFindThreadFromURL(RoundItem.URL);
# Line 118  begin Line 125  begin
125                          end;                          end;
126                  end;                  end;
127          end;          end;
128          GikoForm.LastRoundTime := Now;  //      GikoForm.LastRoundTime := Now;
129          Close;          Close;
130  end;  end;
131    
# Line 154  procedure TRoundDialog.FormCreate(Sender Line 161  procedure TRoundDialog.FormCreate(Sender
161  var  var
162          i: Integer;          i: Integer;
163  begin  begin
     FColumnToSort := -1;  
164          RoundNameComboBox.Items.Add('(すべて)');          RoundNameComboBox.Items.Add('(すべて)');
165          for i := 0 to RoundList.RoundNameList.Count - 1 do          for i := 0 to RoundList.RoundNameList.Count - 1 do
166                  RoundNameComboBox.Items.Add(RoundList.RoundNameList[i]);                  RoundNameComboBox.Items.Add(RoundList.RoundNameList[i]);
# Line 164  begin Line 170  begin
170                  RoundList.Items[i, grtItem].BoolData := False;                  RoundList.Items[i, grtItem].BoolData := False;
171          RoundNameComboBox.ItemIndex := 0;          RoundNameComboBox.ItemIndex := 0;
172          SetRoundItem('');          SetRoundItem('');
         RoundList.SaveRoundFile;  
173  end;  end;
174    
175  procedure TRoundDialog.RoundListViewChange(Sender: TObject;  procedure TRoundDialog.RoundListViewChange(Sender: TObject;
# Line 301  begin Line 306  begin
306          end;          end;
307  end;  end;
308    
 procedure TRoundDialog.RoundListViewColumnClick(Sender: TObject;  
   Column: TListColumn);  
 begin  
         if FColumnToSort > -1 then  
                 (Sender as TCustomListView).Column[FColumnToSort].ImageIndex := -1;  
   
         if FColumnToSort = Column.Index then  
                 FSortOrder := not FSortOrder  
         else  
                 FSortOrder := false;  
   
         if FSortOrder then  
                 Column.ImageIndex := 3  
         else  
                 Column.ImageIndex := 2;  
   
         FColumnToSort := Column.Index;  
         (Sender as TCustomListView).AlphaSort;  
 end;  
   
 procedure TRoundDialog.RoundListViewCompare(Sender: TObject; Item1,  
   Item2: TListItem; Data: Integer; var Compare: Integer);  
 var  
   ix: Integer;  
 begin  
         if FColumnToSort = 0 then begin  
                 if not FSortOrder then begin  
                         Compare := CompareText(Item1.Caption,Item2.Caption);  
                         if Compare = 0 then  
                                 Compare := CompareValue(Item1.ImageIndex, item2.ImageIndex);  
                 end else begin  
                         Compare := -CompareText(Item1.Caption,Item2.Caption);  
                         if Compare = 0 then  
                                 Compare := -CompareValue(Item1.ImageIndex,item2.ImageIndex);  
                 end;  
         end else begin  
                 ix := FColumnToSort - 1;  
                 if not FSortOrder then begin  
                         Compare := CompareText(Item1.SubItems[ix],Item2.SubItems[ix]);  
                         if Compare = 0 then  
                                 Compare := CompareValue(Item1.ImageIndex, item2.ImageIndex);  
                 end else begin  
                         Compare := -CompareText(Item1.SubItems[ix],Item2.SubItems[ix]);  
                         if Compare = 0 then  
                                 Compare := -CompareValue(Item1.ImageIndex, item2.ImageIndex);  
                 end;  
         end;  
 end;  
   
309  end.  end.

Legend:
Removed from v.1.15  
changed lines
  Added in v.1.16

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