Develop and Download Open Source Software

Browse CVS Repository

Annotation of /gikonavigoeson/gikonavi/Round.pas

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


Revision 1.22 - (hide annotations) (download) (as text)
Sun Nov 20 14:58:02 2005 UTC (18 years, 5 months ago) by h677
Branch: MAIN
CVS Tags: v1_59_0_771, v1_59_0_770, v1_59_0_773, v1_59_0_772, v1_59_0_775, v1_59_0_774, v1_59_0_777, v1_59_0_776, v1_56_0_715, v1_59_0_778, v1_63_1_819, v1_57_0_737, v1_62_0_812, v1_57_0_735, v1_57_0_734, v1_57_0_733, v1_57_0_732, v1_57_0_731, v1_57_0_730, v1_57_0_739, v1_57_0_738, v1_59_1_765, v1_51_1_639, v1_53_0_671, v1_60_0_788, v1_60_0_789, v1_54_0_677, v1_54_0_676, v1_58_0_748, v1_58_0_745, v1_60_0_781, v1_60_0_782, v1_58_0_746, v1_60_0_784, v1_54_0_678, v1_60_0_786, v1_60_0_787, v1_56_0_707, v1_59_0_767, v1_56_0_705, v1_56_0_704, v1_56_0_703, v1_56_0_702, v1_56_0_701, v1_56_0_700, v1_59_1_778, v1_51_0_626, v1_57_0_723, b51, v1_52_1_658, v1_51_0_622, v1_59_0_768, v1_59_0_769, v1_57_0_725, v1_57_0_726, v1_57_0_727, v1_57_0_720, v1_57_0_722, v1_57_1_744, v1_57_0_728, v1_57_0_729, v1_52_0_646, v1_57_0_736, v1_51_0_620, v1_52_0_644, v1_58_0_752, v1_58_0_750, v1_58_0_751, v1_58_0_756, v1_58_0_757, v1_58_0_754, v1_58_0_755, v1_58_0_759, v1_52_0_643, v1_57_0_719, v1_57_0_718, v1_56_0_716, v1_54_0_687, v1_56_0_710, v1_56_0_711, v1_56_1_717, v1_56_1_716, v1_51_0_634, v1_51_0_635, v1_51_0_636, v1_51_0_637, v1_54_0_688, v1_54_0_689, v1_51_0_632, v1_51_0_633, v1_54_0_684, v1_54_0_685, v1_53_0_664, v1_61_0_796, v1_61_0_797, v1_61_0_795, v1_52_0_647, v1_61_0_798, v1_61_0_799, v1_51_0_638, v1_52_0_648, v1_53_0_661, v1_53_0_663, v1_53_0_662, v1_53_0_665, v1_53_0_667, v1_53_0_666, v1_53_0_669, v1_53_0_668, v1_55_0_692, v1_55_0_693, v1_55_0_696, v1_55_0_697, v1_55_0_694, v1_55_0_695, v1_52_0_645, v1_52_0_651, v1_54_1_691, v1_52_0_650, v1_56_2_724, v1_56_2_722, v1_52_0_652, v1_55_1_697, v1_52_0_642, v1_52_0_654, v1_56_0_714, v1_53_0_672, v1_53_0_670, v1_63_0_818, v1_63_0_817, v1_63_0_816, v1_63_0_815, v1_51_1_640, v1_54_0_686, v1_51_0_618, v1_51_0_619, v1_54_0_680, v1_54_0_681, v1_62_0_805, v1_62_0_804, v1_62_0_807, v1_62_0_806, v1_56_0_712, v1_62_0_803, v1_62_0_802, v1_56_0_713, v1_62_0_809, v1_54_0_682, v1_56_0_721, v1_51_0_630, v1_54_0_683, v1_51_0_631, v1_60_0_780, v1_60_0_779, v1_62_0_810, v1_62_0_811, v1_58_0_747, v1_60_0_783, v1_54_0_679, v1_59_2_785, marged_bRESPOPUP, v1_54_0_675, v1_51_0_628, root-of-Bb51, v1_56_0_706, root-of-Bb53, v1_52_1_657, v1_54_0_674, v1_52_0_660, v1_60_1_793, v1_51_0_629, v1_54_0_690, v1_51_0_627, v1_58_0_763, v1_58_0_762, v1_58_0_761, v1_58_0_760, v1_51_0_625, v1_62_1_813, v1_51_0_623, v1_57_2_749, v1_57_0_742, v1_57_0_743, v1_57_0_740, v1_57_0_741, v1_52_0_655, v1_56_0_709, v1_57_0_744, v1_52_0_656, v1_56_0_708, v1_52_0_649, v1_61_0_800, v1_53_1_673, v1_56_0_699, v1_56_0_698, v1_51_0_624, v1_51_1_641, v1_51_0_621, v1_60_0_793, v1_60_0_792, v1_60_0_791, v1_60_0_790, v1_60_2_794, v1_61_1_801, HEAD
Branch point for: Bb57, Bb56, Bb55, Bb53, Bb52, Bb51, Bb62, Bb63, Bb60, Bb61, Bb59, Bb58, bRESPOPUP, bListSU, Bb54
Changes since 1.21: +10 -10 lines
File MIME type: text/x-pascal
・皈ヒ・蝪シ、ホノユ、アツリ、ィスェホサ

