| 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) |
| 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; |
| 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; |
| 51 |
implementation |
implementation |
| 52 |
|
|
| 53 |
uses |
uses |
| 54 |
Giko, BoardGroup, RoundData, Math; |
Giko, BoardGroup, RoundData; |
| 55 |
|
|
| 56 |
{$R *.DFM} |
{$R *.DFM} |
| 57 |
|
|
| 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 |
| 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]; |
| 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); |
| 125 |
end; |
end; |
| 126 |
end; |
end; |
| 127 |
end; |
end; |
| 128 |
GikoForm.LastRoundTime := Now; |
// GikoForm.LastRoundTime := Now; |
| 129 |
Close; |
Close; |
| 130 |
end; |
end; |
| 131 |
|
|
| 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]); |
| 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; |
| 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. |