1 hi_ 1.1 unit Round;
2    
3     interface
4    
5     uses
6     Windows, Classes, Controls, Forms, StdCtrls, ComCtrls, Menus,
7 genyakun 1.16 SysUtils, ImgList, ExtCtrls, GikoSystem, GikoUtil;
8 hi_ 1.1
9     type
10     TRoundDialog = class(TForm)
11 h677 1.19 RoundPopupMenu: TPopupMenu;
12     C1: TMenuItem;
13     P1: TMenuItem;
14 hi_ 1.1 N1: TMenuItem;
15 h677 1.19 D1: TMenuItem;
16 hi_ 1.1 ItemIcon16: TImageList;
17 h677 1.19 Panel1: TPanel;
18     Label1: TLabel;
19     Label2: TLabel;
20     RoundNameComboBox: TComboBox;
21     Panel2: TPanel;
22     Panel3: TPanel;
23     AllSelectButton: TButton;
24     AllCancelButton: TButton;
25     RoundDeleteButton: TButton;
26     Panel4: TPanel;
27     Button1: TButton;
28     RoundButton: TButton;
29     StatusBar1: TStatusBar;
30     RoundListView: TListView;
31 hi_ 1.1 procedure RoundButtonClick(Sender: TObject);
32     procedure FormCreate(Sender: TObject);
33     procedure RoundListViewChange(Sender: TObject; Item: TListItem;
34     Change: TItemChange);
35     procedure AllSelectButtonClick(Sender: TObject);
36     procedure AllCancelButtonClick(Sender: TObject);
37     procedure RoundNameComboBoxChange(Sender: TObject);
38     procedure RoundDeleteButtonClick(Sender: TObject);
39 h677 1.20 procedure RoundListViewColumnClick(Sender: TObject;
40     Column: TListColumn);
41     procedure RoundListViewCompare(Sender: TObject; Item1,
42     Item2: TListItem; Data: Integer; var Compare: Integer);
43     procedure RoundListViewColumnRightClick(Sender: TObject;
44     Column: TListColumn; Point: TPoint);
45 hi_ 1.1 private
46     { Private ?ス?ス?ス?ス }
47 h677 1.20 FColumnToSort: Integer;
48     FSortOrder: Boolean;
49 hi_ 1.1 function GetRoundCount: Integer;
50     procedure SetRoundItem(RoundName: string);
51     function CompareTime(Time1: TDateTime; Time2: TDateTime; MarginMin: Integer): Boolean;
52     public
53     { Public ?ス?ス?ス?ス }
54     end;
55    
56    
57     implementation
58    
59     uses
60 h677 1.22 Giko, BoardGroup, RoundData, Math, GikoDataModule;
61 hi_ 1.1
62     {$R *.DFM}
63    
64     procedure TRoundDialog.RoundButtonClick(Sender: TObject);
65     var
66     i: Integer;
67     cnt: Integer;
68     msg: string;
69     Board: TBoard;
70     ThreadItem: TThreadItem;
71     RoundItem: TRoundItem;
72     begin
73 genyakun 1.16 {$IF Defined(FRCRND) }
74 h677 1.22 GikoDM.LoginAction.Checked := true; // ?ス?ス?ス?ス?ス?ス?ス?ス?スp?スr
75 genyakun 1.16 {$IFEND}
76    
77 h677 1.19 {$IFNDEF LOOSENUP} //?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス{$ELSE}?ス?ス?ス?ス?ス?ス?スg?ス?ス
78 h677 1.22 if not GikoDM.LoginAction.Checked then begin
79 h677 1.19 if GikoSys.Setting.UserID <> '' then begin
80     msg := '?ス?ス?スO?スC?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?スo?ス?ス?ス?ス?ス?ス?ス?ス' + #13#10
81     + '?ス?ス?ス?ス?スO?スC?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス';
82     if MsgBox(Handle, msg, '?スm?スF', MB_YESNO or MB_ICONQUESTION or MB_DEFBUTTON2) <> IDYES then begin
83     Exit;
84     end;
85 h677 1.22 GikoDM.LoginAction.Execute;
86 h677 1.19 end;
87 h677 1.22 if not GikoDM.LoginAction.Checked then begin
88 h677 1.19 msg := '?ス?ス?スO?スC?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?スo?ス?ス?ス?ス?ス?ス?ス?ス';
89     MsgBox(Handle, msg, '?スG?ス?ス?ス[', MB_OK or MB_ICONSTOP);
90     Exit;
91     end;
92     end;
93     {$ELSE}
94     //?スK?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?スA?スX?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス\
95 h677 1.22 if not GikoDM.LoginAction.Checked then begin
96 h677 1.19 if GikoSys.Setting.UserID <> '' then begin
97     msg := '?ス?ス?スO?スC?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?スX?ス?ス?スb?スh?ス?ス?ス?ス?ス?ス?ス?ス?スo?ス?ス?ス?ス?ス?ス?ス?ス' + #13#10
98     + '?ス?ス?ス?ス?スO?スC?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス';
99     if MsgBox(Handle, msg, '?スm?スF', MB_YESNO or MB_ICONQUESTION or MB_DEFBUTTON2) <> IDYES then begin
100     Exit;
101     end;
102 h677 1.22 GikoDM.LoginAction.Execute;
103 h677 1.19 end;
104     end;
105     //?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス15?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?スu?ス?ス?スK?スv?ス?ス?ス?ス?ス?ス
106 h677 1.22 if not GikoDM.LoginAction.Checked then begin
107 h677 1.19 if CompareTime(GikoForm.LastRoundTime, Now, 30) then begin
108     msg := '?ス?ス?スx?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?スR?スO?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?スo?ス?ス?ス?ス?ス?ス?ス?ス';
109     MsgBox(Handle, msg, '?スG?ス?ス?ス[', MB_OK or MB_ICONSTOP);
110     Exit;
111     end;
112     end;
113     {$ENDIF}
114    
115     //?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?スG?ス?ス?ス[?ス?ス?ス?ス?ス?ス
116 genyakun 1.17 cnt := GetRoundCount;
117 h677 1.19 if cnt = 0 then begin
118     msg := '?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?スP?ス?ス?ス?ス?ス?ス?ス`?スF?スb?スN?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス';
119     MsgBox(Handle, msg, '?スG?ス?ス?ス[', MB_OK or MB_ICONSTOP);
120     Exit;
121     end;
122    
123     {$IFNDEF LOOSENUP}
124     //?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?スP?スx?ス?ス100?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス
125 h677 1.22 if not GikoDM.LoginAction.Checked then begin
126 h677 1.19 if cnt > 100 then begin
127     msg := '?スP?スO?スO?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?スx?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス';
128     MsgBox(Handle, msg, '?スG?ス?ス?ス[', MB_OK or MB_ICONSTOP);
129     Exit;
130     end;
131 hi_ 1.1 end;
132 h677 1.19 {$ENDIF}
133 hi_ 1.1
134 h677 1.19 //?ス?ス?ス?ス?ス?ス?スo?ス^?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス
135 hi_ 1.1 for i := 0 to RoundList.Count[grtBoard] - 1 do begin
136     RoundItem := RoundList.Items[i, grtBoard];
137 h677 1.19 //?ス?ス?ス?ス?ス?ス?ス`?スF?スb?スN?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?スX?ス?ス?ス[
138 hi_ 1.1 if not RoundItem.BoolData then Continue;
139 h677 1.19 //?スm?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス`?スF?スb?スN
140 hi_ 1.1 if RoundItem.RoundType = grtBoard then begin
141 h677 1.18 Board := TBoard( RoundItem.Item );
142 h677 1.19 //Board?ス?ス?スI?スu?スW?スF?スN?スg?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?スADL?ス?ス?ス?ス
143 hi_ 1.1 if Board <> nil then begin
144     if not Board.IsThreadDatRead then
145     GikoSys.ReadSubjectFile(Board);
146     GikoForm.DownloadList(Board);
147     end;
148     end;
149     end;
150     for i := 0 to RoundList.Count[grtItem] - 1 do begin
151     RoundItem := RoundList.Items[i, grtItem];
152 h677 1.19 //?ス?ス?ス?ス?ス?ス?ス`?スF?スb?スN?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?スX?ス?ス?ス[
153 hi_ 1.1 if not RoundItem.BoolData then Continue;
154 h677 1.19 {$IFDEF LOOSENUP}
155     //?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?スX?ス?ス?スb?スh?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス
156 h677 1.22 if not GikoDM.LoginAction.Checked then begin
157 h677 1.19 msg := '?ス?ス?スO?スC?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?スX?ス?ス?スb?スh?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?スB';
158     MsgBox(Handle, msg, '?スG?ス?ス?ス[', MB_OK or MB_ICONSTOP);
159     break;
160     end;
161     {$ENDIF}
162     if RoundItem.RoundType = grtItem then begin
163     ThreadItem := TThreadItem( RoundItem.Item );
164 hi_ 1.1 if ThreadItem <> nil then begin
165     GikoForm.DownloadContent(ThreadItem);
166     end;
167     end;
168     end;
169 genyakun 1.17 GikoForm.LastRoundTime := Now;
170 hi_ 1.1 Close;
171     end;
172    
173     function TRoundDialog.GetRoundCount: Integer;
174     var
175     i: Integer;
176     RoundItem: TRoundItem;
177     begin
178     Result := 0;
179     for i := 0 to RoundList.Count[grtBoard] - 1 do begin
180     RoundItem := RoundList.Items[i, grtBoard];
181     if RoundItem.BoolData then
182     Result := Result + 1;
183     end;
184     for i := 0 to RoundList.Count[grtItem] - 1 do begin
185     RoundItem := RoundList.Items[i, grtItem];
186     if RoundItem.BoolData then
187     Result := Result + 1;
188     end;
189     end;
190    
191     function TRoundDialog.CompareTime(Time1: TDateTime; Time2: TDateTime; MarginMin: Integer): Boolean;
192     const
193     AMin: Double = (1 / 24 / 60);
194     var
195     d: TDateTime;
196     begin
197     d := Time1 + (AMin * MarginMin);
198     Result := Time2 < d;
199     end;
200    
201     procedure TRoundDialog.FormCreate(Sender: TObject);
202     var
203     i: Integer;
204     begin
205 h677 1.20 //?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?スf?ス[?ス^?ス?ス?スt?ス@?スC?ス?ス?スA?スE?スg?ス?ス?ス?ス
206     RoundList.SaveRoundFile;
207 hi_ 1.1 RoundNameComboBox.Items.Add('?スi?ス?ス?ス?ス?ス?ス?スj');
208     for i := 0 to RoundList.RoundNameList.Count - 1 do
209     RoundNameComboBox.Items.Add(RoundList.RoundNameList[i]);
210     for i := 0 to RoundList.Count[grtBoard] - 1 do
211     RoundList.Items[i, grtBoard].BoolData := False;
212     for i := 0 to RoundList.Count[grtItem] - 1 do
213     RoundList.Items[i, grtItem].BoolData := False;
214     RoundNameComboBox.ItemIndex := 0;
215     SetRoundItem('');
216     end;
217    
218     procedure TRoundDialog.RoundListViewChange(Sender: TObject;
219     Item: TListItem; Change: TItemChange);
220     var
221     RoundItem: TRoundItem;
222     begin
223     if TObject(Item.Data) is TRoundItem then begin
224     RoundItem := TRoundItem(Item.Data);
225     RoundItem.BoolData := Item.Checked;
226     end;
227     end;
228    
229     procedure TRoundDialog.AllSelectButtonClick(Sender: TObject);
230     var
231     i: Integer;
232     RoundItem: TRoundItem;
233     ListChangeEvent: TLVChangeEvent;
234     begin
235     ListChangeEvent := RoundListView.OnChange;
236     RoundListView.OnChange := nil;
237     try
238     for i := 0 to RoundListView.Items.Count - 1 do begin
239     if TObject(RoundListView.Items[i].Data) is TRoundItem then begin
240     RoundItem := TRoundItem(RoundListView.Items[i].Data);
241     RoundItem.BoolData := True;
242     RoundListView.Items[i].Checked := True;
243     end;
244     end;
245     finally
246     RoundListView.OnChange := ListChangeEvent;
247     end;
248     end;
249    
250     procedure TRoundDialog.AllCancelButtonClick(Sender: TObject);
251     var
252     i: Integer;
253     RoundItem: TRoundItem;
254     ListChangeEvent: TLVChangeEvent;
255     begin
256     ListChangeEvent := RoundListView.OnChange;
257     RoundListView.OnChange := nil;
258     try
259     for i := 0 to RoundListView.Items.Count - 1 do begin
260     if TObject(RoundListView.Items[i].Data) is TRoundItem then begin
261     RoundItem := TRoundItem(RoundListView.Items[i].Data);
262     RoundItem.BoolData := False;
263     RoundListView.Items[i].Checked := False;
264     end;
265     end;
266     finally
267     RoundListView.OnChange := ListChangeEvent;
268     end;
269     end;
270    
271     procedure TRoundDialog.RoundNameComboBoxChange(Sender: TObject);
272     begin
273 h677 1.20 //?スJ?ス?ス?ス?ス?ス?ス?ス\?ス[?スg?スL?ス?ス?スC?ス?ス?ス[?スW?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス
274     if FColumnToSort > -1 then
275 h677 1.21 RoundListView.Column[FColumnToSort].ImageIndex := -1;
276 h677 1.20 FColumnToSort := -1;
277 hi_ 1.1 if RoundNameComboBox.ItemIndex = 0 then
278     SetRoundItem('')
279     else
280     SetRoundItem(RoundNameComboBox.Items[RoundNameComboBox.itemIndex]);
281 h677 1.21
282 hi_ 1.1 end;
283    
284     procedure TRoundDialog.SetRoundItem(RoundName: string);
285     var
286     ListItem: TListItem;
287     i: Integer;
288     ListChangeEvent: TLVChangeEvent;
289     begin
290     ListChangeEvent := RoundListView.OnChange;
291     RoundListView.OnChange := nil;
292     try
293     RoundListView.Clear;
294 deux 1.7 for i := 0 to RoundList.Count[grtBoard] - 1 do begin
295 hi_ 1.1 if (RoundList.Items[i, grtBoard].RoundName = RoundName) or (RoundName = '') then begin
296     ListItem := RoundListView.Items.Add;
297     ListItem.Data := RoundList.Items[i, grtBoard];
298     ListItem.Caption := RoundList.Items[i, grtBoard].RoundName;
299     ListItem.SubItems.Add(RoundList.Items[i, grtBoard].BoardTitle);
300     ListItem.SubItems.Add('-');
301     ListItem.Checked := RoundList.Items[i, grtBoard].BoolData;
302     ListItem.ImageIndex := 0;
303     end;
304     end;
305 deux 1.7 for i := 0 to RoundList.Count[grtItem] - 1 do begin
306 hi_ 1.1 if (RoundList.Items[i, grtItem].RoundName = RoundName) or (RoundName = '') then begin
307     ListItem := RoundListView.Items.Add;
308     ListItem.Data := RoundList.Items[i, grtItem];
309     ListItem.Caption := RoundList.Items[i, grtItem].RoundName;
310     ListItem.SubItems.Add(RoundList.Items[i, grtItem].BoardTitle);
311     ListItem.SubItems.Add(RoundList.Items[i, grtItem].ThreadTitle);
312     ListItem.Checked := RoundList.Items[i, grtItem].BoolData;
313     ListItem.ImageIndex := 1;
314     end;
315     end;
316     finally
317     RoundListView.OnChange := ListChangeEvent;
318     end;
319     end;
320    
321     procedure TRoundDialog.RoundDeleteButtonClick(Sender: TObject);
322     var
323 h677 1.8 // Board: TBoard;
324     // ThreadItem: TThreadItem;
325 hi_ 1.1 RoundItem: TRoundItem;
326     ListChangeEvent: TLVChangeEvent;
327     begin
328     ListChangeEvent := RoundListView.OnChange;
329     RoundListView.OnChange := nil;
330     try
331     if RoundListView.Selected = nil then
332     Exit;
333     if TObject(RoundListView.Selected.Data) is TRoundItem then begin
334     RoundItem := TRoundItem(RoundListView.Selected.Data);
335 h677 1.18 if( RoundItem.Item is TBoard ) then begin
336     TBoard(RoundItem.Item).Round := false;
337     end else if( RoundItem.Item is TThreadItem ) then begin
338     TThreadItem(RoundItem.Item).Round := false;
339     end;
340     //RoundList.Delete(RoundItem.URL,RoundItem.RoundType);
341 h677 1.20 {
342 hi_ 1.1 if RoundItem.RoundType = grtBoard then begin
343 h677 1.4 //Board := TBoard( RoundItem.Item );
344     RoundList.Delete(RoundItem.URL,RoundItem.RoundType);
345 hi_ 1.1 Board.Round := False;
346     Board.RoundName := '';
347     end else begin
348 h677 1.4 //ThreadItem := TThreadItem( RoundItem.Item );
349 hi_ 1.1 RoundList.Delete(ThreadItem);
350     ThreadItem.Round := False;
351     ThreadItem.RoundName := '';
352     end;
353 h677 1.20 }
354 hi_ 1.1 GikoForm.ListView.Refresh;
355     end;
356     RoundListView.Selected.Delete;
357     finally
358     RoundListView.OnChange := ListChangeEvent;
359     end;
360     end;
361    
362 h677 1.20 procedure TRoundDialog.RoundListViewColumnClick(Sender: TObject;
363     Column: TListColumn);
364     begin
365 h677 1.21 if (Sender is TCustomListView) then begin
366 h677 1.20
367 h677 1.21 if FColumnToSort > -1 then
368     (Sender as TCustomListView).Column[FColumnToSort].ImageIndex := -1;
369 h677 1.20
370 h677 1.21 if FColumnToSort = Column.Index then
371     FSortOrder := not FSortOrder
372     else
373     FSortOrder := false;
374    
375     if FSortOrder then
376     Column.ImageIndex := 3
377     else
378     Column.ImageIndex := 2;
379 h677 1.20
380 h677 1.21 FColumnToSort := Column.Index;
381     (Sender as TCustomListView).AlphaSort;
382     end;
383 h677 1.20 end;
384    
385     procedure TRoundDialog.RoundListViewCompare(Sender: TObject; Item1,
386     Item2: TListItem; Data: Integer; var Compare: Integer);
387     var
388     ix: Integer;
389     begin
390     if FColumnToSort = 0 then begin
391     if not FSortOrder then begin
392     Compare := CompareText(Item1.Caption,Item2.Caption);
393     if Compare = 0 then
394     Compare := CompareValue(Item1.ImageIndex, item2.ImageIndex);
395     end else begin
396     Compare := -CompareText(Item1.Caption,Item2.Caption);
397     if Compare = 0 then
398     Compare := -CompareValue(Item1.ImageIndex,item2.ImageIndex);
399     end;
400     end else begin
401     ix := FColumnToSort - 1;
402     if not FSortOrder then begin
403     Compare := CompareText(Item1.SubItems[ix],Item2.SubItems[ix]);
404     if Compare = 0 then
405     Compare := CompareValue(Item1.ImageIndex, item2.ImageIndex);
406     end else begin
407     Compare := -CompareText(Item1.SubItems[ix],Item2.SubItems[ix]);
408     if Compare = 0 then
409     Compare := -CompareValue(Item1.ImageIndex, item2.ImageIndex);
410     end;
411     end;
412     end;
413     (*
414     * ?スJ?ス?ス?ス?ス?ス?ス?ス?ス?スE?スN?ス?ス?スb?スN?ス?ス?ス?ス?ス?ス?ス\?ス[?スg?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス
415     *)
416     procedure TRoundDialog.RoundListViewColumnRightClick(Sender: TObject;
417     Column: TListColumn; Point: TPoint);
418     begin
419     RoundNameComboBox.OnChange(Sender);
420     end;
421    
422 hi_ 1.1 end.

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